BR Indice(depth=2) VersioniSupportate(intrepid hardy)
Introduzione
Questa guida contiene tre diverse soluzioni per ripristinare GRUB a causa di:
- Sistemi in dual-boot in cui Windows è stato installato dopo Ubuntu.
- Problemi di Windows che hanno obbligato a una sua reinstallazione.
- Tecniche di recupero di Windows che comportino il "ripristino" del MBR.
Errori nell'installazione di GRUB.
Tutti e tre i metodi qui descritti richiedono l'utilizzo del Live CD.
Primo metodo
Il primo metodo è una procedura molto semplice che prevede l'utilizzo del [:AmministrazioneSistema/RigaDiComando:terminale]. La seguente procedura dovrebbe funzionare, a patto che alla struttura delle partizioni del disco contenente GRUB non sia stata effettuata alcuna modifica, tramite programmi come gparted, Norton Partition Magic: in tal caso è necessario effettuare una verifica all'interno del file /etc/fstab.
- Avviare il Live Cd
Per sistemi installati su file system ext4 è necessario avviare un Live Cd di Ubuntu 9.04 Jaunty Jackalope o superiore.
Digitare il seguente comando in una finestra di terminale:
sudo grub
Determinare la partizione di boot su cui si ha installato Ubuntu digitando:
find /boot/grub/stage1
Verrà data una risposta del tipo hdX o (hdX,Y), dove X e Y indicano rispettivamente il disco e la partizione su cui è installato GRUB. Per esempio, se GRUB è installato sulla partizione /dev/sda3, il comando precedente darà come risposta (hd0,2). Nei seguenti comandi verrà usato come esempio (hd0,2) per cui non dimenticare di adattare i comandi alla risposta ricevuta dal comando precedente.
Digitare:
root (hd0,2)
indica a GRUB la partizione su cui leggere menu.lst
Questo è il passaggio chiave. Digitare:
setup (hd0)
GRUB verrà installato nel MBR del primo hd (di solito l'hd che parte al boot).
Infine digitare:
quit
- Riavviare il sistema e rimuovere il Live CD.
Secondo metodo
Ripristinare GRUB automaticamente
Questo metodo funzione direttamente dal sistema operativo che si sia riusciti, per esempio, ad avviare con il cdlive di supergrub o altro tool
sudo fdisk -l
per scoprire scoprire il disco su cui è installato GRUB.
Un esempio di output potrebbe essere il seguente:
Dispositivo Boot Start End Blocks Id System /dev/sda1 * 63 153597464 76798701 7 HPFS/NTFS /dev/sda2 153597465 419842709 133122622+ 7 HPFS/NTFS /dev/sda3 419842710 487219319 33688305 83 Linux /dev/sda4 487219320 488392064 586372+ 5 Esteso /dev/sda5 487219383 488392064 586341 82 Linux swap / Solaris
Per installare grub
sudo grub-install /dev/sda
Se non dovesse andare a buon fine
sudo grub-install (hd0)
In fine per aggiornare il menu di grub
sudo update-grub
Questo installerà GRUB sul disco posto sul canale primario master.
Se il comando appena usato dovesse fallire, seguire il [#primo-metodo primo metodo].
Terzo metodo
È il metodo più laborioso, ma nel caso il pacchetto grub non si sia installato o si abbia la necessità di reinstallarlo causa qualche file corrotto, se eseguito correttamente, dà la certezza di successo. Per proseguire è necessario:
Preparazione dell'ambiente di lavoro
- Inserire il Live CD nel lettore CD e riavviare il computer.
- Attendere il completamento dell'avvio del sistema operativo dal CD.
- Una volta avviato il sistema, aprire un terminale.
- E' ora necessario diventare l'utente root. Dal terminale digitare
sudo -s
Battere semplicemente enter a richiesta password
Ora è necessario montare le partizioni contenenti i file del bootloader. Indiviuare la partizione con ubuntu usando il metodo 1 o 2.
Creare i punti di mount necessari
mkdir /mnt/work
Eseguire i seguenti comandi per caricare il filesystem e alcune informazioni che possono servire a GRUB. nell'esempio è usato sda4
mount /dev/sda4 /mnt/work mount -o bind /dev /mnt/work/dev mount -o bind /proc /mnt/work/proc cp /proc/mounts /mnt/work/etc/mtab
- Digitare:
chroot /mnt/work/ /bin/bash
Da questo punto in poi si sta lavorando direttamente sulla propria installazione, qualsiasi modifica interesserà la propria installazione di Ubuntu. Muoversi con cautela! Da chroot è in oltre possibile effeturare qualsiasi operazione da riga di comando come: aggiornare il sistema o installare/rimuovere applicazioni e kernel con apt - dpkg etc. etc.
Ripristinare GRUB automaticamente da chroot
Se si ha una partizione /boot/ separata,si puo vedere con cat /etc/fstab quale sia il /dev con punto di mount /boot, ipotizzando che sia sda3, lanciare il seguente comando:
mount /dev/sda3
A questo punto, installare, reinstallare o ripristinare GRUB è facile É consigliabile reinstallare comunque il pacchetto grub. Digitare nel terminale
sudo apt-get install --reinstall grub
Per completare l'installazi9one su mbr
grub-install /dev/sda oppure grub-install (hd0) update-grub
Se il comando appena usato dovesse fallire, è necessario ripristinare GRUB manualmente.
Ripristinare GRUB manualmente
Seguire i passi del metodo 1 sempre in charoot al termine digitare exit per uscire da chroot e riavviare il pc
Alternativa
È disponibile un Live CD in grado di riparare automaticamente GRUB dopo l'installazione di Windows, ed è molto facile da utilizzare. Per scaricare il CD di «Super Grub Disk», consultare [http://supergrub.forjamari.linex.org/ questa] pagina.
Una volta scaricato e masterizzato il CD, avviare il computer con tale CD inserito e scegliere: Italian -> Linux -> Fix Linux Boot (GRUB). Al termine dell'operazione si riceverà il messaggio: «SGD has done it!!!». In questo modo GRUB verrà ripristinato e sarà di nuovo possibile avviare sia Linux che Windows.