支持 UEFI 启动模式的 Windows/Ubuntu 双启动电脑。
在支持 UEFI 启动模式的电脑上,其 BIOS 有启动管理器(Boot Manager)功能,可以在开机时按下启动选择键(注意事项1),系统首先进入启动管理器(Boot Manager),用方向键选择要启动的操作系统,回车即可启动它。
如上一步骤图,选择启动了 Ubuntu,但是 Ubuntu 自带 GRUB 启动管理器,还会显示一个启动选单。选单中包括了 Ubuntu 自身的维护模式(注意事项2),以及电脑上安装的 Windows 操作系统。在双系统环境下,GRUB 的启动选择菜单是强制显示的,目的是为了确保在当前启动不正常时,还能正常启动到其他内核或其他操作系统。
进入 Ubuntu 桌面,按下 Ctrl + Alt + t 调出终端,键入以下命令: sudo gedit /etc/default/grub意思是以管理员(root)的权限启动文本编辑器,编辑 /etc/default/grub 这个文件。在 /etc/default/ 文件夹下的这个 grub 文件,控制着 GRUB 的行为方式,包括默认启动哪个系统、整个菜单的显示时间等。注意这里需要输入管理员密码。
将 GRUB_TIMEOUT=10 这一行中的值,由“10”改为“0”,意思是设置 GRUB 菜单的倒计时为“0”秒,也就是不显示 GRUB 菜单。但是,由于前述“双系统”的因素存在,只改此处仍然不能实现禁用 GRUB 菜单的目的。还得修改其他内容。
在 /etc/default/grub 文件的末尾添加一行: GRUB_DISABLE_OS_PROBER=true意思是禁用 GRUB 探测电脑上安装的其他操作系统的能力。这样,GRUB 将不再探测 Windows 等其他操作系统的存在,结合上一步骤中菜单显示倒计时为“0”,就能实现关闭 GRUB 显示菜单的目的了。
还差最后一步。回到终端,键入以下命令: sudo update-grub此命令更新 GRUB 启动菜单的内容,并写入 GRUB 的启动脚本——至此,上述操作才正式生效。可以从命令的反馈信息中看到,已经没有关于其他操作系统的条目了。重新启动,开机按下 F10,选择 Ubuntu 启动,GRUB 的启动选单消失了。
上述操作禁用了 GRUB 的启动菜单,同时也禁用了进入 Ubuntu 维护模式、以启动其他内核的能力。这在当前内核无法启动、需要启动其他正常内核时,是灾难性的。为了避免这种灾难性的后果,可以采取折衷的方案——缩短 GRUB 菜单的显示时间:重复上述步骤,在 /etc/default/grub 文件末尾添加的 GRUB_DISABLE_OS_PROBER=true 行前面键入一个“#”号,注释掉该行;然后修改 GRUB_TIMEOUT 的值为一个较小的数值(比如“1”或“5”),再执行 sudo update-grub。在这种情况下,GRUB 启动菜单仍然显示,但是显示时间缩短。
本经验使用的电脑上,开机选择操作系统列表的按键为 F10。不同的电脑可能使用不同的按键,可参考电脑的使用说明书。
GRUB 的维护模式可以启动到其他版本的内核,这在当前内核出现故障时,是非常重要的系统修复途径。