因此,当我打开计算机时,Grub 救援就会启动。我终于弄清楚如何进入Windows,但现在我想跳过在Grub中输入信息的步骤来进入Windows。如何让 Windows 在 Grub 之前启动?
答案1
您可能不想跳过 grub 并直接启动到 Windows - 这将阻止您启动到 Linux。相反,您希望将 Windows 设置为默认启动项。
以下适用于 debian(以及 ubuntu 等衍生产品)。该过程在概念上相似,但在 RH/Centos 和其他发行版上的细节上有显着差异。
apt-get install os-prober
(一个软件包,增加了对 grub 的支持,以检测其他操作系统并将它们添加到 grub 菜单中)编辑
/etc/default/grub
使其具有:
GRUB_DEFAULT=已保存 GRUB_SAVEDEFAULT=true
可以选择设置GRUB_TIMEOUT=5
or =10,以便您有足够的时间选择菜单项。
删除或注释掉所有提到 的行HIDDEN
,例如GRUB_HIDDEN_TIMEOUT
- Ubuntu 出于某种原因喜欢隐藏 grub 菜单。
这将配置 grub,以便您从菜单中选择的任何内容都将成为默认值,直到您选择其他内容为止。
跑步
update-grub
下次启动时,选择 Windows。现在它将成为默认选项。
您还可以使用grub-set-default
root 用户身份从 linux 命令行手动选择默认的 grub 菜单项。例如,如果 Windows 是列表中的第 5 个菜单条目,grub-set-default 5
则将其设为默认菜单条目。
您可以使用简单的 grep 列出 grub 菜单条目,例如:
egrep 'submenu|menuentry' /boot/grub/grub.cfg | cat -n
或者一些更奇特的东西,比如:
sed -r -n -e '/submenu|menuentry/{s/(["'\'']) .*/\1/;p}'
请注意:如果有任何 grub 子菜单,编号就会变得复杂。简单的方法grep | cat -n
无法获得正确的编号,您必须编写一个脚本来解析 grub.cfg 文件。在这种情况下使用grub-set-default
完整的更容易姓名菜单项的名称而不是数字。
例如给出以下内容,
# sed -r -n -e '/submenu|menuentry/{s/(["'\'']) .*/\1/;p}' /boot/grub/grub.cfg | cat -n 1 个菜单项“Ubuntu,带 Linux 3.2.0-27-virtual” 2 menuentry 'Ubuntu, with Linux 3.2.0-27-virtual (恢复模式)' 3 子菜单“以前的 Linux 版本” 4 菜单项“Ubuntu,带 Linux 3.2.0-24-virtual” 5 menuentry 'Ubuntu, with Linux 3.2.0-24-virtual (恢复模式)' 6 菜单项“内存测试(memtest86+)” 7 菜单项“内存测试(memtest86+,串口控制台115200)”
grub-set-default 4
不起作用,因为编号因它位于子菜单中而被扭曲。代替使用grub-set-default 'Ubuntu, with Linux 3.2.0-24-virtual'
。
还有一个grub-reboot
命令可以设置启动项下一个仅重新启动 - 之后,它恢复为之前的默认设置。这对于测试新内核等很有用。