![除非按下键,否则如何隐藏 grub?](https://linux22.com/image/990923/%E9%99%A4%E9%9D%9E%E6%8C%89%E4%B8%8B%E9%94%AE%EF%BC%8C%E5%90%A6%E5%88%99%E5%A6%82%E4%BD%95%E9%9A%90%E8%97%8F%20grub%EF%BC%9F.png)
我有 2 个操作系统:Windows 8 和 Kubuntu 16.04。Kubuntu 是我的主要操作系统。我希望我的笔记本电脑直接启动到 Kubuntu,除非我在启动过程中按下 SHIFT 键来显示 Grub 菜单。同样,我希望只有当我在启动过程中按下 SHIFT 或任何其他键时,grub 菜单才会显示操作系统列表。
我按照说明进行操作隐藏 GRUB2 菜单,除非您按住 Shift 键:如何实现这一点?但它并没有像我希望的那样工作。
我甚至不想感觉到 grub 在那里,所以需要以下值。
GRUB_HIDDEN_TIMEOUT=0.0
GRUB_TIMEOUT=0.0
显然,Linux 并没有像它所说的那样给予您自由。因为如果它给了,/etc/grub.d/30_os-prober 不会自行更改超时。
if [ "\${timeout}" = 0 ]; then
set timeout=10
有没有什么简单的方法可以实现我想要的?提前谢谢。
编辑:
它不起作用。另外根据 info -f grub -n '简单配置'
'GRUB_HIDDEN_TIMEOUT'
Wait this many seconds before displaying the menu. If <ESC> is
pressed during that time, display the menu and wait for input
according to 'GRUB_TIMEOUT'. If a hotkey associated with a menu
entry is pressed, boot the associated menu entry immediately. If
the timeout expires before either of these happens, display the
menu for the number of seconds specified in 'GRUB_TIMEOUT' before
booting the default entry.
If you set 'GRUB_HIDDEN_TIMEOUT', you should also set
'GRUB_TIMEOUT=0' so that the menu is not displayed at all unless
<ESC> is pressed.
This option is unset by default, and is deprecated in favour of the
less confusing 'GRUB_TIMEOUT_STYLE=countdown' or
'GRUB_TIMEOUT_STYLE=hidden'.
我设置了 GRUB_TIMEOUT=5 和 GRUB_HIDDEN_TIMEOUT=3,grub 菜单显示了... 3 秒!?
显然 grub 背后的人把它搞砸了。
答案1
你需要做:
GRUB_HIDDEN_TIMEOUT=5
GRUB_TIMEOUT=0
然后,当您打开计算机时,按ESC
进入启动菜单,否则计算机将以默认选择启动。
为了简单起见,你可以使用以下方法轻松更改这些值Grub 定制器
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
在选项卡中一般的, 点击高级设置,然后选择激活以下键并将值更新为:
GRUB_HIDDEN_TIMEOUT = 5
GRUB_TIMEOUT = 0
可选,要显示一个计数器,显示您可以按 的剩余秒数ESC
,请设置:
GRUB_HIDDEN_TIMEOUT_QUIET = false
答案2
要启用 GRUB 隐藏超时,请打开终端并执行:
sudo apt install gksu
(如果尚未安装,可以选择使用 nano 编辑器)
gksudo gedit /etc/default/grub
#
从队伍前面移除#GRUB_HIDDEN_TIMEOUT=0
,
后面 那 行 字 准确 的 写法 是 : GRUB_HIDDEN_TIMEOUT=0
.
保存更改并关闭文件 - 现在执行此命令:
gksudo gedit /etc/grub.d/30_os-prober
将超时时间从 10 更改为 0...
if [ "\${timeout}" = 0 ]; then
set timeout=10
后面的内容正是:
if [ "\${timeout}" = 0 ]; then
set timeout=0
保存更改并关闭文件。
更新 GRUB 配置:
sudo update-grub
重新启动系统...现在它应该直接启动到 Kubuntu。