Ddを使用すると、ディスクのMBRとパーティションテーブルを簡単にバックアップできます。それは次のように簡単です:dd if=/dev/disk2 of=~/Desktop/disk2_mbr bs=512 count=1
パーティション全体をバックアップすることもできます:dd if=/dev/disk2s1 of=~/Desktop/disk2_partition1
逆の方法も機能します。dd if=~/Desktop/disk2_mbr of=/dev/disk3
を使用すると、別のディスクMBRとパーティションテーブルを置き換えることができます(注意、disk3でのデータ損失)。
次に、最初のパーティションを復元するには、次のようにします。dd if=~/Desktop/disk2_partition1 of=/dev/disk3s1
(MBRとパーティションを別々にdd
することのポイントは、ディスク全体をdd
する必要がないことです。パーティションが小さい場合は、はるかに高速になります。)
いいでしょう、このddの魔法はすべて私にとって素晴らしい働きをします。それはどんなハードドライブでもどんなシステムからでもバックアップと復元をとても簡単にします。
仮想システムイメージの作成もうまく機能します。
新しい空のメディアイメージ(30 GB)を作成するには、次の操作を実行できます。dd if=/dev/zero of=/my-media-image bs=1k count=30240000
次に、メディアをループバックデバイスに割り当てるには:losetup /dev/loop0 /my-media-image
メディアイメージ上にファイルシステムを作成するには、次のようにします。Sudo mkfs -t ext3 -L MYVIRTUALFS -M /media/MYVIRTUALFS -I 128 -m 0 -b 4096 -O sparse_super -T largefile4 /dev/loop0
その後、メディアをマウントできます:Sudo mkdir /media/MYVIRTUALFS && mount /dev/loop0 /media/MYVIRTUALFS
私が理解していないのは、ディスクをアンマウントして(Sudo umount /media/MYVIRTUALFS
)、ループバックデバイスを削除すると(Sudo losetup -d /dev/loop0
)、元のメディア(/my-media-image
)だと思っていたということです。 /dev/loop0
のddクローンとまったく同じものになります
どうやらそうではありません。dd if=/my-media-image of=/dev/disk4
(注意してください。disk4)でデータが失われると、disk4が破損し、マウントできなくなります。
Linuxマシンから、パーティションテーブルやデータなどを備えた仮想ファイルシステムを作成し、メディアイメージ(私の例では/my-media-image
)を別のシステム(私の場合はMacintosh)にコピーすることができます。 )、実際のハードドライブに展開する準備ができています。 dd
用のGUIを備えたWindowsでも動作するはずです。
何が足りないのですか?
キラーミストが述べたように、エラーは、ファイルシステムを作成する前にパーティションを作成するのを忘れていたということでした。質問の手順は正しく、完全に有効なディスクイメージを作成します。必要なのは、ループデバイスをマウントした直後、ファイルシステムを作成する直前にパーティションを作成することだけです。
つまり、正しい順序は次のとおりです。losetup....
parted --script /dev/loop0 mktable msdos mkpart primary 2048s 100%
Sudo mkfs...