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.0
。part.1
...残念ながら、qemu-nbdとは異なり、nbd-server / clientはUnixドメインソケットを使用できません。つまり、TCP オーバーヘッドが存在し、qemu-nbd
そのようなマルチパートがあってはなりません。方法。