最近安装了 CentOS 7 + Windows 10 的双系统,开机进入 grub2 的启动菜单。由于平时用 Windows 居多,可以接受在开机时手动选择 CentOS,所以需要修改默认启动项为Windows Boot Manager
,并缩短等待时间为 3 秒(默认为 5 秒),下面简单介绍修改方法。
1. 修改 grub2 等待时间
grub2 等待时间由/etc/default/grub
中的GRUB_TIMEOUT
控制,首先查看该文件内容:
> cat /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="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
2. 重新生成 grub2.cfg
修改为GRUB_TIMOUT=3
后,为使其生效,需要重新生成/boot/efi/EFI/centos/grub2.cfg
:
> grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
非 UEFI 设备(Legacy)需将上述文件路径替换为
/boot/grub2/grub.cfg
3. 查看所有启动项
> awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2-efi.cfg
0 : CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
1 : CentOS Linux (0-rescue-3af74b34419f4869a2952d4467e303f8) 7 (Core)
2 : Windows Boot Manager (on /dev/sda2)
非 UEFI 设备(Legacy)需将上述文件路径替换为
/etc/grub.cfg
或使用下列命令:
> grep "^menuentry" /boot/efi/EFI/centos/grub.cfg | cut -d "'" -f2
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-3af74b34419f4869a2952d4467e303f8) 7 (Core)
Windows Boot Manager (on /dev/sda2)
非 UEFI 设备(Legacy)需将上述文件路径替换为
/boot/grub2/grub.cfg
4. 修改默认启动项
默认启动项由/etc/default/grub
中的GRUB_DEFAULT
控制。
如果GRUB_DEFAULT=saved
,则该参数将存储在/boot/grub2/grubenv
中。可使用grub2-editenv list
查看:
> grub2-editenv list
saved_entry=CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
通过grub2-set-default
命令修改默认启动项。由之前的输出可知,Windows Boot Manager
的启动序号为2
:
> grub2-set-default 2
> grub2-editenv list
saved_entry=2
重启即可生效,修改完成。