Ripristinare Grub

 Grub

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 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.

  1. Avviare il Live Cd
  2. Digitare il seguente comando in una finestra di terminale:
    sudo grub
  3. Questo passo serve per determinare la partizione di boot su cui si ha installato Ubuntu. Se si è già a conoscenza di questo dato, è possibile saltare il passo. Digitare:
    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/sda1 (oppure /dev/hda1), 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.
  4. Digitare:
    root (hd0,2)
    indica a GRUB la partizione su cui leggere menu.lst
  5. Questo è il passaggio chiave. Digitare:
    setup (hd0)
    GRUB verrà installato nel MBR del primo hd (di solito l’hd che parte al boot).
  6. Infine digitare:
    quit
  7. Riavviare il sistema e rimuovere il Live CD.

Secondo metodo

È il metodo più laborioso, ma, se eseguito correttamente, dà la certezza di successo. Per proseguire è necessario:

  1. Conoscere la configurazione delle proprie partizioni. È sufficiente consultare il file /etc/fstab per avere tutte le informazioni necessarie. Per ottenere queste informazioni, digitare in una finestra di terminale:
    cat /etc/fstab
    oppure
    fdisk -l /dev/hda
  2. Conoscere il funzionamento del kernel, nel caso si utilizzi un kernel diverso da quello della propria distribuzione o compilato personalmente.
  3. Conoscere la versione del proprio kernel. Questa guida si basa sulla versione 2.6.10-5-386. Per conoscere la versione del kernel installato, digitare in una finestra di terminale:
    uname -r

Preparazione dell’ambiente di lavoro

  1. Inserire il Live CD nel lettore CD e riavviare il computer.
  2. Attendere il completamento dell’avvio del sistema operativo dal CD.
  3. Una volta avviato il sistema, aprire un terminale.
  4. E’ ora necessario diventare l’utente root. Dal terminale digitare:
    sudo passwd root
    inserire una password, quindi digitare:
    su
    e inserire la password precedente.
  5. Ora è necessario montare le partizioni contenenti i file del bootloader. E’ necessario accedere sia alla cartella /sbin/ che a /boot/. Se nel file /etc/fstab c’è una anche la voce /boot/ allora bisogna montare anche quella. Creare un punto di montaggio:
    mkdir /mnt/work
    Se è necessario montare anche /boot/, digitare:
    mkdir /mnt/work/boot
  6. Controllare il proprio file /etc/fstab per identificare le partizioni / e /boot/. Probabilmente saranno qualcosa come /dev/hda3 e /dev/hda4. Per il resto di questa guida saranno utilizzati /dev/hda3 e /dev/hda4, adattare quindi i comandi presentati alla propria situazione
  7. Eseguire i seguenti comandi per caricare il filesystem e alcune informazioni che possono servire a GRUB:
    mount /dev/hda4 /mnt/work
    mount -o bind /dev /mnt/work/dev
    mount -o bind /proc /mnt/work/proc
    cp /proc/mounts /mnt/work/etc/mtab
  8. Digitare:
    chroot /mnt/work/ /bin/bash
    per entrare nell’ambiente di lavoro.

Da questo punto in poi si sta lavorando direttamente sulla propria installazione, qualsiasi modifica interesserà la propria installazione di Ubuntu. Muoversi con cautela!

Ripristinare GRUB automaticamente

Se si ha una partizione /boot/ separata, lanciare il seguente comando:
mount /dev/hda3 /boot/
A questo punto, reinstallare GRUB è facile. Eseguire il seguente comando:
/usr/sbin/grub-install /dev/hda
Se il comando appena usato dovesse fallire, è necessario ripristinare GRUB manualmente.

Ripristinare GRUB manualmente

Prima di intraprendere il prossimo passo, è necessario capire come GRUB identifichi le partizioni. Per GRUB i numeri iniziano con 0, e le lettere sono espresse numericamente, sempre iniziando da 0. Per esempio, /dev/hda1 è “hd0,0” per GRUB. Ugualmente, /dev/hdb3/ è “hd1,2”.

La linea “root” deve puntare alla posizione della vostra partizione /boot/ se ne avete una. Altrimenti deve puntare alla vostra partizione /.Quindi digitare:
/usr/sbin/grub

grub> root (hd0,2)

grub> setup (hd0)

grub> quit

Alternativa

E’ 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 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.

 

Fonte:Wiki-Ubuntu

  5 comments for “Ripristinare Grub

  1. Giovanni C.
    8 marzo 2009 at 20:26

    Ciao,
    sono alquanto disperato… cosa intendi per “in tal caso è necessario effettuare una verifica all’interno del file /etc/fstab”, io credo di avere questo problema in quanto ho utilizzato uno di quei maledetti prg da Windows per le partizioni e non mi parte più il grub.
    Ho seguito tutti i passi di tutte le procedura ed ora mi rimane in GRUB LOADING STAGE1.5 in eterno all’avvio della macchina (prima mi dava anche error 17, ora non +).
    Anche con il SUPERGRUB niente quando si avvia do enter a tutte le opzioni ma non parte nulla.
    Non so dove sbaglio… dimenticavo ho due partizioni una con WINXP e l’altra con UBUNTU…. se necessario posso rinunciare a quella di Windows, ma aitutatemi a salvare UBUNTU.

    Grazie mille per una vostra gentile risposta

    Saluti
    Giovanni
    g76

    • 8 marzo 2009 at 23:44

      Hai provato ad usare gparted da live per vedere la situazione delle tue partizioni?

  2. Giovanni C.
    9 marzo 2009 at 18:04

    Ciao,

    si le partizioni le vedo in questo modo:

    Partition File system label Size Used Unused flags

    UNALLOCATED UNALLOCATED 1 – –
    /dev/sda1 NTSF AMILO 8 7,98 13,83 BOOT
    /dev/sda2 extend 66.53 – –
    /dev/sda5 ext3 64,24 13,34 50,90
    /dev/sda6 LINIX-SWAP 2,29 – –
    UNALLOCATED UNALLOCATED 2,49 – –

    Gli errori che mi ha restituito quando ho provato ripristinare GRUB sono stati:

    – COULD NOT FIND DEVICE FOR /BOOT: NOT FOUND OR NOT A BLOCK DEVICE
    – ERROR 12: INVALID DEVICE REQUESTED

    Dimmi se ti occorrono altre info.

    Grazie infinite

  3. giuliano
    27 luglio 2011 at 21:54

    Grazie,
    ho ripristinato tutto in 1 minuto.
    Erano giorni che digitavo “istruzioni” dei siti “ufficiali” o supertecnologici : la tua pagina è perfetta! 🙂

  4. 29 luglio 2011 at 12:51

    @ giuliano
    Grazie a te…. 🙂

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

:-) 
:-( 
;-) 
:good: 
:negative: 
:scratch: 
:wacko: 
:yahoo: 
B-) 
:heart: 
:dash: 
:whistle: 
:yes: 
:unsure: 
:cry: 
:mail: