LinuxでNTFSのHDDをマウントする
LinuxにNTFSフォーマットの外付けHDDをマウントしようとしたところ、ファイルの読み込みはできても、ファイルの書き込みができませんでした。どうやら標準のカーネルでは無理なようです。そこでntfs-3gというものを使って解決しました。
まずは入手。DebianとかUbuntuなら次のコマンドだけでインストールできます。
apt-get install ntfs-3g
そしてマウント。ここでのポイントは、ファイルのタイプとエンコードをしっかり指定してやることです。ntfs-3gでは、エンコードが合っていないファイルは文字化けするのではなく、そもそも表示されません。エンコードを指定するのを忘れないでください。
また、このファイルの管理者(uid,gid)とファイル権限(umask)を指定することも大切です。以下のコマンドからuid、gid、umaskの項目を外してマウントすれば分かりますが、ファイルの所有者や権限は固定です。これはchownやchmodといったコマンドでは修正できないようです。私の場合、ファイルの所有者はrootユーザー、ファイルの権限は777になっていました。しょうがないのでマウントするときにユーザー名(uid)とグループ名(gid)、さらにはファイル権限の制限(umask)も設定してしまいましょう。user1、group1の部分は自分で適当なユーザー名とグループ名に変更してください。
sudo mount -t ntfs-3g -o iocharset=UTF8,uid=user1,gid=group1,umask=022 /dev/sdb1 /mnt/share
上記のようにすればとりあえず利用できますが、あらかじめこれを登録しておいて、簡単にマウントできるようにしたい人は、/etc/fstabに次の一行を加えてください。
/dev/sdb1 /home/share/usb ntfs-3g defaults,iocharset=UTF-8,uid=user1,gid=group1,umask=022 0 2