• ベストアンサー
  • すぐに回答を!

ハードディスクのマウントで文字化けする

Debian 4.0 etch(localesパッケージにてUTF-8環境に変更済み)を利用しています。 USB外付けハードディスク(vfat)のマウント時に、日本語ファイル名が文字化けしてしまいます。 また、mountオプションにiocharset=utf8を指定すると以下のように怒られてしまいます。 # echo $LANG ja_JP.UTF-8 # mount -t vfat /dev/sda2 /mnt/sda2 -o codepage=932 # ls /mnt/sda2 ????/ ???[?????Y/ ?f???E?h???}/ ???ʃA?j??/ ???l??/ ?l?^/ ???ʃQ?[??/ ???l?\?t?g/ # umount /dev/sda2 # mount -t vfat /dev/sda2 /mnt/sda2 -o codepage=932,iocharset=utf8 mount: wrong fs type, bad option, bad superblock on /dev/sda2, missing codepage or other error In some cases useful info is found in syslog - try dmesg | tail or so # dmesg | tail MSDOS FS: Using codepage 932 MSDOS FS: IO charset utf8 usb-storage: task-switchin usb-storage: task-switchin FAT: freeing iocharset=utf8 MSDOS FS: Using codepage 932 MSDOS FS: IO charset utf8 usb-storage: task-switchin usb-storage: task-switchin FAT: freeing iocharset=utf8 どのようにすれば日本語ファイル名が文字化けせずにマウントする事が出来るでしょうか。

共感・応援の気持ちを伝えよう!

  • Linux系OS
  • 回答数3
  • 閲覧数2476
  • ありがとう数6

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.3
  • Tacosan
  • ベストアンサー率23% (3656/15482)

いや, 最初に mount -t vfat /dev/sda2 /mnt/sda2 -o codepage=932 でマウントできているので「フォーマットの問題」ではないような気がします>#2. とりあえず気になるのは ・codepage の指定って必要なんだろうか? ・iocharset=utf8 じゃなくて単に utf8 としたらどうなるんだろうか? くらい.

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。 # mount /dev/sda2 /mnt/sda2 -o utf8 で無事解決する事が出来ました。

その他の回答 (2)

  • 回答No.2

すみません。さきほど回答したものですが、はやとちりです。 mount /dev/sda2 /mnt/sda2 -o codepage=932,iocharset=utf8 でマウントした場合はどうなるでしょうか? mount: wrong fs type, bad option, bad superblock on /dev/scd0, のエラーが出てますので、/dev/sda2はvfatでない可能性があります。 fdisk /dev/sda -l してフォーマットをいまいちど確認してみるといいかもです。

共感・感謝の気持ちを伝えよう!

質問者からの補足

ご回答ありがとうございます。ご指摘にもありました通り # mount /dev/sda2 /mnt/sda2 -o codepage=932,iocharset=utf8 実行したところ、質問文と同じく「wrong fs type, bad option~」と表示されてしまいます。 また、 # dmesg|tail usb-storage: task-switchin MSDOS FS: Using codepage 932 MSDOS FS: IO charset utf8 usb-storage: task-switchin usb-storage: task-switchin FAT: freeing iocharset=utf8 となっており、 # fdisk /dev/sda -l Disk /dev/sda: 255 heads, 63 sectors, 182401 cylinders Units = cylinders of 16065 * 512 bytes   Device Boot  Start    End  Blocks  Id System /dev/sda1       1   63742 512000000  b Win95 FAT32 Partition 1 does not end on cylinder boundary:    phys=(1023, 45, 48) should be (1023, 254, 63) /dev/sda2     63742  127483 512000000  c Win95 FAT32 (LBA) Partition 2 does not end on cylinder boundary:    phys=(1023, 59, 1) should be (1023, 254, 63) /dev/sda3    127483  182402 441135104  7 HPFS/NTFS Partition 3 does not end on cylinder boundary:    phys=(1023, 3, 2) should be (1023, 254, 63) といった感じになっています。

  • 回答No.1

