GRUB 是 Linux 下十分常用的开机管理工具, 主要作用是在不同作业系统或 kernel 选择要启动的项目, 以下文章会介绍将 GRUB 启动选单隐藏的方法。
要隐藏 GRUB 启动选单, 需要编辑 GRUB 的设定档 /etc/default/grub, 在编辑前先进行备份, 以免设定错误不能启动:
$ sudo cp /etc/default/grub /etc/default/grub.bak
备份了 GRUB 设定档案, 可以修改设定, 开启 /etc/default/grub:
$ sudo vi /etc/default/grub
找到 GRUB_TIMEOUT 一行, 这是设定 GRUB 选单的等候时间, CentOS 的默认值 5 秒, 将这个数值改为 0; 另外加入两行:
GRUB_HIDDEN_TIMEOUT=1
GRUB_DISABLE_OS_PROBER=true
修改后改成类似这样:
|
1 2 3 4 5 6 7 8 9 |
GRUB_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT=1 GRUB_DISABLE_OS_PROBER=true 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 rd.lvm.lv=centos/usr rhgb quiet" GRUB_DISABLE_RECOVERY="true" |
储存盘案及离开文字编辑器。
然后需要将上面的设定更新到 GRUB:
在 RHEL, CentOS 及 Fedora 执行以下指令:
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
在 Debian 及 Ubuntu 执行以下指令:
$ sudo update-grub
下次开机后便不会显示 GRUB 选单, 如果需要进入 GRUB 选单, 可以按 Esc 键.