linux fedora35让GRUB 2记住上一次启动的操作系统
修改符号链接/boot/grub2/grubenv
Wiki上说对于Fedora 20以上的要修改/boot/grub2/grubenv使其以相对路径指向../efi/EFI/fedora/grubenv(原文:The /boot/grub2/grubenv is symbolic linked to /boot/efi/EFI/fedora/grubenv but /boot is not mounted at the time of booting. So grub2 does not have access to the environment variables. To fix this, change /boot/grub2/grubenv to point to ../efi/EFI/fedora/grubenv instead and your chosen default OS will boot without any problems.)才能奏效,我并没有尝试如果不修改此符号链接是否能成功。读者如果有兴趣的话可以尝试不修改此符号链接,直接跳到下一步。
cd /boot/grub2
rm grubenv
ln -s ../efi/EFI/fedora/grubenv grubenv
修改/etc/default/grub
原来的/etc/default/grub看起来可能是这样的:
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
加入一行
GRUB_SAVEDEFAULT=true
生成新的配置文件
BIOS机器上:
grub2-mkconfig -o /boot/grub2/grub.cfg
UEFI机器上:
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg