Gentoo Logo

Errori comuni di Gentoo Grub

Indice:

1.  Note iniziali

Riconoscimenti

Molte grazie a Earthwings, penetrode, loyaltonone, pilla, airhead, nephros, yamakawa e a tutti gli altri, per i suggerimenti sul thread originale.

Avvertenza sulla responsabilità

Gli esempi forniti sono soltanto esempi. Assicurati di modificare i numeri delle partizioni secondo le caratteristiche del tuo sistema. Seguendo le soluzioni fornite da questo documento, te ne assumi tutta la responsabilità.

2.  Grub loading, please wait...

Situazione

Codice 2.1: Grub output

GRUB loading stage 1.5
GRUB loading, please wait...

Dopo questo messaggio, il sistema si blocca. Il problema scompare se si tenta di avviare il sistema usando un floppy grub.

Soluzione

Secondo The_Bell, si potrebbe modificare l'ordine di boot nel BIOS.

Imposta il BIOS in modo che non avvii dal floppy come prima opzione.

penetrode ha scritto che questo problema potrebbe essere dovuto anche a una cattiva impostazione delle CFLAGS. Sebbene l'attuale ebuild di grub filtri la CFLAG -fstack-protector, non sarebbe male ricompilare GRUB con delle CFLAGS pulite, se non si riesce a risolvere altrimenti.

Codice 2.2: Usare CFLAGS pulite per ricompilare GRUB

# CFLAGS="-O2 -march=i686 -fomit-frame-pointer -pipe" emerge grub

3.  Grub Error 12

Situazione

Codice 3.1: Grub Output

12 : Invalid device requested.

Questo errore si può avere se la sintassi della stringa che identifica il dispositivo non è corretta, ma anche nel caso di un errore non definito altrimenti.

Soluzione

Mentre installavi grub nel settore di boot usando i comandi interattivi, hai eseguito nel prompt di grub le due linee qui sotto?

Codice 3.2: Comandi per l'installazione interattiva

grub> root (hd0,0)
grub> setup (hd0)

(hd0,0) deve essere sostituito con la tua partizione di boot, e (hd0) con l'hard disk che hai scelto. Ricordati che (hd0) installerà il bootloader nel Master Boot Record del primo disco, il primary master.

4.  Grub Error 15

Situazione

Questo errore si può avere in due diverse fasi della configurazione di GRUB: durante la configurazione iniziale (installando GRUB nel master boot record), oppure dopo aver avviato il sistema, mentre si sta tentando di lanciare Linux (o qualsiasi altra opzione).

Codice 4.1: Grub Output - Configurazione iniziale

grub> root (hd0,0)
 Filesystem type is xfs, partition type 0x83

grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... no
 Checking if "/grub/stage1" exists... no

Error 15: File not found

Codice 4.2: Grub Output - Avvio di una opzione

Booting 'gentoo Linux'

root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
kernel (hd0,0)/boot/kernel-2.4.20 root=/dev/sda3 vga=792

Error 15: File not found
Press any key to continue...

Soluzione - Configurazione iniziale

L'errore si ha quando il nome del file specificato non viene trovato, se tutto il resto (come le info sul disco o sulla partizione) è OK.

Spesso, questo errore denota un'immagine del kernel mancante. Assicurati che il file a cui si fa riferimento esista nella partizione di boot.

Per sapere il nome esatto del kernel, avvia dal CD di installazione e monta la partizione radice e (se è presente) quella di boot. Fatto ciò, esegui il chroot nel tuo sistema e verifica l'elenco dei file disponibili per vedere quali immagini del kernel ci sono:

Codice 4.3: Verificare l'esistenza dell'immagine del kernel

# cd /boot
# ls

Questo comando elencherà tutti i kernel presenti nella partizione di boot. Se il tuo kernel non è presente, assicurati di averlo compilato (usando genkernel o manualmente):

Codice 4.4: Ricompilare il kernel

# cd /usr/src/linux/
# make menuconfig
# make

E di averlo copiato nella partizione di boot:

Codice 4.5: Copiare il kernel

# cp /usr/src/linux/arch/i386/boot/bzImage /boot

Verifica che il nome del kernel sia esattamente uguale a quello menzionato nel file grub.conf. Assicurati inoltre che la riga kernel nel file grub.conf si riferisca alla giusta partizione (esplicitamente o implicitamente).

