Ich möchte eine Sicherung der gesamten Partition nehmen Layout einer Festplatte, einschließlich logische Laufwerke, so dass ich das Layout auf einen anderen Datenträger wiederherstellen. Ich möchte nicht den Inhalt der Partitionen kopieren, sondern nur das Layout. Für die primäre und erweiterte Partition ist es einfach:
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
Aber wenn es um das Layout der logischen Partitionen geht, frage ich mich, ob es unter den Standardwerkzeugen eine ähnliche Möglichkeit zum Speichern des Layouts gibt. Ich denke, das Hauptproblem besteht darin, die Offsets zu den Standorten der EBRs zu finden, denn damit dd
wird der Rest erledigt . Denken Sie daran, ich muss in der Lage sein, alles auf eine (möglicherweise) leere Festplatte zurückzusetzen und dadurch das gleiche Layout wiederherzustellen. Das Verwenden von Partitionierungswerkzeugen wie fdisk
oder parted
ist in Ordnung, aber ich muss in der Lage sein, deren Verwendung (Skripten) zu automatisieren, und sie sollten nicht von X-bezogenen Paketen abhängig sein - nur von der Befehlszeile.
Mein Backup-Plan sieht dies manuell in einem kleinen Python-Skript unter Verwendung des struct-Moduls vor, aber ich hatte eher gehofft, dass es einen einfacheren Weg gibt.
quelle
sfdisk
Funktioniert nicht mit großen Volumes oder unterstützt GPT.sfdisk -L /dev/sda < part_table
Es hängt davon ab , ob Ihr Quelldatenträger ein verwendet MBR (auch bekannt als „dos“ oder „MS - DOS“) oder eine GPT (auch bekannt als „GUID“) Partitionstabelle.
Festplatten mit mehr als 2 TB können MBR nicht verwenden, daher handelt es sich um GPT.
Datenträger mit weniger als 2 TB können beide Datenträger verwenden. Sie müssen also zuerst herausfinden, um welche es sich handelt.
Angenommen, Sie arbeiten unter Linux, verwenden Sie einen dieser Befehle, um herauszufinden, welche Partitionstabelle Ihre Quellfestplatte verwendet:
Gegeben
Für MBR-Festplatten
benutze
sfdisk
wie in Petr Uzels Antwort vorgeschlagen, oder diese Variante:Für GPT-Festplatten
Die richtige Antwort wurde hier und hier von Kris Harper gegeben .
Du brauchst GPT fdisk . Schau auf die Downloadseite oder starte
sudo apt-get install gdisk
.Verwenden Sie dann den Befehl sgdisk :
Mit dem letzten Befehl werden die GUID auf der Festplatte und alle Partitionen nach dem Zufallsprinzip sortiert. Dies ist nur erforderlich, wenn die Datenträger auf demselben Computer verwendet werden sollen, andernfalls ist dies nicht erforderlich.
quelle
--backup=File
, eine Partitionstabelle vom Quelllaufwerk zu exportieren und--load-backup=File
auf dem Ziellaufwerk wiederherzustellen.Ältere, aber immer noch interessante Pyparted- und Python-Lvm- Bindungen.
Aktualisieren:
Das Vorherige wurde veröffentlicht, weil das Obige in vielen modernen Situationen nicht funktioniert, wie in der Manpage von sfdisk angegeben.
Dieser Befehl unterstützt jedoch> 2 TB Partitionen und LVM.
Beispielausgabe:
quelle
sda.parted
Datei auf eine neue Festplatte wiederherstellen ?