GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kopiert man das Partitionslayout einer ganzen Festplatte mit Standardwerkzeugen?

Ich möchte eine Sicherungskopie des gesamten Layouts der Partition erstellen einer Festplatte, einschließlich logischer Laufwerke, sodass ich dieses Layout auf einer anderen Festplatte wiederherstellen kann. Ich nicht den Inhalt der Partitionen kopieren möchten, nur das Layout. Für die primären und erweiterten Partitionen 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 gibt, das Layout zu speichern? Ich denke, das Hauptproblem besteht darin, die Offsets zu den Standorten der EBRs zu finden, denn damit dd wird den Rest erledigen. Denken Sie daran, dass ich in der Lage sein muss, alles auf eine (möglicherweise) leere Festplatte zurückzusetzen und dadurch das gleiche Layout wiederherzustellen. Verwenden von Partitionierungstools wie fdisk oder parted ist in Ordnung, aber ich muss in der Lage sein, ihre Verwendung zu automatisieren (Scripting) und sie sollten nicht von X-bezogenen Paketen abhängen – nur von der Befehlszeile.

Mein Backup-Plan macht es manuell in einem kleinen Python-Skript mit dem struct-Modul, aber ich hatte eher gehofft, dass es einen einfacheren Weg gibt.

Akzeptierte Antwort:

Sie können sfdisk für diese Aufgabe sogar in GPT-partitionierten Festplatten verwenden*.

Speichern:

sfdisk -d /dev/sdX > part_table

Wiederherstellung unter Beibehaltung derselben Festplatten- und Partitions-IDs**:

sfdisk /dev/sdX < part_table

Wiederherstellung durch Generieren neuer Festplatten- und Partitions-IDs**:

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

Notizen

*:Für GPT-Partitionstabellen , dies erfordert sfdisk ab util-linux 2.26 oder höher. Es wurde von Grund auf auf libfdisk neu geschrieben.

**:standardmäßig sfdisk kopiert die Datenträger- und Partitions-IDs unverändert, anstatt neue zu generieren. Die neue Festplatte ist also ein Klon des Originals, nicht nur eine weitere Festplatte mit demselben Layout. Beachten Sie, dass /dev/disk/by-uuid/ von Linux betrachtet jedoch Dateisystem-UUIDs, nicht UUIDs in der Partitionstabelle. sfdisk generiert neue UUIDs, wenn Sie die Verweise auf Partitions-IDs löschen (, uuid=... ) und die Referenz auf die Disk-ID (label-id: ... ) aus dem Dump .


Linux
  1. So partitionieren Sie eine Festplatte unter Linux

  2. So erstellen Sie eine Partition unter Linux für eine Größe von 2 TB mit Parted GPT

  3. So klonen Sie eine Linux-Festplattenpartition über das Netzwerk mit dd

  4. So löschen Sie eine Festplattenpartition mit dem Parted-Befehl

  5. Wie finde ich heraus, was den ganzen Speicherplatz auf meiner /-Partition belegt?

So erstellen und verwalten Sie Linux-Partitionen mit Parted

So verschlüsseln Sie eine Partition unter Linux

So erstellen Sie Festplattenpartitionen unter Linux

Wie kann festgestellt werden, was auf einem Linux-Server den meisten Speicherplatz belegt?

So erstellen Sie eine Partition mit dem Befehl „parted“

So erstellen Sie Festplattenpartitionen mit cfdisk