如果没有 GRUB_DEFAULT=saved,grub-set-default 不会执行任何操作吗?

如果没有 GRUB_DEFAULT=saved,grub-set-default 不会执行任何操作吗?

我正在双启动 Windows 11 和 debian 11,并尝试将启动时的默认 grub 选择从后者设置为前者。环顾四周,我发现grub-reboot,手册上说这只是为下一本书设置默认值,以及一个更有希望的命名grub-set-default。然后我做了,但很困惑该命令似乎没有对或 中的任何内容grub-set-default 2进行任何更改,尽管我还是跑了。当我重新启动时,上面似乎没有做任何事情。/etc/default/grub/boot/grubupdate-grub

我查看了 的联机帮助页grub-set-default,发现它说:

设置 GRUB 的默认启动菜单项。这需要设置 GRUB_DEFAULT=saved 在 /etc/default/grub 中。

当然,我已经GRUB_DEFAULT=0在那个文件中了,因为那是 Debian 附带的。这很令人惊讶,这是否意味着grub-set-default如果我没有的话真的什么也不做GRUB_DEFAULT=saved?或者我在这里遗漏了什么?

答案1

我改成GRUB_DEFAULT=0in GRUB_DEFAULT=saved/etc/default/grub然后就这么做了update-grub。然后我grub-set-default 2又做了一次,现在当我重新启动时,它总是默认为条目 2,即使我上次选择了 0。

当然,这种行为是我最初想要的,但这有点令人沮丧,因为它GRUB_DEFAULT=saved有两种不同的含义:没有grub-set-default,它意味着“让 grub 始终默认为上次选择的条目”。 grub-set-default 2,这意味着“grub 始终默认为 2,并且两者都是发生这种情况所必需的。

Grub 2.06 手册提示:

GRUB_DEFAULT

默认菜单项。这可能是一个数字,在这种情况下,它标识生成的菜单中从零开始计数的第 N 个条目,或者菜单条目的标题,或者特殊字符串“已保存”...如果将其设置为“已保存”,则默认菜单项将由“GRUB_SAVEDEFAULT”或 grub-set-default 保存。

相关内容