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

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

実行中の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 |
+--+--+--+--+--+--+--+--+--+-+=============+

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

答え2

何かを作るサポート(たとえば、適切なバックアップができる必要があります)NAT / USBにBacula。次に、新しいシステムのLiveCD / LiveUSBから起動し、TimeVaultTimeshiftClonezillaまた覆うバックアップから。

答え3

プログラムウコフ、適切なパッケージで見つけることができますapt install ukopp。システム/ファイルを外部ドライブ(通常はUSB)にバックアップ/保存するGUIです。ここでは、USBの画像を使用して他のSSDを「フラッシュ」することができます。

答え4

ドライブ全体、データを含むパーティション、またはドライブのオペレーティングシステムを複製する最良の方法はコマンドですdd

私の考えでは、ddこれがデバイス/パーティションの複製/バックアップのための最良の選択肢だと思います。

ddすべてが少しずつ複製されます。

ddさまざまなツールを試して試す前に、可能であれば、デバイスの完全バックアップ/複製を他のデバイスに使用し、バックアップ/複製が機能していることを確認してください。

デバイス全体が次の場合暗号化たとえばluks、完全な複製を実行し、新しいデバイスにフラッシュすることができ、それも動作します!

インストールされているヒューズ/sshfsを使用している場合は、このネットワークフォルダに直接バックアップ/複製することもできます。

すべてのブロックデバイスを一覧表示できます。lsblk

例:

  1. ドライブが/dev/sdaで、ディレクトリまたはストレージに保存/バックアップ/複製する場合
dd if=/dev/sda of=/home/user/osbkp.img bs=1M status=progress

あなたは必要ありません名前.img可能os123.bkpまた

  1. イメージを作成せずに実行中のシステムをターゲットドライブにリアルタイムで複製します。

ソースは/dev/sda、ターゲットは/dev/sdb

dd if=/dev/sda of=/dev/sdb bs=1M status=progress

時には新しいドライブに新しいバックアップ/クローンを作成しましたが、このデバイスから起動できず、ddを使用して再試行することはできません(100%動作する方法はありません)。

  1. ターゲットが/ dev / sdbの新しいドライブにイメージを複製します。
dd if=/home/user/osbkp.img of=/dev/sdb bs=1M status=progress
  1. 特定のパーティションの複製
dd if=/dev/sda1 of=/home/user/part1.img bs=1M status=progress

説明する:

if =入力/ソース

of=出力/対象

bs =コピーされたブロックサイズ さまざまなブロックサイズが利用可能です。私は1MBを好む。この設定を使用すると、プロセスの速度を上げ下げできます。最も適切なオプションを直接見つける必要があります。

status=進行リアルタイム状態

  1. 保存にfat *を使用している場合は、ファイルを分割できます。この投稿も確認してください。

dd イメージを複数のファイルに分割

ddを使用してFAT32ドライブに80 GBのイメージを作成する

次の点に注意してください。

0.dd はデバイスのすべてのコンテンツを複製します。

あなたのドライブはです/dev/sda。これを複製してください。

5つのパーティションがあります

/dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5

これらのパーティション、mbr、gptなどを含むファイルを/ dev / sdaから取得できます。

1.各ドライブ/ストレージに複製できます。

  • ハードドライブからUSBに、またはUSBからハードドライブに複製し、新しいデバイスで複製されたオペレーティングシステムを実行できます。

2.実行中のターゲットデバイスは、サイズが同じかそれ以上でなければなりません。

  • 大規模なデバイスをより小さいドライブに複製したり、パーティションの使用済みスペースだけを複製することはできません。
  • 例: 複製しようとしているパーティションは8GBですが、そのパーティションのOSが1GBに過ぎず、空き容量が7GBですが、OSを実行するために複製しようとしているターゲットは4GBで不可能です! ddを使用してデバイス全体を新しいドライブに複製しますが、サイズを変更することはできません。

より大きなデバイスに複製する場合は、残りのスペースを使用して新しいパーティションを作成し、新しいデバイス/OSにインストール/使用できます。

残りのスペースを特定のパーティションにマージしようとするときは注意してください。

三。最善の方法は、ドライブを接続し、ターゲットからソースへ、またはターゲットからストレージに複製する代わりに、ライブシステムまたは他のLinuxシステムを使用することです。

4.すべてのデバイスには固有のuuidとラベル名があります。 aドライブをbドライブに複製し、1台のPCに2つのドライブがあり、そのうちの1つをラベル名またはuuidで起動しようとすると、grubを確認するか、起動に問題があります。管理者または無効なオペレーティングシステムを起動しています。

blkidこれを確認するには、その他のコマンドを使用できます。

これを変更して新しいUUID、タグなどを作成できますが、注意してください。

5.複製イメージを実行するドライブをフォーマットする必要はありません。 ddはすべてを破壊/削除し、指定されたサポートOSから新しいmbr、gpt、フォーマット、ファイルシステムなどを生成します。

別の方法は、空のオペレーティングシステムを作成し、必要なすべてのフォルダとファイルをコピーすることです。

これに関する多くのチュートリアルがあります。

Linuxシステムバックアップの作成方法を確認してください。rsync

Rsyncを使用してLinuxシステム全体をバックアップする方法

rsyncを使用したシステム全体のバックアップ

ddを使用して基本レプリカを作成し、実行した操作を実行しますが、変更されたファイルを複製/コピーする方が良いことを意味します。

GNU/LINUXでは、すべてがファイルです。

関連情報