Saya memiliki Ubuntu 10.10 Server diinstal pada mesin papan tunggal di lingkungan semi-embedded; tidak ada keyboard atau layar, hanya akses SSH ke sana.
Jadi benar - benar membuat frustrasi ketika kadang-kadang boot dan macet di menu GRUB, menunggu keystroke untuk memilih opsi pertama.
Bagaimana cara saya mengonfigurasi GRUB dalam keadaan apa pun tanpa menunggu penekanan tombol?
Pembaruan # 1: Tidak ada menu.lst, karena ini GRUB 2. Tapi saya punya / etc / default / grub yang seperti ini:
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
Pembaruan # 2: Saya menemukan jawabannya. Pada boot yang mengikuti boot yang gagal, GRUB menonaktifkan timeout-nya sendiri. Karena memperlihatkan menu membuat boot tidak berhasil, ini adalah loop yang tak terhindarkan. Perilaku ini dapat dinonaktifkan dengan mengedit file /etc/grub.d/00_header, dan mengubah fungsi make_timeout:
make_timeout ()
{
echo "set timeout=0"
}
Sekarang keluar dan jalankan kembali skrip updater konfigurasi grub:
sudo update-grub2
Tidak masuk akal bagi saya bahwa perilaku ini akan menjadi default untuk Ubuntu Server, produk yang ditujukan untuk mesin yang diakses oleh konsol.
/boot/grub/menu.lst
penampilanmu?Jawaban:
Untuk Ubuntu 12,04 LTS ada opsi khusus yang dapat diatur
/etc/default/grub
.Misalnya, jika Anda ingin memiliki batas waktu 2 detik (sehingga menghindari macet untuk reboot tanpa pengawasan) tambahkan saja baris berikut di
/etc/default/grub
:Ingatlah untuk berlari
update-grub
setelah itu ...sumber
Berikut adalah instruksi untuk Ubuntu 10.10, yang sedikit berbeda dari versi sebelumnya. Dalam file /etc/grub.d/00_header beri komentar cek bodoh untuk kegagalan boot sebelumnya:
Kemudian perbarui:
Ketahuilah bahwa jika ada drive kedua dengan Linux terpasang, grub2 akan menemukannya, dan menanyakan Anda saat boot mana yang Anda inginkan. Hapus semua drive ekstra sebelum menjalankan "update-grub".
Lihat juga https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/797544
sumber
Saya menemukan pengawasan desain yang sangat tidak menyenangkan ini dengan Ubuntu Server 9.10. Perbaikan Anda telah sangat membantu saya. Saya hanya ingin menunjukkan bahwa perbaikan yang diperlukan untuk 9.10 berbeda karena tidak ada fungsi "make_timeout ()" dalam file yang sama.
Untuk Ubuntu 9.10, pergi ke akhir file yang sama (00_header) dan ubah yang berikut:
untuk
Seperti sebelumnya, kemudian jalankan:
sumber
Konfigurasikan GRUB untuk akses serial (dan bootloader Anda, saat Anda berada di sana) dan simpan port serial terbuka, kabel null-modem, dan konverter USB-ke-RS232 berguna untuk instance ini. Saya menjalankan server tanpa kepala dan Guruplug dan tidak akan melakukannya dengan cara lain.
sumber
Saya baru saja menetapkan batas waktu lama untuk kegagalan rekaman:
Berarti Anda mendapatkan batas waktu 30 detik saat boot, jika boot sebelumnya gagal. (Tidak seperti bagaimana OS lain melakukannya ...)
Ini bisa (dan IMHO seharusnya) bahkan menjadi pengaturan di / etc / default / grub.
sumber
Saya benar-benar tidak tahu mengapa ini adalah tindakan default, terutama untuk server, tetapi ini adalah apa yang telah saya terapkan dalam skrip pengaturan server saya.
sumber
Pendekatan ini sedikit lebih bersih - cukup modifikasi
/etc/default/grub
untuk menambahkan baris:... yang mana dapat dilakukan secara otomatis dengan sesuatu seperti ini dalam penyediaan:
Ini harus layak jika variabel GRUB_RECORDFAIL_TIMEOUT disebutkan dalam
/etc/grub.d/00_header
(seperti yang saya lihat di 12,04 LTS) di:Saya agak penasaran tentang apakah menggali bagaimana kegagalan dicatat dapat menghasilkan jawaban yang lebih baik.
sumber