USBメモリはfat32やntfsでフォーマットされていることが多いが, gitなどでロングネームファイルや大文字小文字を区別するファイルを管理したいときは, ext3でフォーマットしたい. 以下, USBメモリが/dev/sdbに接続されていると仮定して, USBメモリのフォーマット方法を述べる.
メモリのパーティション作成
sudo cfdisk /dev/sdb
とする. このときに/deb/sdb がUSBメモリに対応しているかを確認すること. USBメモリを刺したときに dmesg を使えば, USBメモリがどのデバイスと対応しているかを確認することができる. windowsと共用するときは, fat32(LBA) と ext3/ext4 の二つのパーティションを作ればよいだろう. なお, fat32のパーティションを作成するときは, 最初のパーティションに作ること. これは, windowsではusbメモリの最初のパーティションしか認識しないため. 以下, /dev/sdb2にext3のパーティションを作ったとする.
ext3フォーマット
sudo mkfs.ext3 /dev/sdb2
とすればよい.
sudo mkfs.ext3 -L hogehoge /dev/sdb2
を加えれば, ボリュームラベル hogehoge を付加できる. USBごとにボリュームラベルを変えておくとマウントするときにボリュームラベルで区別ができて便利.
user/groupの設定
このままだと, マウントしてもrootしか読み書きができないので不便. /media/disk/にマウントしたとして
sudo mkdir /media/disk/hogehoge
sudo chown USERNAME.USERGROUP /media/disk/hogehoge
として, hogehogeディレクトリを作成し, 所有者をUSERNAME, グループをUSERGROUPにする. USERNAMEやUSERGROUPを一般ユーザの名前とグループにすれば, 一般ユーザでも読み書きできる.
余談
この作業をするときは心を落ち着けて, きちんと確認をしながら作業をすること. ミスってdual bootのwindowsパーティションや回復パーティションをフォーマットしないように... 先人のミスから学んでいただければありがたい...