如何让grub2仅在下次启动时启动其他选项?

我正在设置双启动无头Linux / Windows机器。 我主要希望机器始终启动到Ubuntu,除非偶尔我需要在Windows中测试一些东西。

我已经安装了Windows和Ubuntu,目前它每次都会启动到Ubuntu。 我希望能够告诉它仅在下次启动时启动到Windows,然后当我从Windows重新启动时系统返回启动Ubuntu。

我找到了Grub Legacy – 第4.3.1节 – 仅启动一次,但我使用的是Ubuntu 14.04服务器,它有更新版本的grub。 根据我的阅读,我需要对/etc/default/grub进行一些更改,并在我想要启动到Windows时使用sudo grub-set-default

我认为这些更改首先将其添加到/etc/default/grub

 GRUB_DEFAULT=saved GRUB_SAVEDEFAULT=false 

任何时候对/etc/default/grub进行更改我都知道我需要运行
sudo update-grub导致:

 Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.13.0-43-generic Found initrd image: /boot/initrd.img-3.13.0-43-generic Found linux image: /boot/vmlinuz-3.13.0-32-generic Found initrd image: /boot/initrd.img-3.13.0-32-generic Found memtest86+ image: /boot/memtest86+.elf Found memtest86+ image: /boot/memtest86+.bin Found Windows 7 (loader) on /dev/sda1 done 

由于Windows是该列表中的第7个选项,我相信我会运行sudo grub-set-default 6 (基于0计数) – 这是正确的,并且在系统启动后有一个不同的方法来获取引导选择的编号列表?

此外, /etc/default/grub足以实现此行为,还是需要添加其他配置?

您需要确保在grub配置中GRUB_DEFAULT=savedGRUB_DEFAULT=saved (这是自动生成的,您可以通过编辑/ etc / default / grub来更改它的这一部分)。 sudo update-grub使更改生效,然后使用sudo grub-reboot $1

 grep -i "menuentry '" /boot/grub/grub.cfg 

将为您提供可以切割的菜单,价格为1美元。 或者,当您注意到选项是零索引时,因此可以通过将(n-1)传递给grub-reboot来获得第n个菜单项。

见例如

未经我测试,因为我没有安装’Windows 7’。

尝试将grub-customizer (下面的安装指南)安装到您的Ubuntu系统。 这个GUI工具将为您提供一组很好的选项,您可以配置GRUB设置,包括引导选项的名称和顺序,默认系统,屏幕分辨率,字体,背景等…
我不确定它是否有能力直接设置你想要的东西,但至少它可以显示你的操作号码。 我想,他们的名字也可以引用它们。

如何安装grub-customizer:

 sudo add-apt-repository ppa:danielrichter2007/grub-customizer sudo apt-get update sudo apt-get install grub-customizer 

(来源: launchpad – daniel richter )