web-dev-qa-db-ja.com

ddrescueによってレスキューされた完全なディスクイメージのマウント

Linuxでddrescueを使用して完全なNTFSディスクを回復しました。問題は、パーティション(sdX#)をレスキューしただけでなく、パーティションテーブルを備えた完全なディスク(sdX)をレスキューしたことです。

ディスクパーティションをループバックデバイスとしてマウントするのは本当に簡単ですが、同じ方法で完全なディスクイメージのパーティションをマウントする方法はありますか?イメージを別のディスクに書き込むことはできますが、必要ないと思います。

7
bayindirh

ドライブ全体をイメージした場合は、mountコマンドでoffsetオプションを使用できます。 mmls( Sleuth Kit から)は画像内のパーティションを表示できます

$ mmls image -b
DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors

     Slot    Start        End          Length       Size    Description
00:  -----   0000000000   0000000000   0000000001   0512B   Primary Table (#0)
01:  -----   0000000001   0000000031   0000000031   0015K   Unallocated
02:  00:01   0000000032   0001646591   0001646560   0803M   DOS FAT16 (0x06)
03:  00:00   0001646592   0002013183   0000366592   0179M   DOS FAT16 (0x06)

ブロック32から始まるDOSパーティションをマウントします。

Sudo mount -o loop,offset=16384 image mnt

(32に512バイトのブロックを掛けたもの= 16384)

Windowsで作成された一般的なNTFSパーティションをマウントするには、次を使用します。

Sudo mount -t ntfs -o r,force,loop,offset=32256 image mnt

(63×512バイトブロック= 32256)

8
Kristaps

別の解決策は、losetupを使用してイメージをブロックデバイスにマップし、次にkpartxを使用してループバックデバイスをスキャンし、各パーティションのブロックデバイスを作成して、それらをマウントすることです。 (未テスト)のようなもの

losetup /device/loop0 /path/to/file.img
kpartx /dev/loop0
mount /device/mapper/loop0p1 /mntpath
2
davidgo