Newsgroup: it.comp.os.linux.sys
Titolo: Clonare hd con tar

Ciao a tutti,
sto scrivendo un paio di script per clonare un hd con installato Linux su un
altro hd.
Lo script di generazione immagini mi legge le partizioni boot, root e ne
crea due tar.gz.
Legge inoltre 512 byte di MBR dal device disco e me li salva in un altro
file con un dd.
Lo script di restore mi partiziona il disco, formatta e scrive i due file
tar.gz e 446 bytes del file per MBR.
Solo 446 per non andare a toccare la zona delle informazioni delle
partizioni (il partizionamento potrebbe essere diverso perchč il secondo hd
potrebbe essere piů grande ...).
Cercando di fare il boot dal hd copia, ottengo solo la scritta GRUB e poi la
fermata delle operazioni.
Che altre operazioni dovrei fare per ottenere il disco bootabile ???
Grazie
--
SteM

 Che altre operazioni dovrei fare per ottenere il disco bootabile ???
non e' che i due HD hanno UUID diverso, e quindi grub quando tenta di
bootare dalla copia non trovando l'HD con UUID giusto panica e si
blocca (giustamente).
Ciao Jack


Quando partizioni il disco rendi primaria la partizione di boot ?

 Quando partizioni il disco rendi primaria la partizione di boot ?
Certo, fa parte delle operazioni eseguite con sfdisk ...
--
SteM

 ha scritto nel messaggio
news:c6c899f9-10ca-4672...@d5g2000hsc.googlegroups.com...

UUID del disco ???
Come si legge e come si scrive ?
Grazie
--
SteM


Ok, ma l'ipotesi iniziale č che possa fare tutto con uno script e quindi non
credo di poter fare un chroot ....
Grazie per il link ...
--
SteM

 Grazie per il link ...
Grub ha bisogno di quel comando per creare la mappa dell'immagine da 
caricare nel primo passo.
Non dovrebbero esserci problemi a montare il disco o partizione ed ad 
eseguire il comando:
# chroot /newdir 'grub-install /dev/xxx'
da script e puoi smontare il tutto.
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

 da script e puoi smontare il tutto.
Perdonami, ma se ho ripristinato il MBR, non dovrebbe essere inutile il
grub-install ?
Che differenza c'e' tra le due operazioni ??
E poi ... se stampa GRUB vuol dire che la prima parte l'ha eseguita (č lo
stage1 ?) .. perchč non trova lo stage2 (o 1_5 ?) ??
Come sono collegati ?
--
SteM

 
Nell'MBR c'è solamente una parte del GRUB, il resto è nel Boot Sector 
che non stai copiando. Fai un grub install e risolvi tutto.
Leandro

 perchè non trova lo stage2 (o 1_5 ?) ?? Come sono collegati ?
Al boot viene letto l'MBR e da quello si carica il primo loader dalla 
partizione indicata come attiva nella tabella delle partizioni.
Questo primo loader lavora su una lista di settori (creata dal comando 
install) per caricare un secondo loader che finalmente è in grado di 
gestire un file system e quindi permette di caricare i file necessari.
Se quello che ottieni è solo la stampa di GRUB penso che va in 
esecuzione il primo loader che legge una lista di settori che non è 
più valida o non inizializzata (non so come/dove grub la mantenga).
Non conosco nei dettagli il funzionamento di grub ma per lunga 
esperienza di studio e progettazione di sistemi per boot non credo 
differisca molto da quanto ho sintetizzato nelle righe precedenti.



Ciao,
ho provato (per il momento manualmente, senza script) la seguente sequenza
di operazioni:
- bootato con una live da chiavetta usb (rescueCd)
- montato la partizione root del hd (sda3)
- montato proc
- montato dev
- chroot partizione montata
- montata partizione boot (sda1) in /boot
- grub-install --no-floppy /dev/sda1
Il comando non ha segnalato errori ma se esco e faccio reboot da hd ho
sempre lo stesso problema (GRUB).
Tra l'altro è stato rigenerato il file device.map con i nomi dei device
visti dal live (sda per l'hd e sdb per la chiavetta) che sono diversi da
quelli che vede l'altro SO ripristinato su hd: questo vedeva l'hd come hda e
chiaramente non c'e' la chiavetta (durante il boot da hd).
Come si concilia il tutto ?
Ciao ed ancora grazie per gli aiuti.
----
SteM


Mi sono accorto che l'ultimo comando dovrebbe essere:
grub-install --no-floppy /dev/sda
Cosě effettivamente il boot avanza ma si ferma entro il grub mostrandomi il
titolo (GNU GRUB versione 1.95) e la Minimal BASH-like shell.
Se batto ls ottengo:
(hd0)(hd0,1)(hd0,2)(hd0,3)
che sono corrette anche se in passato avevo visto un hda0,0 ma forse era un
GRUB 0.97 ....
Perchč non esegue il boot leggendo grub.conf?
Forse non vede i files?
Non vedo tra i comandi nč 'root' nč 'setup' (come era nel 0.97) ...
Come posso procedere per avere il sistema bootable ??
--
SteM

 Non vedo tra i comandi nè 'root' nè 'setup' (come era nel 0.97) ...
]zac[
Probabile che i device di grub puntino ad un device di linux diverso da
quello che sei convinto che sia (tipicamente è un device-map errato o un
errore di valutazione della situazione dei device).
Usa la console di grub per localizzare un file che sei sicuro che si trovi
solo nelle partizioni richieste.
Dalla console di grub puoi provare anche a caricare il kernel e a fare il
boot senza dover rifare l'installazione di grub (comandi kernel, boot, ecc.
(vedi documentazione di grub)).
P.S. non è necessario fare il chroot per installare grub:
grub-install
install_device not specified.
Usage: grub-install [OPTION] install_device
Install GRUB on your drive.
  -h, --help              print this message and exit
  -v, --version           print the version information and exit
  --root-directory=DIR    install GRUB images under the directory DIR
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PP.SS. Sarebbe una buona cosa fare le prove solo con il nuovo disco e usando
una live o l'opzione di rescue per fare le prove di configurazione in modo
da diminuire le possibile sviste.
PPP.SSS. l'uso di dd mi piace poco, io preferisco formattare e poi usare
cp -a .