Grub non avvia automaticamente l'opzione predefinita dopo l'aggiornamento a 12.10


12

Recentemente ho aggiornato Ubuntu da 12.04 a 12.10 e da allora il sistema non si avvia automaticamente. Apre sempre il menu di avvio e devo premere Invio per avviare Ubuntu.

Sembra ignorare il valore di timeout e utilizzare un timeout "infinito".

Non ci sono altri sistemi (nessun doppio avvio), solo le opzioni originariamente installate dall'installazione predefinita di Ubuntu 12.04.

My /etc/default/grubha solo queste opzioni efficaci:

GRUB_DEFAULT='Ubuntu'
GRUB_HIDDEN_TIMEOUT=1
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_TERMINAL=console

Ho sperimentato GRUB_DEFAULT, dandogli i valori '0', '1', 'Ubuntu' ma nulla aiuta.

Sì, corro sempre update-grubdopo.

Come posso riavviare il sistema?


Risposte:


10

Aggiungi quanto segue a /etc/default/grub

GRUB_RECORDFAIL_TIMEOUT=0

Salva ed esegui

sudo update-grub

2

Ho il seguente set di valori nel mio /etc/default/grubfile:

GRUB_DEFAULT=5
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10

Ho diversi altri sistemi operativi sul mio computer e l'impostazione GRUB_DEFAULT sembra impostare l'elemento evidenziato iniziale specifico nell'elenco a partire da 0 e contando verso l'alto. Durante il conto alla rovescia di 10 secondi posso cambiare tra le altre voci dell'elenco.

Ti suggerirei di provare le seguenti impostazioni assicurandoti di commentare il GRUB_HIDDEN_TIMEOUTparametro:

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10

Poi indietro il lavoro da quello, gradualmente rendendo il GRUB_TIMEOUTo GRUB_HIDDEN_TIMEOUTparametri 1 o 2 per accorciare l'attesa sul sistema predefinito selezionato.

Ricorda che potresti aver bisogno di Ctrl + Alt + T per arrivare al terminale per sudo gedit del file.


2

Se guardi /etc/grub.d/00_header Vedresti queste righe:

make_timeout ()
{
    cat << EOF
if [ "\${recordfail}" = 1 ]; then
  set timeout=${GRUB_RECORDFAIL_TIMEOUT:--1}
else
  set timeout=${2}
fi
EOF
}

fondamentalmente, grub2 è in grado di rilevare errori nel processo di avvio e fallback all'avvio manuale.

Cambiando queste righe in qualcosa del genere

make_timeout ()
{
    cat << EOF
  set timeout=${2}
EOF
}

e rigenerare grub config con sudo update-grubdovrebbe risolvere il problema. La domanda interessante, tuttavia, è perché grub continua a pensare che l'avvio non riesca dopo aver premuto manualmente Invio.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.