La maggior parte delle informazioni è stata descritta nelle precedenti ricette inserite, ma non tutte sono state descritte.
Sotto linux puoi clonare hard disk o partizioni con il comando dd. Attenzione, quando commetterai un errore, perderai tutti i tuoi dati.
Inizialmente, la destinazione non dovrebbe essere in uso, in secondo luogo la fonte non dovrebbe essere utilizzata o rimontata in modalità di sola lettura. Altrimenti la copia sarà danneggiata. Se il rimontaggio è impossibile, eseguire un'unità avviabile (hdd / ssd / pendrive) qualsiasi distribuzione live di Linux. Prego knoppix, ma questa è la tua scelta. Se è possibile, è possibile avviare o modificare il livello di sistema in 1, per la modalità utente singolo, oppure è possibile riavviare direttamente il sistema in modalità utente singolo, dipende dalla distribuzione. Se clonerai solo una partizione, questa partizione dovrebbe essere smontata o rimontata in RO:
umount /mountpoint_or_device
o
remount -o,ro /mountpoint_or_device
Se si desidera clonare l'intero disco rigido, è necessario smontare o rimontare tutte le partizioni.
È necessario identificare il dispositivo di origine e destinazione. guarda il dmesg, qui sono memorizzate tutte le informazioni necessarie sul dispositivo, con il fornitore ecc. In alternativa, l'identificazione può essere basata sulla dimensione del dispositivo, se diversa. Successivamente, la destinazione dovrebbe essere la stessa o più grande della fonte. devi calcolare la sorgente, ad esempio: fdisk -l / dev / sda tranne la geometria della partizione (può esserci GPT), otterrai: 1. dimensione totale del disco con GB e byte 2. geometria storica e numero totale del settore, informazioni molto importanti 3. dimensione del blocco in byte, in genere è 512.
per esempio:
# fdisk -l /dev/sda
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000f1d1e
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 40136703 20067328 83 Linux
/dev/sda2 40138750 41940991 901121 5 Extended
/dev/sda5 40138752 41940991 901120 82 Linux swap / Solaris
ora proviamo più di 512 divisori, abbiamo 41943040 settori fisici:
41943040/256 = 163840, ottimo, possiamo fare una copia in blocco di 256 settori. possiamo di più? proviamo: 41943040/1024 = 40960, penso che sia abbastanza, selezioneremo questo. Contiamo le dimensioni del gruppo di settori: 512 (dimensioni del settore) * 1024 = 524288 byte eq 512K. Quindi possiamo usare il parametro bs = 512K o meno, ma dividerlo per 2 ^ x. Per i moderni dischi rigidi con grande cache interna, questo è abbastanza pratico. per le unità meno recenti con cache molto più piccola, è sufficiente un valore di 32 KB o inferiore.
Quindi dopo la preparazione possiamo fare una copia: dd se = / dev / source_devide di = / dev / destination_device bs = 32K e la copia verrà eseguita. Presta attenzione, qualsiasi errore sovrascriverà i tuoi dati di importazione e. A destinazione tutto verrà sovrascritto.
Se si tenta di ripristinare i dati sul disco di origine danneggiato, utilizzare meglio le dimensioni del settore nativo, in genere si tratta di 512 byte e aggiungere l'opzione conv = notrunc. altrimenti i buchi nella fonte lasciati cadere dai settori danneggiati saranno affiancati da uno spostamento del settore sulla destinazione. Ciò danneggerà la copia con poche possibilità di riparazione. quindi il comando sarà:
dd if=/dev/source of=/dev/destination bs=512 conv=notrunc
e attendere a lungo quando l'unità e il sistema si arrenderanno e cammineranno settore per settore fino alla fine.
dd è uno strumento utile per spostare la partizione in un nuovo posto. Basta creare una partizione, rendere dd su una nuova partizione (questa può essere più grande, molto più grande) e, se possibile, espandere il file system copiato per riempire tutta la nuova partizione, ext3 / ext4 / xfs / zfs / btrfs hanno questa funzione. Alla fine devi cambiare / etc / fstab, quindi umount / mount se possibile, o riavviare il sistema.
Ovviamente puoi clonare qualsiasi tipo di partizione. Il comando dd non esamina il tipo di file system, non fa nulla con la sua struttura. quindi questo comando può essere utilizzabile per clonare NTFS o altri tipi di partizioni.
C'è qualche trucco. Quando non hai impostato il parametro, dd inserirà l'output nel suo stdout. quindi è possibile creare una copia raw compressa del disco o della partizione, ad esempio:
dd if=/dev/sda bs=512 | gzip >/any/place/computerOne_sda.gz
Naturalmente questo dovrebbe essere fatto offline. puoi ripristinarlo come segue:
zcat /any/place/computerOne_sda.gz| dd of=/dev/sda bs=512
, quindi tutto il disco rigido sda verrà sovrascritto da questo backup e tutti i dati correnti andranno persi. È possibile farlo anche con la partizione Windows NTFS e il disco rigido utilizzati da questo. Ovviamente puoi usare altri comandi di compressione, a seconda della tua scelta.