再次问一遍,“如何让grub2记住上次选择的选项?”

这个问题已经问过一次,但对我的困扰没有帮助。
我在笔记本电脑上安装了Ubuntu和Windows 7。通常我使用Windows 7,但GRUB总是默认启动Ubuntu。我的/ect/default/grub文件包含以下几行:
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

我在更改这些变量的值之后运行了“sudo update-grub”。我还确保我的“grubenv”文件存在并具有正确的权限(使用“save_env”GRUB命令)。
然而...它仍然不起作用!GRUB始终试图加载Ubuntu,尽管我上次选择了Windows。
我还忽视了什么?
顺便说一下,我既没有RAID也没有LVM卷(至少我没有安装LVM管理器)。

这不是重复的。我给出了你提到的问题的链接。而且答案不能解决我的情况。所以它更像是问题的延伸部分。 - krokoziabla
3个回答

我的情况很相似。我有一个自定义的grub条目(使用/etc/grub.d中的40_custom文件),用于安装Chromium OS。我设置了GRUB_DEFAULT=savedGRUB_SETDEFAULT=true,但它从未保存该条目。结果发现,我需要手动在40_custom文件中加入一行"savedefault"才能保存默认条目。现在完美运行。
编辑:如果你设置了GRUB_SAVEDEFAULT=true,当你运行update-grub时,"savedefault"行将会自动添加进去。

你可以使用 Grub Customizer 来完成这项工作,非常简单,只需勾选记住上次的选择,并使用以下命令进行安装:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

注意:Grub自定义器需要桌面环境,不适用于服务器安装。 - mckenzm

按下Alt+F2键 输入 gksudo gedit /etc/default/grub 按Enter并输入密码。
你会看到这一行 GRUB_DEFAULT=0 你可以将默认值从0更改为任何数字,对应于Grub启动菜单中的条目(第一个条目是0,第二个是1,以此类推)。所以如果Windows 7是第四个条目,将值设为4。
进行修改后,按Ctrl-S保存,按Ctrl-Q退出。 重要提示:使用Ctrl-Alt-T打开终端,然后输入sudo update-grub来应用刚刚做出的更改。

但是我不需要Windows 7一直启动。而且我不会看到GRUB_DEFAULT=0。正如我所说,在我的/etc/default/grub中,GRUB_DEFAULT=saved - krokoziabla
谢谢你提供的链接。不幸的是,它描述的步骤我已经执行过了。只有一件事对我来说是新的 - GRUB_SETDEFAULT=true 在 LVM 和 RAID /boot 分区上不起作用。我检查了一下我的 Ubuntu 上是否安装了 lvm 管理器 - 没有安装。而且我的笔记本电脑上也没有任何 RAID 卷。 - krokoziabla
重要的是使用/boot基于LVM。请查看此链接:"[link][^2]"。[^2]: http://askubuntu.com/questions/76095/what-is-the-use-of-boot-lvm-based-in-partitioning - Mukund