mount -t vfat /dev/sda2 /mnt/sda2 -o codepage=932,iocharset=utf8 でマウントしてみてはどうでしょうか?

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • USBフラッシュメモリのマウント

    USBフラッシュメモリのマウントをしたのですが、 スペシャルデバイス /dev/sda が存在しませんと出たのですが、 どういうことなんでしょうか? よろしくお願いします。 # mkdir /mnt/usbfm # mount -t vfat /dev/sda /mnt/usbfm mount: スペシャルデバイス /dev/sda が存在しません。

  • fat32でフォーマットしたドライブがマウントできません。

    mount -t vfat /dev/hdc /mnt/common2 mount: wrong fs type, bad option, bad superblock on /dev/hdc, missing codepage or other error In some cases useful info is found in syslog - try dmesg | tail or so

  • plamo linux でのハードディスクの増設

    plamo linux 4.02 ですが、ハードディスクの増設をしました。しかし、認識のさせ方がわかりません。一応、新しい HD は USB 対応で、/dev/sda1 です。 [/etc/fstab] /dev/hda5 swap swap defaults 0 0 /dev/hda2 / ext3 defaults 1 1 /dev/hda3 / ext3 defaults 1 2 /dev/hda1 /win1 vfat iocharset=euc-jp,codepage=932 0 0 /dev/sda1 /win2 vfat iocharset=euc-jp,codepage=932 0 0 /dev/cdrom /cdrom iso9660 user,ro,noauto,exec,iocharset=euc-jp,codepage=932 0 0 none /proc proc defaults 0 0 none /dev/pts devpts gid=5,mode=620 0 0 none /proc/bus/usb usbfs noauto 0 0 色々、インターネット、過去ログを調べたのですがわかりませんでした。 では、よろしくお願い致します。

  • USBデバイスのマウントについて

    FedoraCore3を使用しております。 USBデバイスのマウントが出来ずに困っています。 ELECOMのMRーDU2A7SVというカードリーダーライターを使っています。 http://www2.elecom.co.jp/peripheral/memory-rw/mr-du2a7/index.asp dmesgコマンドで確認してみるとデバイス認識はしているようなのですが。。。 scsi3 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 5 usb-storage: waiting for device to settle before scanning Vendor: GENERIC Model: USB Storage-CFC Rev: 016A Type: Direct-Access ANSI SCSI revision: 00 Attached scsi removable disk sda at scsi3, channel 0, id 0, lun 0 [root@localhost ~]# mount -t vfat /dev/sda /mnt/usbfmとすると次のようなメッセージになります。 mount: メディアが見つかりません リーダーライターにはSDカードが挿してあります。 他のメデイアはないので試していません。 同じ作業でUSBのフラッシュメモリは認識できました。 どうすれば認識できるようになるのでしょうか? よろしくお願いします。

  • USB外付けHDDの自動マウントのオプション設定

    USB外付けHDD(fst32フォーマット)が自動マウントされているのですが、マウントオプション(shortname=winnt)を追加したいと思っています。 /etc/fstabを見ると、そのHDDに関する行は次のようになっていました。 /dev/sda1 /media/HD-LBU2 vfat pamconsole,exec,noauto,iocharset=utf8,managed 0 0 そこで、fstabをviで編集して、 /dev/sda1 /media/HD-LBU2 vfat pamconsole,exec,noauto,iocharset=utf8,shortname=winnt,managed 0 0 としましたが、再起動すると元に戻っています。 どうすれば、自動マウント時のオプションを追加することが出来るのでしょうか?

  • knoppix(クノーピクス)でのUSBフラッシュメモリのマウント

    コンピュータ関連のことなのですが、knoppixのEdu5を起動後USBフラッシュメモリを接続し、右クリックからマウントしようとしても エラー:mount:noneが指定されましたがファイルシステムタイプを決定できません というメッセージがでてマウントされません。 その後シェルから $ sudo -s # mount -o rw -t vfat /dev/sda /mnt/sda と入力すると/mnt/sdaにマウントされるのですが、ファイルの変更ができません(書き込めません)。 書き込みができる状態でのマウント方法を教えてください。

  • USBフラッシュメモリがマウントできない

    RedHat9を使用しています。 USBフラッシュメモリをマウントしようとしています。Googleやこの「教えて!goo」で検索したところ、 # mkdir /mnt/usbfm # mount -f vfat /dev/sda /nmt/usbfm でマウントできるという事を知りました。しかし、/dev/sdaは環境によって様々なので、マウント先を変える必要性があることは認識しています。 以下の2点で調べてみました。 1) dmesg hub.c: new USB device 00:1d.7-4 assigned address 6 WARNING: USB Mass Strage data integrity not assured USB Mass Strage device found at 6 どこにマウント先の記述があるかわかりません・・・ 2) tail -f /var/log/messages 日時 localhost /etc/hotplug/usb.agent: Setup usb-storage for USB product d7d/1600/100 日時 localhost devlabel: devlabel service started/restarted という表示でこちらもどこにマウント先の記述があるのか・・・? USBフラッシュメモリもFAT32でフォーマットされています。もしかして、USBが正しく認識していないのでは?と思ったりしていますが、メッセージにはそれらしい物が出ていますし。 一応、/dev/sdaや/dev/sda1,sda2,sdbなど試しました。 初心者で申し訳ありませんが、ご存知の方ご教授お願いします。

  • USBメモリの抜き差し

    CentOS3.8を使用しています。 USBの抜き差しを以下のコマンドで行っています。(CFカードリーダの読み込みに使用しています。) mount -t vfat /dev/sda1 /mnt/flash umount/mnt/flash unmountをするとき、1回目は問題ないのですが、 2回目以降、USBを差し込むと「/dev/sda1は正常なブロックデバイスではありません」とエラーになってしまいます。 dmesgを見ると以下のようなエラーがでていました。sdbが使えるときもありますが、3回目はだめです。外すときにumount以外に何かやる必要があるのでしょうか? sda:test WP failed assume Write Enabled sda:I/O error; dev 08:00, sector 0 unable to read partition table

  • パーティションをマウントできません

    ext4パーティションをWindows XPにてExt2Fsdというソフトで読み書きしていたところ、Linux(Ubuntu 9.10)でそのパーティションがマウントできなくなりました。 Windows XPではExt2Fsdを自動起動するよう設定しており、今でも支障なく読み書きできています。 下記のメッセージです。 直りませんでしょうか。 # mount -t ext4 /dev/sdb1 /mnt/sdb1 mount: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or s dmesgの内容 [ 3678.676297] EXT3-fs: sdb1: couldn't mount because of unsupported optional features (240). なお、mountコマンドの-tオプションをext3やext2にしてみましたが同じ結果でした。 2010年1月28日

  • マウント関数について

    こんばんは。 linux初心者で困っています。助けてください。 USBのマウントの方法でわからないことがあります。 組み込みなので、コマンドではなくて、mount関数でUSBをマウントしたく、 下記の関数を使おうとおもっているのですが、 #include <sys/mount.h> int mount(constchar* source ,constchar* target , constchar* filesystemtype ,unsignedlong mountflags , constvoid* data ); それぞれの引数に具体的にどんな値を設定していいのかわかりません。 ( mount(/dev/sda1,/mnt/usb/,vfat,MS_RDONLY)とやってみたらエラーでした・・・) 具体的な設定方法をご教授願います。 また、そもそもmount関数ではなく、system関数でコマンドを実行した方がいいのでしょうか? よろしくお願い致します。