Arch-Linux

GRUB2:如何記住 grub 最後的選擇

  • August 20, 2019

我目前正在嘗試各種發行版,所以當我啟動筆記型電腦時,我有幾個作業系統可供選擇。通常,所有這些發行版都會安裝grub2並位於列表頂部,因此它們是安裝完成後啟動的預設發行版。

但 Manjaro 做了一些不同的事情。它安裝的某個版本grub2記住我上次啟動的發行版並繼續啟動那個發行版(在重新啟動時),直到我選擇另一個發行版(然後它會啟動那個發行版,依此類推)。

這是我想像的嗎?Manjaro 真的會這樣做嗎?如果是這樣,我如何將該版本安裝到grub我的系統中?乾杯。


這是我的/etc/grub.d/40_custom文件:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

這是我的/etc/default/grub文件:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

根據GRUB 手冊

‘GRUB_DEFAULT’

……………..

如果您將其設置為“已保存”,則預設菜單條目將是由“GRUB_SAVEDEFAULT”、grub-set-default 或 grub-reboot 保存的菜單條目。


‘GRUB_SAVEDEFAULT’

如果此選項設置為“true”,則在選擇條目時,將其保存為新的預設條目以供將來執行 GRUB 使用。這僅在 ‘GRUB_DEFAULT=saved’ 時有用;這是一個單獨的選項,因為 ‘GRUB_DEFAULT=saved’ 在沒有此選項的情況下非常有用,與 grub-set-default 或 grub-reboot 結合使用。預設未設置。此選項依賴於環境塊,它可能並非在所有情況下都可用(請參閱環境塊)。

您必須添加:

GRUB_DEFAULT=saved

GRUB_SAVEDEFAULT=true

到你的/etc/default/grub. 此外,如果您使用自定義菜單文件,則/etc/grub.d/40_custom必須添加選項

savedefault

到該文件中的 menuentry/menuentries。更新 GRUB 之後:

grub-mkconfig -o /boot/grub/grub.cfg

或者

update-grub

如果您安裝了多個發行版,請確保您正在配置和更新活動的GRUB。

引用自:https://unix.stackexchange.com/questions/67194