SDB:Riparare l'MBR dopo l'installazione di Windows
Provato su openSUSE | Articoli consigliati | Articoli correlati | |||
|
Situazione
Dopo aver installato Windows di fianco a Linux, GRUB è stato sostituito dal bootloader di Windows. Come riottenere GRUB nell'MBR?
Procedura
Devi assicurarti di essere in grado di avviare openSUSE. Puoi farlo utilizzando il Sistema di salvataggio (versione inglese: Rescue System) del DVD di installazione o utilizzando un CD con Plop Boot Manager o Super Grub Disk per esempio. Puoi avviare una qualsiasi ISO su chiavetta USB tramite UNetbootin. Quindi puoi riparare il Master Boot Record con pochi comandi:
apri un terminale e digita (nella Modalità di ripristino non è necessario sudo):
Quindi esegui i seguenti comandi:
grub> find /boot/grub/stage2 (ti mostrerà il percorso dell'installazione corrente di grub, è necessario per il passaggio successivo)
grub> root (hdx,y) grub> setup (hdx) grub> quit
Attenzione: x rappresenta il numero del disco e y il numero della partizione in cui è installato GRUB stage2. La numerazione inizia da 0. Per esempio se il primo comando dà come risultato (hd0,5) dovresti eseguire root (hd0,5) seguito da setup (hd0). Dopo aver riavviato dovrebbe riapparire il menu di GRUB.
Questa soluzione è stata suggerita sul forum dall'utente please_try_again.
Procedura per openSUSE 12.2 (con GRUB2)
A partire da openSUSE 12.2 il boot loader predefinito è GRUB2, mentre la vecchia versione (ovvero GRUB Legacy) viene ancora installata, ma non è più la scelta predefinita.
Per recuperare GRUB2 un metodo rapido che puoi seguire consiste nel fare uso del CD Live di openSUSE 12.2, KDE oppure GNOME, inserito il CD avviare una sessione desktop live. Eventualmente si può provare anche utilizzando il Sistema di salvataggio (versione inglese: Rescue System) del DVD di installazione di openSUSE 12.2.
A questo punto apri un terminale e diventa root:
identifica la partizione in cui è installata openSUSE 12.2 (o superiore)
monta la partizione corrispondente alla root "/" di openSUSE, per esempio /dev/sda2:
in openSUSE 12.2 (la versione corrente al momento di scrivere) GRUB2 usa la directory /boot/grub2, per copiarvi le immagini del boot loader, tuttavia per sicurezza conviene specificarla come argomento del seguente comando, che installa effettivamente le immagini del boot loader nella directory di avvio e boot loader nel dispositivo corrispondente alla partizione identificata qui sopra:
in cui /dev/sda indica che la parte di "boot.img" relativa al boot loader verrà installata nel settore di avvio principale (MBR) del disco rigido.
Ora è possibile riavviare il sistema.
Riavviando il sistema dal disco rigido dovrebbe comparire il menu di GRUB2.
Una volta avviata una sessione in openSUSE, potresti voler aggiornare la configurazione del boot loader da YaST > Boot Loader, semplicemente facendo clic sul tasto "OK" in quella finestra o da terminale con:
- In alternativa
Puoi tentare una procedura automatica, usando la distribuzione Live (su CD o chiavetta USB) SystemRescueCD, la cui immagine iso è disponibile a questo indirizzo.
Una volta avviato il CD o la chiavetta USB, nel menu di avvio seleziona l'opzione "Boot an existing Linux system installed on the disk" (oppure "Boot existing Linux OS installed on the disk (64bit kernel)", nel caso di un sistema con architettura a 64 bit. In questo caso la voce sarà probabilmente disponibile sotto "Standard 64 bit kernel (rescue 64) with more choice...").
Verrà (sperabilmente) avviata la prima installazione di GNU/Linux rilevata sul sistema (vedi qui per maggiori informazioni, in inglese), ovvero openSUSE 12.2 nel caso in cui sia l'unico sistema Linux installato.
In ogni caso una volta che il sistema Linux sia stato avviato e in esecuzione, fai riferimento alla guida del boot loader per aggiornare la configurazione per il gestore degli avvii di quel sistema. Per openSUSE 12.2 o altra distribuzione che usa GRUB2 vedi quanto detto poco più sopra riguardo l'uso di grub2-mkconfig
(potrebbe essere update-grub
in alcune altre distribuzioni GNU/Linux diverse da openSUSE).