GNU/Linux >> Linux Esercitazione >  >> Linux

Come copiare il layout della partizione di un intero disco utilizzando strumenti standard?

Voglio fare un backup dell'intera partizione layout di un disco rigido, comprese le unità logiche, in modo da poter ripristinare quel layout su un altro disco. non desidera copiare il contenuto delle partizioni, solo il layout. Per le partizioni primarie ed estese, è facile:

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

Ma quando si tratta del layout delle partizioni logiche, mi chiedo se esiste tra gli strumenti standard un modo simile per salvare il layout? Immagino che il problema principale sia trovare gli offset per le posizioni degli EBR, perché con quello, dd farà il resto. Tieni presente che devo essere in grado di rimettere tutto su un (possibilmente) disco vuoto e quindi ripristinare lo stesso layout. Utilizzo di strumenti di partizionamento come fdisk o parted va bene, ma devo essere in grado di automatizzarne l'uso (scripting) e non dovrebbero dipendere da alcun pacchetto relativo a X, solo da riga di comando.

Il mio piano di backup lo sta facendo manualmente in un piccolo script python usando il modulo struct, ma speravo piuttosto che ci fosse un modo più semplice.

Risposta accettata:

Puoi usare sfdisk per questa attività anche nei dischi partizionati GPT*.

Salva:

sfdisk -d /dev/sdX > part_table

Ripristina mantenendo gli stessi ID di disco e partizione**:

sfdisk /dev/sdX < part_table

Ripristina la generazione di nuovi ID disco e partizione**:

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

Note

*:per tabelle delle partizioni GPT , questo richiede sfdisk da util-linux 2.26 o successivo. È stato riscritto da zero sopra libfdisk.

**:per impostazione predefinita sfdisk copierà gli ID del disco e della partizione invariati, anziché generarne di nuovi. Quindi il nuovo disco sarà un clone dell'originale, non solo un altro disco con lo stesso layout. Nota che /dev/disk/by-uuid/ di Linux esamina gli UUID del filesystem, tuttavia, non gli UUID nella tabella delle partizioni. sfdisk genererà nuovi UUID se elimini i riferimenti agli ID delle partizioni (, uuid=... ) e il riferimento all'id del disco (label-id: ... ) dalla discarica .


Linux
  1. Come partizionare un disco in Linux

  2. Come sapere se il sistema specifico ha bisogno di una partizione di avvio?

  3. Utilizzo del comando mkfs in Linux per formattare il filesystem su un disco o una partizione

  4. Come eliminare la partizione del disco utilizzando Parted Command

  5. Come faccio a sapere cosa sta occupando tutto lo spazio sulla mia partizione /?

Come creare e gestire partizioni Linux utilizzando Parted

Come crittografare la partizione su Linux

Come creare partizioni del disco su Linux

Come determinare cosa sta utilizzando più spazio su disco su un server Linux?

Come creare una partizione usando il comando "separato".

Come creare partizioni del disco usando cfdisk