ddrescueディスクイメージを分割して再利用するには?

ddrescueディスクイメージを分割して再利用するには?

500GBの外付けハードドライブがあり、その内容を救出する必要があります。残念ながら、コンテンツを保存できる400GBのパーティションが2つしかありません。ディスクイメージを次のように分割できます。

~$ cd /mnt/part1/Recovery/
/mnt/part1/Recovery/$ ddrescue -f -n -i0 -s250...00 /dev/disk disk.part1.ddraw disk.part1.log
/mnt/part1/Recovery/$ cd /mnt/part2/Recovery/
/mnt/part2/Recovery/$ ddrescue -f -n -i250...00 /dev/disk disk.part2.ddraw disk.part2.log

(便宜上、数値には0がいくつかありません。)つまり、-iフラグを使用してディスクイメージを手動で2つの部分に分割できますか-s

第二に、画像の2つの部分を1つに合わせる方法はありますか?

ベストアンサー1

質問の2番目の部分に答えてください。 2つのファイル(aおよび)に格納されているFSをマウントする方法b私が考えることができる2つのオプションは次のとおりです。

装置マッパーおよび屋根ふき装置の使用:

losetup /dev/loop1 a
losetup /dev/loop2 b
s() { blockdev --getsize "$1"; }
dmsetup create merge << EOF
0 $(s /dev/loop1) linear /dev/loop1 0
$(s /dev/loop1) $(s /dev/loop2) linear /dev/loop2 0
EOF
mount /dev/mapper/merge /mnt

アイデアは、2つのループデバイスを接続したリニアデバイスマッパーデバイスを作成することです。

nbd クライアント + nbd サーバーの使用

ln -s a part.0
ln -s b part.1
nbd-server 127.1@12345 "$PWD/part" -m
nbd-client 127.1 12345 /dev/nbd0
mount /dev/nbd0 /mnt

(簡単だが効率が悪い)

ここでは、nbd-serverの「マルチパート」モードを使用して部品の名前を指定したいと思いますpart.0part.1...残念ながら、qemu-nbdとは異なり、nbd-server / clientはUnixドメインソケットを使用できません。つまり、TCP オーバーヘッドが存在し、qemu-nbdそのようなマルチパートがあってはなりません。方法。

おすすめ記事