実行中のファイルシステムをイメージファイルに複製する

実行中のファイルシステムをイメージファイルに複製する

実行中のLinuxファイルシステム(Debian 10)をファイルに複製する方法は.img?別のSSDにフラッシュし、新しいシステムを同じように実行したいと思います。 Clonezillaは私には適していません。新しいマシンのハードウェアはまったく同じです。

ベストアンサー1

dd、ddrescue、またはcatを使用して、ブロックデバイス全体をイメージにコピーできます(ターゲットが/ dev / sdbであると仮定)。

$ dd if=/dev/sda of=/mnt/master.img
(...)
$ dd if=/mnt/master.img of=/dev/sdb

パーティションテーブル全体のブートセクタとファイルシステム自体の1対1コピーが新しいメディアにあるため、機能する必要があります。また、メインドライブのパーティションテーブルと構造全体を複製します。

イメージはisoではないので、そう考えてはいけません。つまり、ドライブと後続のイメージには、ドライブ全体の構造が含まれます。

|<-- sda ------------------------------------------------------------->|
|                            |<-- sda1 --->|<-- sda2 --->|<-- sdaN --->|
+--+--+--+--+--+--+--+--+--+-+=============+=============+...==========+
| MBR, part.table, boot.sect | partition 1 | partition 2 | partition n |
+--+--+--+--+--+--+--+--+--+-+=============+=============+...==========+

あなたの新しいドライブにもその機能があります。

マスターデバイスをコピーし、root権限に加えてターゲットブロックデバイスに書き込むために特別なものは必要ありません。

また、システムパーティションのイメージを作成し(/dev/sda1と仮定)、ターゲットドライブに新しいパーティションテーブルを作成し、システムパーティションが少なくともイメージと同じ大きさであることを確認してから、sda1.imgを/dev/sdb1を選択し、目的のブートマネージャを使用して起動します。可能にします。しかし、特にあなたのような状況では、より多くの作業が必要です。

- 説明で説明したように、最初のパーティションのみが必要であると仮定すると、パーティションテーブル/ブートローダ+最初のパーティション(/ dev / sda1)を含む/ dev / sdaの最初の部分をコピーして次の場所にコピーすることもできます。あります。あなたの目的地。

$ dd if=/dev/sda of=/mnt/master1.img bs=1M count=7600
(...)
$ dd if=/mnt/master1.img of=/dev/sdb
|<-- sda -----------------------------------
|                            |<-- sda1 --->|
+--+--+--+--+--+--+--+--+--+-+=============+
| MBR, part.table, boot.sect | partition 1 |
+--+--+--+--+--+--+--+--+--+-+=============+

パーティションテーブルには存在しないパーティションが含まれているため、多少バグがあり、後で修正する必要があるかもしれませんが、うまくいきます。エレガントではありませんが、動作します。

おすすめ記事