venerdì 10 agosto 2007

ripristinare l'avvio di linux quando grub è danneggiato

in alcune situazione può accadere che il nostro amato pinguino non si avvia più questo può accadere quando si installa windows , il sistema operativo microsoft si appropria del master boot record cancellando grub.

Per ripristinare linux e correggere grub danneggiato inserite il cd di ubuntu ed effettuate il riavvio della macchina, appena ubuntu si avvia da live cd aprite il terminale, digitate passwd per crearvi una password di amministratore.

montate la partizione linux dove avete installato il sistema operativo nel mio caso hda1, create un punto di montaggio dentro mnt chiamando la cartella hda1.

sudo mkdir /mnt/hda1

per montare scrivete:

sudo mount /dev/hda1 /mnt/hda1

adesso montate /dev in hda1 per visualizzare ed attivare le periferiche al chroot.

sudo mount -o bind /dev /mnt/hda1/dev

sempre da terminale scrivete:

sudo chroot /mnt/hda1

entrate dentro la cartella grub ed eseguite questi comandi in successione:

cd /boot/grub
grub
root (hd0,0)
setup (hd0)
uscite dal terminale di grub.

analizziamo quello che abbiamo scritto il comando grub attiva la shell di grub, con root hd0,0 indico al programma grub la partizione dove si trova la directory di boot, con setup installo il boot manager nel settore mbr del disco.

se ci sono dei problemi al riavvio digitando possiamo editare e correggere le linee di grub.
consiglio sempre di effetture delle copie della cartella di boot per ogni evenienza scrivete da terminale :

sudo tar cjvf $HOME/copiaboot.tar.bz2 /boot

3 commenti:

Rob ha detto...

Ottima e utilissima guida.

Ma per grub hd0,0 vuol dire la prima partizione del disco primario, esattamente come hda1?

Sarebbe interessante una guida per installare un secondo linux sulla stessa macchina: es. Windows + Ubuntu + Fedora

Ciao!
Rob

santo vasta ha detto...

si hd0,0 significa hda1
praticamente grub visualizza le partizioni partendo da 0 quindi se hai un ahrd disk su partizione primaria, come hai scritto tu sarà hda1 se invece ci troviamo nel caso che abbiamo il disco in secondario master,verrà rappresentato così hd1,0
praticamente hdb1


per installare un altro sistema linux su ubuntu ci sono molti programmi che fanno questo.
prossimamente farò una guida all'uso degli emulatori.

ciao

Anonimo ha detto...

non è necessario un ambiente chroot per farlo comunque :D