・NTFS パーティションを起動時に mount する


ひとつのマシンに Windows と Linux が共存している環境で、Windows のパーティションを Linux から読みにいく方法です。

以下の例は、Windows パーティションが /dev/hda1 マウント先が /mnt/win の場合。

基本は
#mount -t ntfs /dev/hda1 /mnt/win    ...(1)

でマウントできる。

ただし、カーネルのオプションで NTFS を読めるようにしておかないと当然ダメです。カーネル組み込みでも、モジュールでもいいので FileSystem->NTFS を有効にしてください。

しかしこれには、
Windows パーティション中にある日本語ファイル名のファイルを認識できない。
という問題があります。

この問題を解決するのが mount の iocharset オプションです。ファイル名を変換する際に用いる文字コードを指定してやります。
#mount -t ntfs -o iocharset=euc-jp /dev/hda1 /mnt/win   ...(2)

これもカーネルのオプションによって左右されます。
FileSystem->Native Language Support->Japanese Charset を有効にしないと mount 時に怒られます。

また、このままマウントすると root しか読み書きできないので、umask オプションを使って、NTFS をマウントしたディレクトリのパーミッションを変えてやります。
Linux はまだ NTFS の書き込みに対応していない(正確には対応しているんだけど、 dagerous って書かれたら使う気にならん・・・)ので、マウントする時点でパーミッションを変えておかないと、あとからは変更できません。

よってマウントするときのコマンドは

#mount -t ntfs -o iocharset=euc-jp,umask=0222 /dev/hda1 /mnt/win  ...(3)

という記述になります。-o はファイルシステム固有のオプションを引数にとりますが、
引数が複数個ある場合は、カンマを区切りにします。


以上のことを、Linux 起動時に行うには /etc/fstab に記述すればできます。

fstab に 
/dev/hda1 /mnt/win ntfs iocharset=euc-jp,umask=222 1 0
と書いてやれば OK です。