次のコマンドを使用して、Raw(dd)形式でディスクイメージをマウントしようとしているとき
mount nps-2010-emails.dd /media/manu/
次のエラーメッセージが表示されます
mount: you must specify the filesystem type
-t
を使用すると、ファイルシステムを指定できますが、マウントコマンドに引数として渡すことができるRAW(dd)ファイルの用語は何ですか。このファイルシステムをマウントする私の方法が間違っている場合、同じことをするのを手伝ってください。
$ file -s nps-2010-emails.dd
nps-2010-emails.dd: x86 boot sector;
partition 1: ID=0xb, starthead 254, startsector 1, 20479 sectors, extended partition table (last)\011, code offset 0x0
$ fdisk -l nps-2010-emails.dd
Disk nps-2010-emails.dd: 10 MB, 10485760 bytes
255 heads, 63 sectors/track, 1 cylinders, total 20480 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
nps-2010-emails.dd1 1 20479 10239+ b W95 FAT32
http://major.io/2010/12/14/mounting-a-raw-partition-file-made-with-dd-or-dd_rescue-in-linux/ から、提案がありますオフセットを使用します。最初にfdisk(8)
でオフセットを取得してから、offset
のmount
オプションでオフセットを指定します。 fdisk
を使用して、パーティションの開始セクターとセクターサイズを決定します。次に、開始セクター番号とバイト単位のセクターサイズを使用して、バイト単位でオフセットを計算します。例については、 ディスク全体(デバイス)のイメージから単一パーティションをマウントする を参照してください。最後に:
mount -o offset=<offset in bytes> nps-2010-emails.dd /media/manu/
典型的なハードディスクでは、データを保持するセルはグループ化されています。グループ化はセクターと呼ばれます。通常の分割方法では、最初のいくつかのセクターは、パーティションに関する情報を提供するために確保されており、ギャップがあります。したがって、ディスク全体のイメージがある場合、これらのセクターも含まれます。現在、パーティションは最初のバイトから開始しないため、mount
コマンドは最初のバイトから直接開始できません。したがって、mount
をスキップするバイト数を指定して(余分な情報を回避できるように)、実際のパーティションに到達する必要があります。これはオフセットと呼ばれます。これで、各セクターは特定の量の情報をバイト単位で保存できるようになり、これをセクターのサイズと呼びます。セクターのサイズにセクター数のギャップのサイズを掛けることで、このギャップに格納できる情報の合計サイズを取得します。
fdisk
の出力から、セクターサイズが512バイトであり、セクター1から始まることがわかります。したがって、オフセットは1 * 512 = 512です。次のコマンドを試してください。
mount -t vfat -o offset=512 ps-2010-emails.dd /media/manu/
fdisk
がFAT32として指定したため、ファイルシステムタイプを追加しました。書き込み用にもマウントするには、代わりに-o offset=512,rw
を使用します。
here のように、コンピューターにダンプ内のすべてのパーティションを自動的にスキャンさせ、すべてのループデバイスを自動的に準備させることもできます。
したがって、/dev/sda
全体をsda.img
と呼ばれるものにダンプしたとしましょう。次のようにパーティションにアクセスできます。
losetup -f -P sda.img
私のシステムでは、次のように表示されます。
非GUI環境では、作成したデバイスをlosetup -l
でリストできます。これにより、ループデバイスの名前がわかります。例:
# losetup -l
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0 0 0 0 0 /path/mmcblk0
次に、最初のパーティションを次のようにマウントできます。
mount /dev/loop0p1 /mnt/mypartition
お役に立てば幸いです。
評判がないためコメントを追加することはできませんが、GPTディスクを持っている人にfdiskでテストする場合、代わりにgdsikを使用して開始セクターを取得し、適切なオフセットをカウントします。助けてくれました。
fdisk -l
から:
Device Boot Start End Blocks Id System
vm2080737.bak1 * 1 3901 31457279+ ee GPT
そして、エラー「マウント:ファイルシステムタイプを指定する必要があります」で512オフセットでマウントできませんでした
gdisk -l
は私に良い結果を与えました:
Number Start (sector) End (sector) Size Code Name
1 34 545 256.0 KiB A501 gpboot
2 546 993825 485.0 MiB A502 swap
3 993826 62914526 29.5 GiB A503 rootfs