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