Grub tidak melakukan autoboot opsi default setelah peningkatan ke 12.10


12

Saya baru-baru ini meningkatkan Ubuntu dari 12,04 menjadi 12,10 dan sejak saat itu, sistem tidak secara otomatis boot. Selalu membuka menu boot, dan saya harus menekan Enter untuk membuatnya boot Ubuntu.

Tampaknya mengabaikan nilai batas waktu, dan menggunakan batas waktu 'tidak pernah berakhir'.

Tidak ada sistem lain (tidak ada dual boot), hanya opsi yang awalnya diinstal oleh instalasi Ubuntu 12.04 default.

Saya /etc/default/grubhanya memiliki opsi efektif ini:

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

Saya bereksperimen dengan GRUB_DEFAULT, memberikan nilai '0', '1', 'Ubuntu' tetapi tidak ada yang membantu.

Ya saya selalu lari update-grubsesudahnya.

Bagaimana saya bisa membuat sistem boot lagi?


Jawaban:


10

Tambahkan yang berikut ke /etc/default/grub

GRUB_RECORDFAIL_TIMEOUT=0

Simpan dan jalankan

sudo update-grub

2

Saya memiliki serangkaian nilai berikut dalam /etc/default/grubfile saya :

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

Saya memiliki beberapa sistem operasi lain di komputer saya dan pengaturan GRUB_DEFAULT tampaknya mengatur item yang disorot awal spesifik pada daftar mulai dari 0 dan menghitung ke atas. Selama waktu hitung mundur 10 detik saya dapat mengubah antara entri lain dalam daftar.

Saya sarankan Anda mencoba pengaturan berikut memastikan Anda mengomentari GRUB_HIDDEN_TIMEOUTparameter:

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

Kemudian bekerja mundur dari itu, secara bertahap membuat GRUB_TIMEOUTatau GRUB_HIDDEN_TIMEOUTparameter 1 atau 2 untuk mempersingkat menunggu pada sistem yang dipilih default.

Ingat bahwa Anda mungkin perlu Ctrl + Alt + T untuk sampai ke terminal untuk sudo gedit file.


2

Jika Anda melihat /etc/grub.d/00_header Anda akan melihat baris ini:

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

pada dasarnya, grub2 mampu mendeteksi kesalahan dalam proses booting dan fallback ke booting manual.

Mengubah garis-garis ini menjadi sesuatu seperti

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

dan regenerasi konfigurasi grub sudo update-grubharus memperbaiki masalah. Namun pertanyaan yang menarik adalah mengapa grub terus berpikir bahwa booting gagal setelah Anda secara manual menekan Enter.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.