Bagaimana cara mendapatkan grub2 untuk mengingat pilihan terakhir?


102

Grub2 - Dokumentasi Ubuntu Komunitas mengatakan yang berikut:

Menyimpan OS dapat dicapai dengan menjalankan sudo grub-set-default jika DEFAULT = save diatur di / etc / default / grub. Ini juga dapat disimpan jika GRUB_SAVEDEFAULT = true juga diset di / etc / default / grub. Dalam hal ini, OS default tetap sampai OS baru dipilih secara manual dari menu GRUB 2 atau perintah grub-set-default dijalankan.

Aku meletakkan garis DEFAULT=savedDAN GRUB_SAVEDEFAULT=truedalam /etc/default/grub, dan berlari sudo grub-set-default. Berikut hasilnya:

$ sudo grub-set-default
entry not specified.
Usage: grub-set-default [OPTION] entry
Set the default boot entry for GRUB.

  -h, --help              print this message and exit
  -v, --version           print the version information and exit
  --boot-directory=DIR    expect GRUB images under the directory DIR/grub
                          instead of the /boot/grub directory

ENTRY is a number or a menu item title.

Report bugs to <bug-grub@gnu.org>.

Apakah saya tidak mengikuti dokumentasi dengan benar? Apa cara yang benar untuk melakukan ini?


2
Setelah mengubah file grub Anda sebaiknya selalu menjalankan " sudo update-grub".
— Julien Chau

Jalankan saja: sudo grub-set-default disimpan Ini sesederhana itu.
— T. Coles

Jawaban:


153

Dokumentasi dalam hal ini salah. Semua variabel di /etc/default/grubmulai dengan GRUB_, jadi GRUB_DEFAULT=saved, bukan DEFAULT=saved . Saya telah mengoreksi wiki Ubuntu untuk mencerminkan hal itu.

Manual grub resmi menjelaskan ini dengan benar: http://www.gnu.org/software/grub/manual/grub.html#Simple-configuration

Masukkan yang berikut ini /etc/default/grub:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Lalu lari:

sudo update-grub

4
+1 untuk tautan, saya telah mengedit jawaban Anda dengan solusi yang berfungsi untuk saya (yang saya peroleh dari tautan yang Anda berikan)
— Jay Sullivan

Tautan dalam jawaban ini rusak. 'Halaman 404'.
— sdlins

saya harus menghapus garis yang ada GRUB_DEFAULT=0?
— user25

@ user25 ya hapus GRUB_DEFAULT=0, baris harus membacaGRUB_DEFAULT=saved
— ctrl-alt-delor

4

Dalam kasus saya itu tidak berfungsi untuk entri yang ditentukan melalui /etc/grub.d/40_customyang hilang savedefaultgaris.

menuentry "Chameleon" {
    savedefault ### <<<< this must be added
    set root="(hd1)"
    chainloader +1
}

3

Anda lupa nomornya (mis. "ENTRY adalah angka atau judul item menu." Di teks Anda).

sudo grub-set-default 1

untuk opsi 1 sebagai default.

Selalu jalankan sudo update-grubsetelah memodifikasi /etc/default/grubfile untuk menerapkan perubahan.


7
Ini tidak berhasil untuk saya, itu hanya mengatur menu GRUB untuk menunjuk ke entri # 1, bukan pilihan terakhir
— Jay Sullivan

Jika opsi menu Anda akan dikubur dalam submenu, seperti dalam 'Opsi lanjutan untuk ubuntu', formatnya adalah 'submenu-indeks> submenu-item-index'. Jadi, Anda perlu menentukan 1> 'indeks pilihan Anda'. Anda juga seharusnya dapat menentukan dengan nama string untuk setiap pilihan.
— Epu

2

saveefault tidak akan berfungsi, jika tidak ada header yang tepat di grub.cfg yang dibuat secara otomatis

Untuk menghasilkan tajuk yang tepat Anda perlu mengatur di / etc / default / grub

GRUB_DEFAULT=saved

dan buat grub-mkconfig untuk menggantikan salinan grub.cfg Anda

grub-mkconfig -o /boot/grub.cfg

saveefault dari Grub 2.02 tidak memerlukan argumen tambahan

Anda bisa melihat sumber data yang disimpan di grub.cfg


Lihatlah jawaban dari @ccpizza, mungkin ini akan membantu: askubuntu.com/a/674148/97838
— Hibou57
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.