- ディスクイメージの作成
dd if=/dev/hdb of=/root/hdd.img bs=512 obs=1024k count=488397168 conv=sync,noerror
obsは出力する単位で、こちらはバッファリングするだけですので大きな値にすると高速化できるそうです。
countは後述するnoerrorで終端が無効になって無限ループするのを防ぐために指定します。countはbs単位です。countの値はdmesgやfdisk -luなどの出力などを見てハードディスク全体の長さになるよう決めます。
convはオプションでsyncは読み込めないセクタがあってもヌルパディングしてデータの位置を保持する、noerrorはエラーがあっても無視して続けることをそれぞれ表しています。- ディスクイメージのoffsetの調査
losetup -f #使われていないloopデバイスを調べる
losetup /dev/loop0 /root/hdd.img #イメージをマウントする
fdisk -lu /dev/loop0 #セクタ単位でパーティションの位置を確認する
losetup -d /dev/loop0 #アンマウント- パーティションのマウント
mount /root/hdd.img /mnt/ntfs -t ntfs -o ro,loop,offset=32256,nls=utf8
offsetが重要でパーティションの開始位置をバイト単位で指定します。パーティションの開始位置とはセクタサイズ512byteのハードディスクの場合、fdisk -luで出てくるStartにセクタサイズの512をかけた値になります(今回は32256=512*63)。
ntfsパーティションをマウントする場合はnls=utf8を指定しないと日本語ファイルがLinuxから見えなくなります。utf8の指定方法にはiocharset=utf8とする方法や、-oとは別に-utfする方法がありますが、いずれも現在は推奨されずnlsを使うのが良いようです。
losetupしてからmountしても同じ事ができますlosetup /dev/loop0 /root/hdd.img --offset=32256
mount /dev/loop0 /mnt/ntfs -t ntfs -o ro,loop,nls=utf8
参照:ハードディスクイメージのマウント
0 件のコメント:
コメントを投稿