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...
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.
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
|
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.
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.
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/hda3 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/hda |
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/hda1, sia smontata) # fsck -y /dev/hda1 |
Codice 5.1: Grub Output |
root (hd0,0) filesystem type unknown partition type 0x7 Error 17 : Cannot mount selected partition |
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.
Codice 6.1: Grub Output |
kernel (hd1,4)/bzImage root=/dev/hdb7 Error 18: Selected cylinder exceeds max supported by BIOS |
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 ...
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 ... |
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.
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.
|
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
Durante l'installazione, grub si blocca:
Codice 9.1: Grub Output |
# grub (A questo punto, l'installazione si blocca) |
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.
Il sistema si blocca dopo aver visualizzato la seguente riga:
Codice 10.1: Linux Output |
Uncompressing Linux... Ok, booting the kernel. |
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
All'avvio del sistema, viene mostrato il prompt di grub anziché la lista di opzioni definite nel file grub.conf.
Monta la partizione di boot e controlla se il file grub/grub.conf esiste.
Codice 11.1: Montare e controllare |
# mount /dev/hda1 /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/hda |
12. Could Not Find Device For /boot/boot: Not Found Or Not a Block Device
Eseguendo grub-install durante l'installazione di GRUB, si ottiene il seguente errore:
Codice 12.1: Grub Output |
# grub-install --root-directory=/boot /dev/hda
Could not find device for /boot/boot: not found or not a block device
|
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
Dopo aver premuto Invio nel menù di Grub durante l'avvio del sistema, il sistema si riavvia.
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
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).
Disattiva il framebuffer (di solito rimuovendo vga=XYZ dal file grub.conf) e controlla l'architettura del processore nella configurazione del kernel.
Avviando il sistema, non si vede lo splashscreen di Gentoo.
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
Dopo aver selezionato l'opzione Windows, il sistema si rifiuta di avviarsi senza che ci sia un chiaro motivo.
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
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 |
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.
I contenuti di questo documento sono rilasciati sotto la licenza Creative Commons - Attribution / Share Alike.