Ripristinare GRUB dopo l’installazione di Windows

L’altro giorno ho formattato la mia partizione di Windows per fare un po di pulizia, in modo da avere un sistema pulito per fare test con la mia M-Audio.

Finita l’installazione (come previsto)Windows ha sovrascritto il mio Master Boot Record, che conteneva il bootloader, tramite il quale sceglievo la partizione da avviare. Il risultato (ovviamente) è che mi avvia solo win, e linux è come se non esitesse.

grub.jpg

ecco a voi unGRUB… googlare per credere🙂

Ora vi propongo l’elenco dei passi che ho seguito per ripristinare il bootloader GRUB con le mie impostazioni precedenti.

Prima cosa: avviare il sistema con un live-cd o un disco di ripristino (di linux) qualsiasi. La mia scelta è caduta su un vecchio (si fa per dire🙂 ) live-cd di Ubuntu Feisty 7.04…

Aspetto che si avvii e apro un terminale (per chi usa un cd di ripristino senza server grafico dovrebbe già trovarsi in console) e ho digitato in sequenza i seguenti comandi:

$ cd /mnt
$ mkdir hdd
$ mount /dev/sda3 hdd
$ mount -o bind /dev hdd/dev
$ chroot hdd
$ grub-install /dev/sda
$ reboot

Ora vediamo in dettaglio cosa fanno questi comandi (ora non ricordo se ho dovuto fare qualche operazione delle precedenti con sudo, in caso che ricevete un errore che non avete i permessi per compiere qualche passo, sarà sufficiente anteporre “sudo ” al comando da dare).

Procediamo per passi… entro nella directory /mnt e creo una nuova cartella chiamata hdd. Ora monto la root (“/”) del mio sistema operativo linux, che nel mio caso sta in sda3, ovvero la terza partizione di sda. Ora noto che la cartella “/mnt/hdd/dev” che dovrebbe contenere tutti i device è (giustamente) vuota, perché essa è una cartella che viene popolata runtime, ma avviando da cd, la cartella dev “giusta” sta in “/dev”, quindi devo dire all’SO che la cartella “/mnt/hdd/dev” deve anch’essa contenere gli stessi devices che stanno in “/dev”. Per fare questo, mi servo di nuovo del comando mount, ma con l’opzione “-o bind” che non fa altro che crearmi un collegamento tra le due cartelle “dev” in modo che abbiano lo stesso contenuto.

Ora uso chroot per “ingannare” il sistema che la root non è più quella del live cd, ma quella presente nel mio disco (“/mnt/hdd”).

A questo punto, eseguo l’installazione del grub e poi riavvio la macchina… ed il gioco è fatto😀.

About axeldamage

Mad Scientist

9 responses to “Ripristinare GRUB dopo l’installazione di Windows”

  1. Valy says :

    Scusami da perfetta niubba di Linux, ho lo stesso tuo problema ma ho addirittura una distro in più (ubuntu+kubuntu+win). Seguendo i passi che hai descritto, l’installazione del grub avviene con i comandi che dici oppure ne serve un altro e quindi da fare oltre a quelli citati? Se così fosse, riusciresti a descrivermi come fare? Grazie mille.
    Valy

  2. frasten says :

    I miei passi invece sono stati:
    sudo grub
    find /boot/grub/stage1 (per trovare in quale hd scrivere)
    root (hd0,0)
    setup (hd0)
    quit

    Ne ho fatti di meno io!!!🙂 Uno e’ anche skippabile!

  3. edo947 says :

    Interessante😀 anche se penso che una volta che si prova linux…😉

  4. axeldamage says :

    @Valy
    Vai tranquilla, i passi sono gli stessi perché la configurazione di grub che contiene tutte le partizioni di boot è contenuta in un file a parte, che in questo caso non viene toccato!
    Puoi usare anche il metodo del buon Frasten che utilizza la “shell” del grub e il risultato è uguale!

    @Frasten
    Ebbravo che usi meno comandi!🙂 Però essendo un mini-howto pensato per persone che non masticano da molto tempo di linux, usare il terminale mi sembrava una cosa “più familiare”!! Ciao gaio!

    @edo947
    Hai ragione, ma purtroppo ci sono alcune applicazioni che necessitano di windows! Basta avere pazienza!!🙂

  5. roberto says :

    Grazie mille!
    Aspettavo una guida simile da mesi.🙂

    Rob

  6. valentinos81 says :

    Qua c’è anche una procedura grafica per attivare poi windows in grub😉

  7. Stefano Pedretti says :

    Brao Ale… ma a vedere quell’immagine mi è venuta voglia di tornare al LILO…

  8. guitar_joker says :

    Ciao volevo chiedervi…come faccio a fare questo comando:

    mount /dev/sda3 hdd

    indicando la partizione giusta con questo file menu.lst????

    title Windows XP Home Edition
    rootnoverify (hd0,1)
    makeactive
    chainloader +1
    boot

    title Ubuntu 7.10, kernel 2.6.22-14-generic
    root (hd0,2)
    kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=bad10f0b-430a-4229-8bbe-9d29ccd3a438 ro quiet splash
    initrd /boot/initrd.img-2.6.22-14-generic
    quiet

    title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
    root (hd0,2)
    kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=bad10f0b-430a-4229-8bbe-9d29ccd3a438 ro single
    initrd /boot/initrd.img-2.6.22-14-generic

    title Ubuntu 7.10, memtest86+
    root (hd0,2)
    kernel /boot/memtest86+.bin
    quiet

    grazie per ogni suggerimento!

  9. OR6ASMUS says :

    ancora nn l’ho fatto xkè sto eseguendo una procedura di ca@@a…. ma appena termina…. speriamo bene, xkè ho win7x64, ubuntu10.04×64, e backtrack4 …. SIGH !

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: