多语言展示
当前在线:1139今日阅读:84今日分享:32

UEFI 双启动情况下禁用 GRUB 的启动菜单

在支持 UEFI 双启动的电脑上,由于电脑 BIOS 有启动管理器(Boot Manager)功能,完全可以由它管理操作系统的启动选单。但是,有的操作系统(比如 Ubuntu 等 Linux 发行版)还自带有 GRUB 启动管理器,这样从 BIOS 的启动管理器选择启动此系统后,还要再显示一次 GRUB 启动选单,它们在功能上重复不说,还浪费时间。本经验就介绍一下如何禁用 GRUB 启动菜单。
工具/原料

支持 UEFI 启动模式的 Windows/Ubuntu 双启动电脑。

方法/步骤
1

在支持 UEFI 启动模式的电脑上,其 BIOS 有启动管理器(Boot Manager)功能,可以在开机时按下启动选择键(注意事项1),系统首先进入启动管理器(Boot Manager),用方向键选择要启动的操作系统,回车即可启动它。

2

如上一步骤图,选择启动了 Ubuntu,但是 Ubuntu 自带 GRUB 启动管理器,还会显示一个启动选单。选单中包括了 Ubuntu 自身的维护模式(注意事项2),以及电脑上安装的 Windows 操作系统。在双系统环境下,GRUB 的启动选择菜单是强制显示的,目的是为了确保在当前启动不正常时,还能正常启动到其他内核或其他操作系统。

3

进入 Ubuntu 桌面,按下 Ctrl + Alt + t 调出终端,键入以下命令:         sudo gedit /etc/default/grub意思是以管理员(root)的权限启动文本编辑器,编辑 /etc/default/grub 这个文件。在  /etc/default/ 文件夹下的这个 grub 文件,控制着 GRUB 的行为方式,包括默认启动哪个系统、整个菜单的显示时间等。注意这里需要输入管理员密码。

5

将 GRUB_TIMEOUT=10 这一行中的值,由“10”改为“0”,意思是设置 GRUB 菜单的倒计时为“0”秒,也就是不显示 GRUB 菜单。但是,由于前述“双系统”的因素存在,只改此处仍然不能实现禁用 GRUB 菜单的目的。还得修改其他内容。

6

在 /etc/default/grub 文件的末尾添加一行:        GRUB_DISABLE_OS_PROBER=true意思是禁用 GRUB 探测电脑上安装的其他操作系统的能力。这样,GRUB 将不再探测 Windows 等其他操作系统的存在,结合上一步骤中菜单显示倒计时为“0”,就能实现关闭 GRUB 显示菜单的目的了。

7

还差最后一步。回到终端,键入以下命令:        sudo update-grub此命令更新 GRUB 启动菜单的内容,并写入 GRUB 的启动脚本——至此,上述操作才正式生效。可以从命令的反馈信息中看到,已经没有关于其他操作系统的条目了。重新启动,开机按下 F10,选择 Ubuntu 启动,GRUB 的启动选单消失了。

8

上述操作禁用了 GRUB 的启动菜单,同时也禁用了进入 Ubuntu 维护模式、以启动其他内核的能力。这在当前内核无法启动、需要启动其他正常内核时,是灾难性的。为了避免这种灾难性的后果,可以采取折衷的方案——缩短 GRUB 菜单的显示时间:重复上述步骤,在 /etc/default/grub 文件末尾添加的 GRUB_DISABLE_OS_PROBER=true 行前面键入一个“#”号,注释掉该行;然后修改 GRUB_TIMEOUT 的值为一个较小的数值(比如“1”或“5”),再执行 sudo update-grub。在这种情况下,GRUB 启动菜单仍然显示,但是显示时间缩短。

注意事项
1

本经验使用的电脑上,开机选择操作系统列表的按键为 F10。不同的电脑可能使用不同的按键,可参考电脑的使用说明书。

2

GRUB 的维护模式可以启动到其他版本的内核,这在当前内核出现故障时,是非常重要的系统修复途径。

推荐信息