それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

WindowsのUSBメモリを文字化けさせずにLinuxでマウントする。(win FAT32のlinux mount codepage)

Windowsでフォーマットして使ってたUSBメモリやUSBハードディスクをUbuntu(Linux)で使おうとすると、文字化けすることがある。GUIでやっていると、自動変換してくれるので気づかないが、コマンド(cui)から使うと文字化けしてびっくりすることがある。

WindowsUSBメモリをマウントする

例1

sudo mount -o iocharset=utf8,ro /dev/sdc1 /media/sdcard 

例2

sudo mount -o codepage=932,iocharset=utf8,ro /dev/sdc1 /media/sdcard 

補足

オプション 説明
-o マウントオプションを指定する、オプションが複数ならば"," で区切る
codepage=932 (任意)codepage=932はcp932のこと、
cp932はms932とも呼ぶ。Windows文字コードです。
iocharset=utf8 Bash文字コード、文字化けするときは明示する。
ro (任意)read only


コピーするとatime (アクセスタイム)が更新されるおそれがあるので、ro(read only )でマウントするとベター

iocharsetとは、ls コマンドの実行時に渡す文字コード

通常、化けているときは、codepageよりiocharsetでlinuxシェル側に変換して見せることを優先する

cp932 codepage=932は?

無くても自動で認識したりする。

2023-06-23

若干記述を変更