2008年7月5日土曜日

Linuxでiso9660ディスクイメージのマウント

ディスクイメージをそのままマウントするのは、Windowsだと仮想ドライブソフトを使わなきゃできませんが、LinuxのカーネルVer 2.4以降はISO9660フォーマットのディスクイメージをmountコマンドで普通にマウントできます。

root権限(Ubuntuとかなら、sudoで)でこんな感じで出来ます。マウントポイントはそれぞれの環境に合わせて変えましょう。
# mount -t iso9660 -o loop [isoファイル].iso /media/cdrom0/
アンマウントする時も普通にumountコマンドを使います。
$ umount [マウントしたisoファイル].iso

ただし、isoファイル内に日本語(2バイト文字)がある場合は、このままでは文字化けするのでオプションで文字コードを変換してやらなきゃいけません。
例えば、Shift-JISエンコードのファイル名を含んでいるイメージをUTF8環境でマウントするなら、mountコマンドの-oオプションにiocharsetを付け足します。
# mount -t iso9660 -o loop,iocharset=sjis,utf8 [isoファイル].iso /media/cdrom0/
これで、ファイル名をShift-JISからUTF8に変換して表示してくれます。

GNOMEデスクトップ環境でnautilusを使っている人は、nautilus-mount-imageというスクリプトのプラグインを導入するとisoファイルのコンテキストメニューからマウントできるようになります。

Nautilus scripts - http://mundogeek.net/nautilus-scripts/#nautilus-mount-image

ただしこのスクリプトは日本語文字コードの変換をしてくれませんので、注意です。

0 件のコメント: