刚刚安装了另一个硬盘并注意到 grub 自动添加了必要的菜单项来启动它。我想通过编辑 /etc/default/grub 来调整这些新条目,但似乎有些设置被 update-grub 和 grub-mkconfig 脚本忽略或覆盖。特别是这些行:
GRUB_TIMEOUT=2 GRUB_OS_PROBER_SKIP_LIST="469841589841479F"
我确实删除了 GRUB_HIDDEN_TIMEOUT=0 行,因为文档说它已被弃用并将其替换为:
GRUB_TIMEOUT_STYLE="隐藏"
运行任一脚本后,生成的 grub.cfg 文件确实包含:
如果 [ "${recordfail}" = 1 ] ; 然后
设置超时=-1
别的
如果 [ x$feature_timeout_style = xy ] ; 然后
设置 timeout_style=hidden
设置超时=2
# 回退隐藏超时代码,以防 timeout_style 功能是
# 不可用。
elif sleep --interruptible 2 ; 然后
设置超时=0
菲
菲
### END /etc/grub.d/00_header ###
所以这里使用了超时选项。问题似乎出现在 /etc/grub.d/30_os-prober 部分之后。在我拥有第二个硬盘之前,显然没有条目。既然有了,这将被添加到 grub.cfg 中:
### 开始 /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sdb1)' --class windows --class os $menuentry_id_option 'osprober-chain-CA0E41BE0E41A3F3' { …