vfat mountingで日本語ファイル名を扱う


さて、ここで vfat パーティション(FAT32)mount についてお話しようと思います。 vfat だからといって、他の linux パーティションの mount と何ら変わりありません。 英語だけを使っている人なら、何を変なことを言うのかといわれそうですが、こうして日本語を使っているということは、当然 Windows も日本語版を使っているわけで、ここで Windows linux の日本語コードの違いの問題が出てくるわけです。 ご存知のように Windows SJIS (この頃はユニコードになってきているようですが)、linux EUC コードを使っているため、ファイルの中で使う分には問題ないのですが、ファイル名が化けてしまいます。 日本語の名前のついたファイルは、まったく読み書きできません。 反対に、linux 側から日本語名でファイル名をつけると今度は Windows の中でアクセスできなくなります。 実は、mount コマンドのオプションにこの変換をしてくれるものがあるのですが、マニュアルは英語のマニュアルをそのまま訳しているだけなのでこの辺の説明が一切ありません。 Redhat のインストールマニュアルにもこの辺のことは触れられていないので、悩んでいる人が多いのではないかと思います。 前置きはこれぐらいにして、実際どうやるのかを説明します。

/etc/fstab

/dev/hd* /mnt/win vfat codepage=932,iocharset=utf8,uid=500,gid=500 0 0

の一行を書き加えてください。

コマンドラインから直接マウントしたいときは、

mount -t vfat -o codepage=932,iocharset=utf8,uid=500,gid=500 /dev/hd* /mnt/win

としてください。

hd* と マウントポイントは適宜自分の環境に合わせて下さい。

また、iocharset は自分のマシンに合わせて下さい。 Fedora (RH9?)は、デフォルトでutf8になっていますが、以前のバージョンでは、euc-jp です。 uidgid はなくても結構ですが、マウントした後は root でしか使えなくなってしまうので、私のような個人ユーザの場合は入れておくと便利でしょう。 数値を自分に合わせるのはもちろんです。 蛇足ですが、オプションの間に、スペースは入れないようにしましょう。

戻る

更新日:11/19/2006 15:57:57