Reinstallare GRUB da LiveCD

Nell’ultimo weekend mi sono deciso ad installare Windows 7 a 64bit sull’Acer Aspire 6930g sul quale era presente Windows Vista a 32bit dal momento dell’acquisto circa un anno fa e che, in seguito alle infinite installazioni di programmi e programmini, era diventato lento ed inusabile. La parte più noiosa è stata ovviamente effettuare un backup completo di tutti i dati importanti, l’installazione di Windows 7 è stata semplice e (quasi) indolore.

Come per ogni installazione di Windows che si rispetti al termine della stessa ci si ritroverà con il bootloader di Windows che la Microsoft molto democraticamente va ad installare sull’MBR nel tentativo di monopolizzare la macchina. Per chi sulla suddetta macchina aveva anche Linux installato, questa scelta un pò dittatoriale impedirà di avviare gli altri sistemi operativi installati sulla macchina e costringerà al ripristino della vecchia configurazione del bootloader.

Mi appunto qui la procedura di ripristino in modo da averla a portata di mano per le prossime volte e sperando che possa servire anche a qualcun altro.

Premesso che ci sono 2 scelte fattibili, ovvero modificare il bootloader di Windows (con programmi come EasyBCD) se si aveva GRUB installato sulla partizione dove c’è Linux oppure ripristinare la precedente installazione di GRUB sull’MBR (Master Boot Record) sostituendo il bootloader di Windows se in precedenza GRUB si trovava proprio sull’MBR e non su una partizione specifica, io scelgo sempre la seconda (quella di avere GRUB sull’MBR) in quanto più rapida all’avvio e con il minor numero di scelte da effettuare.

Veniamo al dunque, se siete nella condizione descritta sopra dovete innanzitutto procurarvi un LiveCD di una qualsiasi distribuzione Linux che usi GRUB come bootloader. Se la distribuzione che volete ripristinare vi mette a disposizione una versione su LiveCD è da preferirsi a qualunque altra, altrimenti sceglietene una che usi la versione giusta di GRUB da ripristinare (se in precedenza avevate GRUB v1 procuratevi un LiveCD che usi questa versione, se avevate già GRUB2 procuratevi una distribuzione che abbia questa nuova versione).

In alternativa se non sapete cosa scegliere potete affidarvi a SuperGRUB Disk.

Una volta masterizzato il LiveCD della vostra distribuzione non vi resterà che avviare da CD il vostro computer e quando il sistema sarà pronte per l’uso, da terminale, digitare i seguenti comandi in base alla configurazione nella quale ricade il vostro sistema.

Quando il sistema è installato in una singola partizione ext3 in cui c’è sia la partizione di root che di boot (nell’esempio /dev/sda5).

sudo -i
mkdir /mnt/temp
mount /dev/sda5 /mnt/temp
chroot /mnt
grub-install –root-directory=/mnt/temp /dev/sda

Quando il sistema ha delle partizioni ext3 per boot e root diverse (nell’esempio /dev/sda5 per boot e /dev/sda6 per root).

sudo -i
mkdir -p /mnt/temp/boot
mount /dev/sda5 /mnt/temp/boot
mount /dev/sda6 /mnt/
chroot /mnt
grub-install –root-directory=/mnt/temp /dev/sda

Quando il sistema è installato su una tpartizione ext3 per la partizione di boot (es. /dev/sda5), e la partizione di root è un logical volume (es. /dev/VolGroup00/LogVol00 ottenibile tramite lvdisplay).

sudo -i
mkdir -p /mnt/temp/boot
vgchange -a y
lvdisplay
mount /dev/sda5 /mnt/temp/boot
mount /dev/VolGroup00/LogVol00 /mnt/temp
chroot /mnt
grub-install –root-directory=/mnt/temp /dev/sda

Se grub-install fallisce con un errore di tipo read error o il bootloader al riavvio successivo non funziona, provate o dal LiveCD o dalla shell di GRUB all’avvio i seguenti comandi tenendo ben presente che avvengono sostanzialmente le stesse cose sia che usiate la shell di GRUB che il terminale dalla distribuzione live avviata ma in questo caso dovete montare le partizioni mentre nell’altro caso no. Cambiate le lettere x e y con i numeri della partizione di boot del vostro sistema.

/sbin/grub
grub> root (hdx,y)
grub> setup (hd0)


Questo è quanto sono solito effettuare quando devo reinstallare GRUB per ritornare a utilizzare anche Linux dopo un’installazione di Windows. Voi come vi comportate in questa situazione? Spero proprio che non optiate per una reinstallazione da zero anche di Linux…

Articolo interessante?

Rimani sempre aggiornato abbonandoti ai feed RSS di questo sito oppure riicevi comodamente gli aggiornamenti via e-mail.

Commenti

  1. Nowhere dice

    Ciao!
    Cercando in rete, mi sono imbattutta nel tuo interessante articolo…
    Ho pensato di porti questa domanda, prima di continuare le mie infruttuose ricerche :D

    Ho una versione di Ubuntu virtualizzata con vmware che ha iniziato a dare al boot il fatidico Grub error 17…così volevo provare a ripristinare le cose con un Live cd.
    Ho usato sia knoppix che Ubuntu 10.x, ma quando provo a fare il mount di quella che credo dia la partizione di boot mi chiede di specificare il file system, ma non ho idea di quale sia…ext3 non lo prende.

    Potresti dirmi se sto tentando un’impresa impossibile o darmi qualche suggerimento?

    grazie!

    • dice

      Si virtualizzato Windows 7 gira bene ma se ti capita magari di dover lavorare con periferiche o simili a basso livello si trovano non pochi problemi e bisogna ricorrere ad un’installazione nativa.

      ;-)