web-dev-qa-db-ja.com

未割り当て領域のないHDDのイメージを作成するにはどうすればよいですか?

未割り当て領域なしで起動可能な* .imgを作成するには、Windowsインストールを含むこのHDDを* .vdiに変換する必要があります。

this HDD

Device     Boot  Start       End   Sectors  Size Id Type
/dev/sdb1  *      2048    718847    716800  350M  7 HPFS/NTFS/exFAT    
/dev/sdb2       718848 105582591 104863744   50G  7 HPFS/NTFS/exFAT

ただし、VBoxManage convertfromraw /dev/sdb2を使用すると、動的サイズのvdiが作成されますが、最大値は223GBに変更できません。 VBoxManage modifyhd --resizeはサイズをまったく縮小できません。また、VBoxManage modifymedium --compactもサイズを変更しません。頻繁に提案されるようにsdeleteを使用してゼロを書き込むことは、未割り当て領域であるため適用できません。

提案されているようにddを使用する サーバー障害に関するこのスレッドで 、2つのイメージを作成し、後でそれらを結合することにより、ブート不可能なイメージになります。

では、ソースHDDの未割り当て領域を除外するにはどうすればよいでしょうか。

1
maxwhere

パーティションは両方ともディスクの前面にあるため、ディスクのその部分をイメージすることができます。

ddを使用してみてください:

dd if=/dev/sdb of=image.dd bs=4M count=54058286592 iflag=count_bytes

ここで、countは、イメージ化されるバイト数に等しくなります-パーティション2の終わり、×512(セクターのサイズ)。

次に、より大きなブロックサイズを許可する(転送速度を上げる)には、count引数が "bytes"であり、 "input block"ではないことを示す必要があります。 (デフォルトの場合)-iflag=count_bytesを使用します。

1
Attie