3779
Commento:
|
7688
Importato da iononsbalgiomai/GrubRisoluzioneProblemi
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 5: | Linea 5: |
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''In queste pagine si fa riferimento alla versione di seconda generazione di '''''Grub''' ('''Grub2''')'' utilizzato in '''''Ubuntu''''' a partire dalla versione '''''9.10'''''. Per informazioni sugli errori in versioni precedenti di '''''Grub''''' fare riferimento alla pagina [[../Legacy/Errori|errori in Grub Legacy]]''. || | |
Linea 9: | Linea 8: |
<<Informazioni(forum="http://forum.ubuntu-it.org/index.php/topic,261868.0.html"; rilasci="9.10")>> | <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=261868"; rilasci="20.04")>> |
Linea 12: | Linea 11: |
In questa guida vengono descritti alcuni degli errori o dei problemi più comuni che possono verificarsi con '''Grub 2'''. | Questa guida spiega come risolvere alcuni problemi noti che possono verificarsi con '''Grub'''. |
Linea 14: | Linea 13: |
= Problemi noti = Segue un elenco dei problemi più comuni in '''Grub 2'''. == Il menù di Grub 2 è nascosto == |
= Grub non viene visualizzato = |
Linea 18: | Linea 15: |
Il menù di avvio di '''Grub 2''' risulta, come impostazione predefinita, nascosto. Per ripristinarlo, è sufficiente modificare con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] il file `/etc/default/grub`, commentare la voce `GRUB_HIDDEN_TIMEOUT` e aggiungere un valore per il timeout: {{{ #GRUB_HIDDEN_TIMEOUT=3 GRUB_TIMEOUT=XXX |
La seguente procedura si applica nei casi in cui Ubuntu è l'unico sistema operativo installato nel computer. Nel caso invece siano presenti altri sistemi operativi consultare le possibili soluzioni nei [[#multiboot|paragrafi successivi]]. Quando '''Ubuntu''' è l'unico sistema installato, il menù di avvio di '''Grub''' è nascosto per impostazione predefinita.<<BR>> Per visualizzarlo una tantum è sufficiente premere, prima del caricamento del sistema, il tasto '''Esc''' su sistemi [[AmministrazioneSistema/Uefi|Uefi]] oppure '''Shift''' (Maiusc) su sistemi legacy BIOS. Se invece si desidera visualizzare il menù di '''Grub''' ad ogni avvio attenersi alla seguente procedura: 0. Aprire il file `/etc/default/grub` con un [[Ufficio/EditorDiTesto|editor di testo]] e i con [[AmministrazioneSistema/Sudo|privilegi di amministrazione]]. 0. Assegnare il valore `menu` alla voce `GRUB_TIMEOUT_STYLE`:{{{ GRUB_TIMEOUT_STYLE=menu |
Linea 22: | Linea 25: |
Sostituire `XXX` con un valore numerico. Salvare il file e quindi eseguire il comando: {{{ | 0. Specificare un valore espresso in secondi per la voce `GRUB_TIMEOUT`, ad esempio 10:{{{ GRUB_TIMEOUT=10 }}} 0. Salvare e chiudere il file. 0. Aggiornare la configurazione di '''Grub''' digitando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ |
Linea 26: | Linea 33: |
== Dual boot == | = Messaggio: «error: no such partition grub rescue» = |
Linea 28: | Linea 35: |
Quella che segue è una procedura fornita dagli utenti per aggirare un possibile problema del ''dual boot'' con la versione '''9.10'''. | Quando viene visualizzato questo errore è presente un errore di configurazione di oppure Grub è stato corrotto. A tal fine procedere al ripristino come descritto in [[AmministrazioneSistema/Grub/Ripristino|questa guida]]. |
Linea 30: | Linea 37: |
In un terminale, eseguire i seguenti comandi: {{{ sudo apt-get install --reinstall libdebian-installer4 sudo os-prober |
<<Anchor(multiboot)>> = Viene avviato un altro sistema operativo = Nei sistemi Uefi l'avvio dei sistemi operativi è gestito dal firmware della scheda madre. Normalmente '''Ubuntu''' viene impostato come primo sistema operativo durante l'installazione. Può accadere però che il firmware della scheda madre non recepisca questa impostazione e quindi continui ad avviare un altro sistema operativo, senza visualizzare il menù di '''Grub'''. Per correggere questo comportamento procedere come segue: 0. Avviare il computer con un supporto di installazione ([[Installazione/CreazioneLiveUsb|Live USB]] o [[Hardware/DispositiviPartizioni/MasterizzareIso|DVD]]) di '''Ubuntu 64 bit''' in [[Installazione/InstallareUbuntu#Avvio_del_supporto_di_installazione|modalità UEFI]]. 0. Scegliere '''Prova Ubuntu''' o '''Try Ubuntu without installing'''. 0. Una volta caricato il desktop, accertarsi che la sessione live sia stata avviata in modalità UEFI digitando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ mount | grep efivarfs}}} Se la sessione live è stata correttamente avviata in modalità UEFI, l'output sarà simile al seguente:{{{ efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime) }}} In assenza di output o se vengono restituiti messaggi di errore, riavviare il computer accertandosi di avviare il supporto di installazione in [[Installazione/InstallareUbuntu#Avvio_del_supporto_di_installazione|modalità UEFI]]. 0. Verificare l'ordine di avvio digitando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ efibootmgr}}} L'output sarà simile al seguente:{{{ BootCurrent: 0000 Timeout: 10 seconds BootOrder: 0000,0001,0002 Boot0000* Windows Boot Manager Boot0001* ubuntu Boot0002* HDD }}} 0. Identificare la voce di boot che fa riferimento a '''Ubuntu'''. In questo esempio è la `0001`. 0. Modificare l'ordine di boot in modo che '''Ubuntu''' si trovi al primo posto. In questo esempio l'ordine sarà dunque `0001,0002,0000`. Per applicarlo digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ sudo efibootmgr -o 0001,0002,0000}}} Se questa procedura non dovesse avere effetto, sarà necessario modificare l'ordine di avvio nelle impostazioni del firmware della scheda madre. A tal fine consultare il manuale della scheda o del computer. = Viene avviato Ubuntu senza poter scegliere un altro sistema = Su alcune configurazioni hardware con '''Ubuntu 20.04''' e successivi in modalità Uefi, può accadere che il menu di '''Grub''' non venga visualizzato, nonostante siano installati più sistemi operativi correttamente riconosciuti da '''Grub'''. Ciò può accadere a causa del [[https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1863434|Bug #1863434]]. Si raccomanda innanzitutto di eseguire un aggiornamento del firmware della scheda madre o del computer (consultare a tale scopo la manualistica fornita dal produttore). In molti casi tale operazione potrebbe risolvere il problema.<<BR>> Qualora il problema non venga risolto adottare una delle soluzioni proposte di seguito. <<Anchor(bug1863434_sol1)>> == Procedura con Secure Boot attivo == La procedura che segue consente di visualizzare il menu di '''Grub''' mantenendo Secure Boot attivo. {{{#!wiki note Adottando questa soluzione non sarà possibile utilizzare i temi grafici di '''Grub'''. }}} 0. Aprire il file `/etc/default/grub` con un [[Ufficio/EditorDiTesto|editor di testo]] e con [[AmministrazioneSistema/Sudo|privilegi di amministrazione]]. 0. Rimuovere il cancelletto all'inizio della riga `#GRUB_TERMINAL=console`:{{{ GRUB_TERMINAL=console}}} 0. Salvare le modifiche e chiudere l'editor di testo. 0. Aggiornare la configurazione di '''Grub''' digitando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:: {{{ |
Linea 36: | Linea 103: |
= Errori = Segue un elenco degli errori più riscontrati in '''Grub 2'''. == Errore "--no-floppy" == |
<<Anchor(bug1863434_sol2)>> == Procedura con Secure Boot disattivato == |
Linea 40: | Linea 106: |
Alcuni utenti hanno segnalato, dopo un aggiornamento, un errore del tipo: `--no-floppy`. Nel caso si verificasse questo errore, da riga di comando digitare: {{{ sudo grub-install |
La procedura che segue consente di visualizzare il menu di '''Grub''' anche con un eventuale tema grafico. Tuttavia sarà necessario disabilitare Secure Boot. 0. Se era stata già adottata la [[#bug1863434_sol1|procedura precedente]], ripristinare la riga `#GRUB_TERMINAL=console` nel file `/etc/default/grub` (passaggi 1 e 2). 0. Disattivare il Secure Boot nelle impostazioni del firmware (per maggiori informazioni consultare il manuale della scheda madre o del computer). 0. Verificare l'ordine di avvio digitando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ efibootmgr -v}}} L'output sarà simile al seguente:{{{ BootCurrent: 0001 Timeout: 10 seconds BootOrder: 0001,0000,0002 Boot0000* Windows Boot Manager HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,xxxxxxx,xxxxxxx)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC Boot0001* ubuntu HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,xxxxxxx,xxxxxxx)/File(\EFI\ubuntu\shimx64.efi) Boot0002 HDD: HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,xxxxxxx,xxxxxxx)/File(\EFI\ubuntu\grubx64.efi)RC}}} 0. Identificare la voce di boot che fa riferimento al file `grubx64.efi`. In questo esempio è la `0002`. 0. Modificare l'ordine di boot in modo che `grubx64.efi` si trovi al primo posto. In questo esempio l'ordine sarà dunque `0002,0001,0000`. Per applicarlo digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ sudo efibootmgr -o 0002,0001,0000 |
Linea 45: | Linea 124: |
## 0. Aprire con un [:Ufficio/EditorDiTesto:editor di testo] e con i [:AmministrazioneSistema/Sudo:privilegi di amministrazione] il file ##`/usr/lib/grub/grub-mkconfig_lib`. ## 0. Cercare ed eliminare la riga: ## {{{ ##search --no-floppy --fs-uuid --set ${fs_uuid} ##}}} ## 0. Aggiornare '''Grub''' con il comando: ## {{{ ##sudo update-grub ##}}} |
= Ulteriori risorse = |
Linea 55: | Linea 126: |
Per maggiori informazioni, è possibile consultare il [[http://ubuntuforums.org/showthread.php?t=1194714&page=2|forum inglese]]. | * [[https://www.gnu.org/software/grub/manual/grub/grub.html#Troubleshooting|Errori comuni di Grub (GNU GRUB Manual 2.04)]] * [[AmministrazioneSistema/BootRepair|Boot-Repair]] * [[AmministrazioneSistema/SuperGrubDisk|SuperGrubDisk]] |
Linea 57: | Linea 130: |
== Errore "unkown command initrd" == Questo errore potrebbe verificarsi dopo un avanzamento di versione dalla '''9.04''' alla '''9.10'''. 0. Premere '''e''' per modificare la riga di boot 0. Rimuovere la riga `search --fs-uuid` 0. Premere '''Ctrl + C''' per accedere alla riga di comando di '''Grub''' 0. Digitare `insmod linux` e premere '''Invio''' 0. Premere '''Esc''' e quindi '''Ctrl + X''' 0. Una volta avviato il sistema, è necessario reinstallare '''Grub'''. Nel caso il device di installazione sia `sda`, digitare in un terminale: {{{ sudo grub-install /dev/sda }}} Modificar il comando precedente in base ai propri device. == Error 11 == Questo errore si potrebbe verificare dopo un aggiornamento da '''Grub Legacy'''. 0. Quando si verifica questo errore, premere un tasto qualsiasi per continuare 0. Evidenziare «`Chainload into GRUB 2`» 0. Premere il tasto '''e''' 0. Evidenziare la riga «`root xxxxxxxxxxxxxxxxxxxx`» 0. Premere il tasto '''e''' 0. Modificare la riga «`root xxxxxxxxxxxxxxxx`» in «`uuid xxxxxxxxxxxxxxxxxx`» 0. Premere '''b''' per avviare 0. Caricare il kernel e premere '''Invio''' |
|
Linea 83: | Linea 131: |
CategoryAmministrazione CategoryDaRevisionare | CategoryAmministrazione |
Guida verificata con Ubuntu: 20.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Questa guida spiega come risolvere alcuni problemi noti che possono verificarsi con Grub.
Grub non viene visualizzato
La seguente procedura si applica nei casi in cui Ubuntu è l'unico sistema operativo installato nel computer. Nel caso invece siano presenti altri sistemi operativi consultare le possibili soluzioni nei paragrafi successivi.
Quando Ubuntu è l'unico sistema installato, il menù di avvio di Grub è nascosto per impostazione predefinita.
Per visualizzarlo una tantum è sufficiente premere, prima del caricamento del sistema, il tasto Esc su sistemi Uefi oppure Shift (Maiusc) su sistemi legacy BIOS.
Se invece si desidera visualizzare il menù di Grub ad ogni avvio attenersi alla seguente procedura:
Aprire il file /etc/default/grub con un editor di testo e i con privilegi di amministrazione.
Assegnare il valore menu alla voce GRUB_TIMEOUT_STYLE:
GRUB_TIMEOUT_STYLE=menu
Specificare un valore espresso in secondi per la voce GRUB_TIMEOUT, ad esempio 10:
GRUB_TIMEOUT=10
- Salvare e chiudere il file.
Aggiornare la configurazione di Grub digitando nel terminale il seguente comando:
sudo update-grub
Messaggio: «error: no such partition grub rescue»
Quando viene visualizzato questo errore è presente un errore di configurazione di oppure Grub è stato corrotto. A tal fine procedere al ripristino come descritto in questa guida.
Viene avviato un altro sistema operativo
Nei sistemi Uefi l'avvio dei sistemi operativi è gestito dal firmware della scheda madre. Normalmente Ubuntu viene impostato come primo sistema operativo durante l'installazione.
Può accadere però che il firmware della scheda madre non recepisca questa impostazione e quindi continui ad avviare un altro sistema operativo, senza visualizzare il menù di Grub.
Per correggere questo comportamento procedere come segue:
Avviare il computer con un supporto di installazione (Live USB o DVD) di Ubuntu 64 bit in modalità UEFI.
Scegliere Prova Ubuntu o Try Ubuntu without installing.
Una volta caricato il desktop, accertarsi che la sessione live sia stata avviata in modalità UEFI digitando nel terminale il seguente comando:
mount | grep efivarfs
Se la sessione live è stata correttamente avviata in modalità UEFI, l'output sarà simile al seguente:
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
In assenza di output o se vengono restituiti messaggi di errore, riavviare il computer accertandosi di avviare il supporto di installazione in modalità UEFI.
Verificare l'ordine di avvio digitando nel terminale il seguente comando:
efibootmgr
L'output sarà simile al seguente:
BootCurrent: 0000 Timeout: 10 seconds BootOrder: 0000,0001,0002 Boot0000* Windows Boot Manager Boot0001* ubuntu Boot0002* HDD
Identificare la voce di boot che fa riferimento a Ubuntu. In questo esempio è la 0001.
Modificare l'ordine di boot in modo che Ubuntu si trovi al primo posto. In questo esempio l'ordine sarà dunque 0001,0002,0000. Per applicarlo digitare nel terminale il seguente comando:
sudo efibootmgr -o 0001,0002,0000
Se questa procedura non dovesse avere effetto, sarà necessario modificare l'ordine di avvio nelle impostazioni del firmware della scheda madre. A tal fine consultare il manuale della scheda o del computer.
Viene avviato Ubuntu senza poter scegliere un altro sistema
Su alcune configurazioni hardware con Ubuntu 20.04 e successivi in modalità Uefi, può accadere che il menu di Grub non venga visualizzato, nonostante siano installati più sistemi operativi correttamente riconosciuti da Grub. Ciò può accadere a causa del Bug #1863434.
Si raccomanda innanzitutto di eseguire un aggiornamento del firmware della scheda madre o del computer (consultare a tale scopo la manualistica fornita dal produttore). In molti casi tale operazione potrebbe risolvere il problema.
Qualora il problema non venga risolto adottare una delle soluzioni proposte di seguito.
Procedura con Secure Boot attivo
La procedura che segue consente di visualizzare il menu di Grub mantenendo Secure Boot attivo.
Adottando questa soluzione non sarà possibile utilizzare i temi grafici di Grub.
Aprire il file /etc/default/grub con un editor di testo e con privilegi di amministrazione.
Rimuovere il cancelletto all'inizio della riga #GRUB_TERMINAL=console:
GRUB_TERMINAL=console
- Salvare le modifiche e chiudere l'editor di testo.
Aggiornare la configurazione di Grub digitando nel terminale il seguente comando::
sudo update-grub
Procedura con Secure Boot disattivato
La procedura che segue consente di visualizzare il menu di Grub anche con un eventuale tema grafico. Tuttavia sarà necessario disabilitare Secure Boot.
Se era stata già adottata la procedura precedente, ripristinare la riga #GRUB_TERMINAL=console nel file /etc/default/grub (passaggi 1 e 2).
- Disattivare il Secure Boot nelle impostazioni del firmware (per maggiori informazioni consultare il manuale della scheda madre o del computer).
Verificare l'ordine di avvio digitando nel terminale il seguente comando:
efibootmgr -v
L'output sarà simile al seguente:
BootCurrent: 0001 Timeout: 10 seconds BootOrder: 0001,0000,0002 Boot0000* Windows Boot Manager HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,xxxxxxx,xxxxxxx)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC Boot0001* ubuntu HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,xxxxxxx,xxxxxxx)/File(\EFI\ubuntu\shimx64.efi) Boot0002 HDD: HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,xxxxxxx,xxxxxxx)/File(\EFI\ubuntu\grubx64.efi)RC
Identificare la voce di boot che fa riferimento al file grubx64.efi. In questo esempio è la 0002.
Modificare l'ordine di boot in modo che grubx64.efi si trovi al primo posto. In questo esempio l'ordine sarà dunque 0002,0001,0000. Per applicarlo digitare nel terminale il seguente comando:
sudo efibootmgr -o 0002,0001,0000