Per copiare il contenuto di un intero disco avevo trovato il seguente comando:
dd if=/dev/hda conv=sync,noerror bs=64K | gzip -c > /mnt/sda1/hda.img.gz
Per ripristinare l’immagine sembrava quindi corretto dare:
gunzip -c /mnt/sda1/hda.img.gz | dd of=/dev/hda conv=sync,noerror bs=64K
Il disco però risultava non essere più avviabile. Cercando un bel pò in rete ho trovato un consiglio che si è rivelato risolutore:
gunzip -c /mnt/sda1/hda.img.gz | dd of=/dev/hda
Basta quindi semplicemente togliere le opzioni; la spiegazione potrebbe essere che in realtà il disco da cui sono partito non avesse blocchi da 64K e quindi ci fossero disallineamenti.
Eventualmente si potrebbe usare una dimensione di 512 bytes.
Per copiare MBR bastano i primi 512 bytes del disco. I primi 446 hanno il boot loader; i successivi 64 hanno le 4 partizioni primarie; gli ultimi 2 bytes sono un id.
Per salvare l’MBR:
dd if=/dev/sdX of=/path/to/mbr_file.img bs=512 count=1
Per ripristinarlo:
dd if=/path/to/mbr_file.img of=/dev/sdX