PDA

View Full Version : dd per copiare partizioni


gianlucab70
02-04-2011, 23:29
Stò utilizzando dd per effettuare copie intere di partizioni da un hard-disk ad un altro.
La partizione da copiare ha una distro linux installata e funzionante (debian 6). La partizione di destinazione è semplicemente formattata ext4 vuota.
Utilizzo il seguente comando:
dd if=/dev/sda1 of=/dev/sdb1
Per funzionare correttamente, la partizione di destinazione deve essere leggermente + grande di quella d'origine. Se viceversa è + piccola mi ritorna per esempio quest'errore:
[ 6953.002972] EXT4-fs (sda2): bad geometry: block count 4903833 exceeds size of device (4759256 blocks)
[ 7019.474709] EXT4-fs (sda2): bad geometry: block count 4903833 exceeds size of device (4759256 blocks)
[ 7066.372342] EXT4-fs (sda2): bad geometry: block count 4903833 exceeds size of device (4759256 blocks)
[ 7135.113038] EXT4-fs (sda2): bad geometry: block count 4903833 exceeds size of device (4759256 blocks).
Considerando il primo caso, dove tutto funziona, essendo le partizioni comunque differenti vi è la possibilità che si installi una geometria leggermente diversa e che quindi vi sia una forzatura nel funzionamento dell'hard-disk?
Vi è un comando con il quale si possa comunque copiare 2 partizioni di dimensioni differenti salvagurdandone i blocchi?

Gimli[2BV!2B]
03-04-2011, 00:33
Io clono le mie installazioni/partizioni con cp -ax:cp -ax /home/* /mnt/NUOVA/home/
Dal man (http://unixhelp.ed.ac.uk/CGI/man-cgi?cp) puoi vedere come le due opzioni permettano di clonare esattamente tutti i file, link ed i loro diritti (a) ed evitare di copiare il contenuto di altre partizioni eventualmente montate all'interno (x). Per clonare una radice è naturalmente necessario usare una distribuzione live.

Con dd si hanno vari limiti e possibili problemi che non ho mai toccato con mano perché l'ho sempre scartato in favore di altre soluzioni.

patel45
03-04-2011, 07:05
per partizioni già preparate meglio il comando cp, altrimenti si possono copiare con Gparted a patto che sul disco di destinazione ci sia spazio non allocato ed è possibile anche modificare la dimensione di destinazione.

gianlucab70
03-04-2011, 21:59
;34848910']Io clono le mie installazioni/partizioni con cp -ax:cp -ax /home/* /mnt/NUOVA/home/
Dal man (http://unixhelp.ed.ac.uk/CGI/man-cgi?cp) puoi vedere come le due opzioni permettano di clonare esattamente tutti i file, link ed i loro diritti (a) ed evitare di copiare il contenuto di altre partizioni eventualmente montate all'interno (x). Per clonare una radice è naturalmente necessario usare una distribuzione live.

Con dd si hanno vari limiti e possibili problemi che non ho mai toccato con mano perché l'ho sempre scartato in favore di altre soluzioni.
...Proprio oggi (prima di vedere le vostre risposte) ho provato ad usare cp
Ho fatto in questo modo:
Ho collegato i 2 Hard-disk. Ho fatto partire una distro-live.
Ho montato le due partizioni (da copiare) e (di destinazione)
/media/sda1 e /media/sdb1
cd /media/sda1 e poi ho dato cp -a * /media/sdb1. La (x) credo che non serva in quanto utilizzando una live-distro, all'interno delle partizioni non risulta nulla montato.
Il tutto è stato perfettamente copiato nella partizione sdb1.
Per avviare ho dovuto reinstallare grub2 in /dev/sdb
Ha funzionato alla perfezione.

ps. Effettivamente cp è + efficiente di dd.

patel45
04-04-2011, 08:59
in effetti la x non serve, meglio cp -av per vedere quello che succede.