Il problema può essere causato anche da un BIOS che ignori il disco su cui risiedono il kernel o gli stage grub. Inoltre, la partizione su cui grub salva i suoi stage non dovrebbe utilizzare una configurazione software RAID-5 (o un'altra tecnologia di striping).

Soluzione - Avviare un'opzione

Prima di tutto, verifica che le righe root e setup usate siano corrette.

Se sei certo che siano valide, allora forse stai usando una versione di GRUB buggata (0.93.20031222). Aggiorna l'albero del Portage o maschera questa versione di grub:

Codice 4.6: Mascherare Grub

(Esegui questi comandi dentro l'ambiente in chroot)
# echo "=sys-boot/grub-0.93.20031222" >> /etc/portage/package.mask
# emerge grub -p

Potresti anche provare ad usare lo script grub-install, come è raccomandato dagli autori di GRUB:

Codice 4.7: Usare grub-install

(L'opzione --root-directory serve se hai una partizione di boot
separata, altrimenti dovresti ometterla)
# grub-install --root-directory=/boot /dev/sda

Se neanche questo risolve il problema, la partizione di boot potrebbe essere corrotta. Controlla la presenza di eventuali errori:

Codice 4.8: Verificare la presenza di errori in una partizione

(Assicurati che la partizione di boot, in questo caso /dev/sda1, sia smontata)
# fsck -y /dev/sda1

5.  Grub Error 17

Situazione

Codice 5.1: Grub Output

root (hd0,0)
filesystem type unknown partition type 0x7

Error 17 : Cannot mount selected partition

Soluzione

Si ha questo errore se la partizione richiesta esiste, ma GRUB non riesce a riconoscere il tipo di filesystem.

Assicurati di controllare le impostazioni root(x,y) in grub.conf.

Inoltre, se stai cercando di avviare Windows, assicurati che in grub.conf siano presenti le righe root (hdX,Y) (o rootnoverify (hdX,Y)) e chainloader (hdX,Y)+1.

6.  Grub Error 18

Situazione

Codice 6.1: Grub Output

kernel (hd1,4)/bzImage root=/dev/sdb7

Error 18: Selected cylinder exceeds max supported by BIOS

Soluzione

Questo errore si ha quando viene tentata una lettura ad un indirizzo linear block oltre l'area tradotta dal BIOS. Questo in genere accade se il disco è più grande di quanto il BIOS possa gestire (512MB per i dischi (E)IDE sulle macchine più vecchie, o più grandi di 8GB in generale).

Cerca di aggiornare il BIOS e/o sposta la partizione di boot all'inizio del disco (o comunque nell'intervallo supportato).

7.  GRUB GRUB GRUB GRUB GRUB ...

Situazione

Codice 7.1: Grub Output

GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB
  GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB
...

Soluzione

Secondo airhead questo errore può essere causato dal fatto che il BIOS rilevi i tuoi dischi automaticamente. Prova a impostare nel bios "User Type HDD".

Un'altra possibilità è che tu abbia avuto Grub installato sull'MBR e poi abbia provato a reinstallarlo (ad esempio dopo aver sostituito l'hard disk), ma usando dei comandi setup e root sbagliati.

8.  Probing Devices to Guess BIOS Drives. This May Take a Long Time.

Situazione

Mentre stai provando ad installare grub, questo si blocca dopo aver visualizzato la seguente riga:

Codice 8.1: Grub Output

# grub

Probing devices to guess BIOS drives. This may take a long time.

Soluzione

Una causa riportata è una configurazione strana dei dischi, come ad esempio avere dischi ultra/non-ultra DMA su un unico cavo.

9.  Durante l'installazione, grub si blocca

Situazione

Durante l'installazione, grub si blocca:

Codice 9.1: Grub Output

# grub
(A questo punto, l'installazione si blocca)

Soluzione

Se non hai un drive floppy, hai usato l'opzione --no-floppy?

Codice 9.2: Installare grub usando l'opzione --no-floppy

# grub --no-floppy

10.  Uncompressing Linux... Ok, booting the kernel.

Situazione

Il sistema si blocca dopo aver visualizzato la seguente riga:

Codice 10.1: Linux Output

Uncompressing Linux... Ok, booting the kernel.

Soluzione

Per parlare chiaramente, questo non è un errore di grub. Una possibile causa è che ACPI non funzioni correttamente, essendo però abilitato nel kernel. Prova a disabilitarlo nel bios o nel kernel.

11.  Grub mostra solo il suo prompt

Situazione

All'avvio del sistema, viene mostrato il prompt di grub anziché la lista di opzioni definite nel file grub.conf.

Soluzione

Monta la partizione di boot e controlla se il file grub/grub.conf esiste.

Codice 11.1: Montare e controllare

# mount /dev/sda1 /mnt/gentoo/boot
# cat /mnt/gentoo/boot/grub/grub.conf

Assicurati anche che esista il link simbolico menu.lst:

Codice 11.2: Verificare il link simbolico

# ls -l /mnt/gentoo/boot/grub/menu.lst
lrwxrwxrwx  1 root root 9 Mar  7 14:00 /mnt/gentoo/boot/grub/menu.lst -> grub.conf

Se non esiste, occorre ricrearlo:

Codice 11.3: Ricreare il link simbolico menu.lst

# cd /mnt/gentoo/boot/grub
# ln -snf grub.conf menu.lst

In questo caso, bisogna poi reinstallare grub:

Codice 11.4: Reinstallare Grub

(Eseguire il comando all'interno dell'ambiente in chroot)
# grub-install --root-directory=/boot /dev/sda

12.  Could Not Find Device For /boot/boot: Not Found Or Not a Block Device

Situazione

Eseguendo grub-install durante l'installazione di GRUB, si ottiene il seguente errore:

Codice 12.1: Grub Output

# grub-install --root-directory=/boot /dev/sda
Could not find device for /boot/boot: not found or not a block device

Soluzione

Controlla di non aver dimenticato quanto segue:

Codice 12.2: Aggiornare il file mtab

# grep -v rootfs /proc/mounts > /etc/mtab

13.  Il sistema si riavvia dopo aver premuto Invio nel menù Grub

Situazione

Dopo aver premuto Invio nel menù di Grub durante l'avvio del sistema, il sistema si riavvia.

Soluzione

Prova a disabilitare il supporto framebuffer nel kernel. Se non basta, disattiva anche APM e ACPI.

14.  Dopo aver premuto Invio nel menù di Grub, lo schermo diventa nero

Situazione

Dopo aver premuto Invio nel menù di Grub durante l'avvio del sistema, lo schermo diventa nero, ma il sistema risponde (ad esempio, la spia numlock si può accendere e spegnere).

Soluzione

Disattiva il framebuffer (di solito rimuovendo vga=XYZ dal file grub.conf) e controlla l'architettura del processore nella configurazione del kernel.

15.  Immagine Grub mancante

Situazione

Avviando il sistema, non si vede lo splashscreen di Gentoo.

Soluzione

Prima di tutto, controlla che il file dello splashscreen a cui ci si riferisce in grub.conf esista veramente. Se esiste, controlla l'ebuild di grub. Forse la patch per la splash image è commentata nella versione che stai usando.

16.  Impossibile avviare Windows da un secondo disco

Situazione

Dopo aver selezionato l'opzione Windows, il sistema si rifiuta di avviarsi senza che ci sia un chiaro motivo.

Soluzione

cyrillic ci ha informato che si possono "mappare" i dischi in un ordine diverso, modificando l'opzione Windows in grub.conf in questo modo:

Codice 16.1: Mappare i dischi

title Windows XP
  map (hd0) (hd1)
  map (hd1) (hd0)
  chainloader (hd1,0)+1

17.  Grub dà un errore di "segmentation fault" durante l'installazione

Situazione

La situazione descritta qui sotto è rilevante solo per grub-0.95.x installato nel settore di avvio.

Codice 17.1: Installare Grub

grub> root (hd0,0)

grub> setup (hd0)

Segmentation fault

Soluzione

C'è un bug conosciuto riguardo a questo problema, corretto in grub 0.96. È risaputo anche che grub 0.94-r1 e grub 0.94-r2 dovrebbero funzionare correttamente. Se il problema non si risolve, puoi provare ad emergere grub-static, che attualmente è stabile su amd64 e instabile su x86 (~x86). Controlla il bug #79378 per maggior informazioni.



Stampa

Aggiornato il 26 dicembre 2011

La versione originale di questo documento non è più mantenuta

Oggetto: L'obiettivo di questa raccolta di errori è quello di elencare i problemi e gli errori che si possono incontrare utilizzando GRUB. Tutte le soluzioni descritte sono state elaborate con la cooperazione di molti utenti dei Forum Gentoo.

Hartwig Brandl
Revisore del thread

Ioannis Aslanidis
Redazione

Sven Vermeulen
Redazione

Cristiano Chiucchiolo
Traduzione

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.