• Contatto
  • Note Legali
  • Privacy
  • FAQs
  • Downloads
  • Collabora
  • Supporta
  • Installare Grub dopo l’installazione di Windows

    Scritto da Erriko in Linux il 27 novembre 2008

    http://static.blogo.it/ossblog/supergrub.png

    Se si installa windows DOPO aver installato Linux, Windows si appropriera’ del master boot record e non sara’ piu’ possibile avviare linux.

    Porto ad esempio la struttura del disco del mio portatile (unico disco fisso):

    hda1 -> windows ntfs (C:\ s.o.)
    hda2 -> windows ntfs (D:\ dati)
    hda3 -> linux ext3 (/)
    hda4 -> linux swap
    

    Per ripristinare l’avvio di linux si devono seguire questi passi:

    1) avviare con una distribuzione live (magari avete già in mano il Cd di Canonical con Ubuntu 7.10 Gutsy Gibbon. Tra l’altro è cambiata la copertina. Non sono più i bambini ma ora sono cresciuti e sono diventati giovani. E’ un segnale della maturità acquisita da Ubuntu. Un messaggio veramente forte (per Microsoft?). Complimenti.

    Se il processore è a 64 bit utilizzare invece un live-cd per processori a 64 bit come Kubuntu desktop amd64.

    2) andare a shell e diventare superuser (su)

    3) montare la partizione di linux

    mount /dev/hda3 /mnt/hda3
    

    4) montare /dev in hda3 per far vedere le periferiche al chroot

    mount -o bind /dev /mnt/hda3/dev
    


    5) chroot-arsi in mnt/hda3 facendo diventare il disco linux “perduto” la nostra root

    chroot /mnt/hda3
    

    Questo è il comando che necessita di un live-cd progettato “ad hoc” per i processori a 64 bit: puo’ non essere possibile effettuare il comando “chroot” con un Knoppix a 32 bit se il processore è a 64 bit.


    6) eseguire questa serie di comandi

    cd /boot/grub
    grub
    root (hd0,2)
    setup (hd0)
    exit
    

    dove “cd /boot/grub” mi fa’ entrare nella directory dove stanno i files di configurazione di grub, con “grub” entro nella shell del programma, indico con “root (hd0,2)” il disco dove sta’ (per grub) la directory di boot, tenete presente che grub conta i dischi e la partizioni partendo da 0 e non da 1, quindi hda1 sara’ (hd0,0), hdb1 sara’ (hd1,0) etc etc, con “setup (hd0)” installo grub nel suo mbr e poi “exit” esco a shell di linux

    7) a questo punto si puo’ uscire dal chroot e da shell con una serie di “exit”, chiudere la knoppix e riavviare

    fonte: wiki

    Se vuoi approffondire il tema la Guida a Grub è il posto consigliato. Ottimo tutorial consigliato dallo staff di Debianizzati.

    Anche il wiki italiano di Ubuntu ci offre come al solito quest’ottima recensione:

    Introduzione

    Questo how-to 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, però, prevede l’utilizzo del terminale. Inoltre, fino ad ora, pare abbia sempre funzionato.

    1. Avviare il Live Cd

    2. Aprire un terminale da Applicazioni -> Accessori -> Terminale e avviare grub con privilegi di amministrazione:

      sudo grub
      

      Il passo successivo serve per determinare la propria partizione di boot. Se si è già a conoscenza di questo dato, è possibile saltare il passo.

    3. Digitare

      find /boot/grub/stage1
      

      Verrà data una risposta del tipo hdX o (hdX,Y)

    4. Digitare:

      root (hdX,Y)
      
    5. Digitare:

      setup (hdX,Y)
      

      Questo è il passaggio chiave. In alternativa è possibile digitare:

      setup (hdX)
      

      nel caso si voglia riscrivere GRUB nel MBR. Nel primo caso invece GRUB verrà riscritto nella partizione contenente Linux.

    6. Digitare:

      quit
      
    7. Riavviare il sistema e rimuovere il Live CD.

    Secondo Metodo

    Il metodo seguente è il più semplice dei tre perché non richiede l’utilizzo della riga di comando, in quanto si utilizza l’applet per l’installazione guidata del Live Cd. Tuttavia ha dato problemi ad alcuni utenti nel momento del montaggio delle partizioni.

    La soluzione proviene dal forum internazionale di Ubuntu. Il documento originale si trova qui.

    1. Fare il boot con il CD di Ubuntu/Kubuntu

    2. Proseguire nel programma di installazione fino al passo in cui si partiziona il disco

    3. Selezionare il partizionamento manuale

    4. Montare le partizioni presenti sul disco (/, /boot e /swap)

    5. Non formattare

    6. Concludere il partizionamento manuale

    7. Rispondere «» al momento di salvare i cambiamenti

    8. Verrà dato un errore del tipo «il sistema non può concludere l'installazione...»

    9. Ignorare l’errore e premere «Continue» fino a tornare alla schermata di installazione di Ubuntu

    10. Andare al passo in cui si installa GRUB e procedere con l’installazione

    11. Riavviare il computer dal disco fisso

    Terzo Metodo

    E’ 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, in un terminale digitare:

      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 proprio kernel, in un terminale digitare:

      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 da Applicazioni -> Accessori -> 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:

    /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:

    /sbin/grub
    
    grub> root (hd0,2)
    
    grub> setup (hd0)
    
    grub> quit
    

    Configurare il menù di GRUB


    Questo passo non deve essere fatto se si sta cercando di recuperare il MBR. L’installazione di Windows non altera il contenuto del file menu.lst esistente, quindi se tutto funzionava prima, tutto funzionerà anche ora, quindi a questo punto basta riavviare il computer.

    Aprire il file /boot/grub/menu.lst, con l’editor di testo preferito.


    Il file menu.lst serve per controllare quali sistemi operativi verranno visualizzati da GRUB all’avvio e con che veste grafica.

    Un esempio di menu.lst, alleggerito di tutti i commenti inutili, è riportato qui sotto. È basato sull’esempio precedente e assume che Windows sia installato in /dev/hda1.

    timeout 5 #Numero di secondi che Grub dovrebbe aspettare prima di avviare un SO
    
    default 0 #Il SO che dovrebbe essere avviato di default
    fallback 1 #Il SO che dovrebbe essere avviato se il default fallisce
    title  Ubuntu, 2.6.10 #Una voce 32-bit Ubuntu
    
    #Questo (o qualcosa di simile) ci dovrebbe essere nella vostra configurazione
    
    root   (hd0,2)
    initrd /initrd.img-2.6.10-5-386
    kernel /vmlinuz-2.6.10-5-386 root=/dev/hda4
    title  Ubuntu, 2.6.10 #Un'altra voce 32-bit Ubuntu
    
    #Questo è un esempio di voce di avvio senza una partizione /boot separata.
    #(è stata inserita solo come un'alternativa all'esempio precedente -- non usatele insieme)
    
    root   (hd0,2)
    initrd /boot/initrd.img-2.6.10-5-386
    kernel /boot/vmlinuz-2.6.10-5-386
    
    title  Microsoft Windows XP Home #La voce dell'installazione di Windows
    
    root   (hd0,0)
    makeactive
    chainloader +1
    

    Salvare e chiudere il file, quindi digitare:

    /sbin/update-grub
    

    e provate le nuove voci di avvio.

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

    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.

    Articoli Correlati

    Rimuovere i kernel superflui in Ubuntu
    Installare Ubuntu senza cdrom!
    Accedere come amministratore ai sistemi Windows o Linux senza password
    Installare Windows 7 da pen drive

    Non ci sono ancora commenti... Perchè non essere il primo?!?

    Commenta