Ies*_*Mwg 4 partitioning grub2 timeout
刚刚安装了另一个硬盘并注意到 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' {
[剪辑]
}
menuentry 'Windows 恢复环境(加载程序)(在 /dev/sdb2 上)' --class windows --class os $menuentry_id_option 'osprober-chain-469841589841479F' {
[剪辑]
}
设置 timeout_style=menu
如果 [ "${超时}" = 0 ]; 然后
设置超时=10
菲
### END /etc/grub.d/30_os-prober ###
因此,它不仅不会忽略我告诉它的分区,而且脚本的 os-prober 部分不允许我将超时设置为 0 并强制菜单(我习惯于只按住左移如果我想更改启动选项,则在开机时键)。
一两秒的超时延迟只是有点烦人,但是当我明确不想要菜单时强制使用一个菜单,并且这个菜单包括一个永远不应该列出的分区。
每次都没有编辑 grub.cfg,或者调整 /etc/grub.d/30_os-prober(在升级过程中可能会被覆盖?)是否有解决方法?
谢谢!
小智 5
蛴螬检查GRUB_OS_PROBER_SKIP_LIST针对EXPUUID没有UUID,所以正确的格式GRUB_OS_PROBER_SKIP_LIST是UUID@/dev/????例如:
GRUB_OS_PROBER_SKIP_LIST="A3F5-6DF3@/dev/sda1"
Run Code Online (Sandbox Code Playgroud)