启动 GRUB 到上次没有启动的条目?

启动 GRUB 到上次没有启动的条目?

我不确定我是否真的会这样做,但是有没有办法让 GRUB 自动选择我上次启动时未使用的启动选项?
即,如果我上次启动时启动到 Windows,它会选择 Ubuntu。如果我启动到 Ubuntu,它会选择 Windows。
我只是想知道,因为我经常发现自己重新启动以切换操作系统,因为我在每个操作系统上运行不同的游戏(虽然我的新装备不需要在 Ubuntu 上运行东西,只是为了降低操作系统资源使用率),我想知道我是否可以这样做,这样每次我从任一操作系统按下“重新启动”时,我都不必更改选择。
实际上,这也会影响非重启启动,所以我可能必须启动两次才能获得我上次使用的操作系统。

答案1

得益于;未经测试:

  1. 启动 Ubuntu。
  2. 在那里修改/etc/default/grub并设置GRUB_DEFAULT=saved
  3. 在同一个文件中设置GRUB_TIMEOUT为非负整数。您甚至可能想要GRUB_TIMEOUT=0(意思是“立即启动而不显示菜单”)。
  4. 使用grub-set-default将您的默认条目设置为 Ubuntu。
  5. 更新您的 GRUB 配置(update-grub)。

  6. 仅在下次启动时将grub-rebootGRUB 指向 Windows。代码来自这个答案可能是你的起点:

    grub-reboot "$(grep -i 'windows' /boot/grub/grub.cfg|cut -d"'" -f2)"
    

    验证它是否有效,只需重新启动即可。正确完成后,返回 Ubuntu 并让命令grub-reboot在 Ubuntu 启动时自动运行(例如将其放入/etc/rc.local)。

现在您的机器将默认启动 Ubuntu。启动时,GRUB 会被告知在下次启动时启动 Windows。因此您的第二次启动将运行 Windows。第三次启动应与第一次启动完全相同 —— 依此类推。

答案2

我们只能设置默认启动操作系统,然后系统每次都选择一个默认启动操作系统自动运行。

但是如果我们的电脑上安装了多个操作系统,系统不知道我们要启动哪个操作系统,那么默认的操作系统会给我们 30 秒的时间去选择运行哪个操作系统,然后默认的操作系统才会自动运行。具体可以参考:

如何选择 Windows 10 中启动时运行的默认操作系统

相关内容