GNU/Linux >> Linux の 問題 >  >> Linux

標準ツールを使用してディスク全体のパーティションレイアウトをコピーするにはどうすればよいですか?

パーティション全体のバックアップを取りたいレイアウト そのレイアウトを別のディスクに復元できるように、論理ドライブを含むハードドライブの私はしません パーティションの内容をコピーしたいのですが、レイアウトだけをコピーしたいのです。プライマリパーティションと拡張パーティションの場合、簡単です:

dd if=/dev/sda of=partitiontable.bin bs=1 skip=446 count=64 # backup
dd if=partitiontable.bin of=/dev/sda bs=1 seek=446 count=64 # restore

しかし、論理パーティションのレイアウトに関しては、標準ツールの中にレイアウトを保存する同様の方法があるのではないかと思います。主な問題は、EBRの位置へのオフセットを見つけることだと思います。これは、dd 残りは行います。すべてを(おそらく)空のディスクに戻して、同じレイアウトを復元できるようにする必要があることに注意してください。 fdiskなどのパーティションツールを使用する またはparted は問題ありませんが、それらの使用(スクリプト)を自動化できる必要があり、X関連のパッケージに依存しないようにする必要があります—コマンドラインのみ。

私のバックアップ計画では、structモジュールを使用して小さなPythonスクリプトで手動で実行していますが、もっと簡単な方法があることを望んでいました。

承認された回答:

GPTパーティションディスク*でも、このタスクにsfdiskを使用できます。

保存:

sfdisk -d /dev/sdX > part_table

同じディスクとパーティションIDを維持して復元**:

sfdisk /dev/sdX < part_table

新しいディスクとパーティションIDの生成を復元します**:

grep -v ^label-id part_table | sed -e 's/, *uuid=[0-9A-F-]*//' | sfdisk /dev/sdY

メモ

*:GPTパーティションテーブルの場合 、これにはsfdiskが必要です util-linux2.26以降から。 libfdiskの上に最初から書き直されました。

**:デフォルトではsfdisk 新しいIDを生成するのではなく、ディスクIDとパーティションIDを変更せずにコピーします。したがって、新しいディスクは、同じレイアウトの別のディスクではなく、元のディスクのクローンになります。 Linuxの/dev/disk/by-uuid/に注意してください ただし、パーティションテーブルのUUIDではなく、ファイルシステムのUUIDを調べます。 sfdisk パーティションID(, uuid=...)への参照を削除すると、新しいUUIDが生成されます )およびディスクIDへの参照(label-id: ... )ダンプから。


Linux
  1. Linuxでディスクをパーティション分割する方法

  2. dd を使用してネットワーク経由で Linux ディスク パーティションのクローンを作成する方法

  3. Red Hat Linux の標準ツールを使用して、ファイル内の行をランダム化するにはどうすればよいですか?

  1. 特定のシステムにブートパーティションが必要かどうかを判断するにはどうすればよいですか?

  2. Linuxシェルでcpコマンドを使用して、ディレクトリ全体を別のディレクトリにコピーするにはどうすればよいですか?

  3. / パーティションのすべてのスペースを使い果たしているものを見つけるにはどうすればよいですか?

  1. Linuxでmkfsコマンドを使用して、ディスクまたはパーティション上のファイルシステムをフォーマットする

  2. Parted GPT を使用して Linux で 2TB サイズのパーティションを作成する方法

  3. Partedコマンドを使用してディスクパーティションを削除する方法