希望 Windows 而不是 Grub 启动

希望 Windows 而不是 Grub 启动

因此,当我打开计算机时,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=5or =10,以便您有足够的时间选择菜单项。

删除或注释掉所有提到 的行HIDDEN,例如GRUB_HIDDEN_TIMEOUT- Ubuntu 出于某种原因喜欢隐藏 grub 菜单。

这将配置 grub,以便您从菜单中选择的任何内容都将成为默认值,直到您选择其他内容为止。

  • 跑步update-grub

  • 下次启动时,选择 Windows。现在它将成为默认选项。

您还可以使用grub-set-defaultroot 用户身份从 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命令可以设置启动项下一个仅重新启动 - 之后,它恢复为之前的默认设置。这对于测试新内核等很有用。

相关内容