是否可以将Grub配置为记住您上次启动的操作系统?


17

我的启动菜单中通常有2-3个操作系统:

  • Ubuntu 10.04
  • Windows 7的
  • [有时,第三个选项,例如Ubuntu 10.04 Netbook]

如果我使用的操作系统不是默认选项(在本例中为Windows 7),并且重新启动,则Grub会启动进入Ubuntu 10.04。当我在Windows 7中重新启动时,我想留在Windows 7中,这是不应该发生的。是否有任何方法可以配置Grub来记住我的最后选择,然后启动它?

另外,如果Grub 在我重新引导时这样做(而不是在我第一次打开计算机时),这样做会更好。我意识到这可能无法实现,因此我对简单的最后选择记忆感到满意。

Answers:


20

在原始的Grub中,您可以通过在/boot/grub/menu.lst中将默认关键字设置为“ saved”,然后在每个启动菜单项中使用savedefault关键字来执行此操作


更新
Grub2有点复杂。它也在不断发展,因此,即使Ubuntu 9.10和10.04都使用Grub2,在打包和配置事物方面还是有很多区别,以使事情变得有趣。

这两种方法都可以执行savedefault技巧:

  • Ubuntu 10.04:
    9.10是一个技巧;清醒要简单得多。有关更多详细信息,请参见Ubuntu的帮助。您需要在/ etc / default / grub中进行两项更改:

    1. 更改GRUB_DEFAULT=0GRUB_DEFAULT=saved

    2. 添加一行 GRUB_SAVEDEFAULT=true

    而已。其实还不错,不是吗?不要忘记跑步sudo update-grub

  • Ubuntu 9.10:
    Ubuntu论坛上有一些技巧可以使它起作用。显然,在Grub v1.97中,savedefault关键字存在错误。 Ubuntu论坛上的这篇文章提供了一种方法。 另一篇文章提出了一种更简单的方法:

    1. 设置GRUB_DEFAULT =保存/ etc / default / grub中

    2. 将这两行放在/etc/grub.d/40_custom中(在“ exec tail”行之后,在底部附近):

      saved_entry=${chosen}
      save_env saved_entry
      

    我已经在Ubuntu 9.10中测试了这种方法,并且可以正常工作。下次启动时将自动突出显示最后选择的条目。结合超时,这将自动引导到您引导的最后一个操作系统。

而且不要忘记跑步sudo update-grub。完成更改后。这很重要,而且很容易忘记。


Grub无法将重新引导冷启动区分开来,因此Grub无法在重新引导时单独执行此操作。但是,如果您要启动到Linux,则可以使用sudo grub-set-default N(其中N是启动菜单项的编号,从0开始)来设置要在下次启动时选择的条目N(而不是保存任何条目)。

从理论上讲,当您告诉Linux关闭时(但是当您告诉它重新启动时),您可以将与关闭例程相关联的东西(可能是Upstart脚本)组合在一起,为您运行grub-set-default。但是,关闭Windows时不会获得相同的功能。

我确实听说过涉及将Grub安装到FAT32或NTFS / boot分区的Grub4DOS或Grub1技术-这将使您还可以从Windows 运行grub-set-default,因此可以从Windows注销脚本中调用它。上次我看到有关此内容的信息时,这在Grub2上是不可能的。到现在可能已经改变了。


解决方案2似乎不适用于我。我编辑了/ etc / default / grub,编辑了/etc/grub.d/40_custom,然后运行sudo update-grub。我通过启动进入Windows 7,关机,然后重新打开计算机的方式进行测试。Ubuntu 10.04(默认)仍处于选中状态。我还尝试将“ saved_entry”放在/ etc / default / grub中,而不是“ saved”(不确定grub配置脚本的工作方式),但这没有帮助。我还没有尝试过解决方案1。
马修(Matthew),2010年

@Matthew:仔细检查/etc/grub.d/40_custom是否可执行(如果不是,则为sudo chmod + x)。但是,是的,我只是在Ubuntu 10.04机器上尝试过,但在那儿也不起作用。检查为什么...
魁北克吉x德

@Matthew:好,知道了。对不起,我应该知道Lucid和Karmic会有所不同。(哦,请确保您要跑步sudo update-grub。)
魁北克吉x德

3

这篇文章可能会对您有用,这很不言自明。请注意,10.04和9.10使用相同的GRUB版本,因此对您来说应该完全相同。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.