如何在引导加载程序中将 Windows 设置为默认引导?

Ras*_*sen 265 grub2

如何设置引导加载程序,以便在 Windows 7/Ubuntu 11.04 的双引导中,Windows 作为标准启动而不是 Ubuntu?

kee*_*eer 296

自定义/etc/default/grub文件

有两种方法可以使用编辑 grub 文件来做到这一点。这些在Ubuntu 社区文档 Grub2 页面中有描述

这两种方式是:

  • 启动您上次启动的操作系统,“保存的方法”
    • 这是我使用的一种。它让我决定我要使用哪一个,并允许我重新启动到那个系统,在我更新时很方便。
  • 默认情况下引导特定的操作系统。
    • 您的确切问题的答案。

查找要设置为新默认值的菜单项

首先,我们需要找出我们正在启动或想要启动的内容。打开一个终端与Ctrl+ Alt+t和类型在

grep menuentry /boot/grub/grub.cfg

user@YourComputer:~$ grep menuentry /boot/grub/grub.cfg
menuentry 'Ubuntu, with Linux 2.6.35-31-generic' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry 'Ubuntu, with Linux 2.6.35-31-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry 'Ubuntu, with Linux 2.6.35-30-generic' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry 'Ubuntu, with Linux 2.6.35-30-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry "Memory test (memtest86+)" {
menuentry "Memory test (memtest86+, serial console 115200)" {
menuentry "Windows NT/2000/XP (loader) (on /dev/sda1)" {
menuentry "Ubuntu, with Linux 2.6.32-34-generic (on /dev/sdb1)" {
menuentry "Ubuntu, with Linux 2.6.32-34-generic (recovery mode) (on /dev/sdb1)" {
menuentry "Ubuntu, with Linux 2.6.32-33-generic (on /dev/sdb1)" {
menuentry "Ubuntu, with Linux 2.6.32-33-generic (recovery mode) (on /dev/sdb1)" {
menuentry "Windows Vista (loader) (on /dev/sdc1)" {
Run Code Online (Sandbox Code Playgroud)

您可以看到“保存”方法在启动多个操作系统时可以派上用场。保存您想要的条目的名称,例如Windows NT/2000/XP (loader) (on /dev/sda1),我们稍后需要它。

编辑/etc/default/grub文件

在终端输入

须藤纳米 -B /etc/default/grub

如果询问您的密码。该纳米编辑器将打开。

A. 保存的方法- 在我的首选方式中,我对标准 grub 文件进行了以下更改。

B. 特定菜单项- 按照您要求的方式

  • 将 的值更改为GRUB_DEFAULT要始终启动的 Windows 系统的名称。可以如上一节所述找到相应 Grub 菜单项的名称。
  • 我希望在启动时始终将 Window XP 设置为默认值,我将设置GRUB_DEFAULT"Windows NT/2000/XP (loader) (on /dev/sda1)"

    GRUB_DEFAULT="Windows NT/2000/XP (loader) (on /dev/sda1)"
    
    Run Code Online (Sandbox Code Playgroud)

    注意:某些版本的 Ubuntu 需要单引号 (') 反双引号 (")。

您还可以设置GRUB_DEFAULT菜单条目列表中的行号(0 是第一个),但是当更新 Ubuntu 中的内核时,grub 会将新内核添加到列表的顶部,您必须更改该编号,因为Windows 是菜单项列表中的最后一个。您可以在我的菜单条目列表中看到这一点。

更新引导配置

现在你必须跑

须藤更新-grub

更新目录中系统生成的grub.cfg文件/boot/grub/

user@YourComputer:~$ sudo update-grub
Generating grub.cfg ...
Found background: /usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga
Found linux image: /boot/vmlinuz-2.6.35-31-generic
Found initrd image: /boot/initrd.img-2.6.35-31-generic
Found linux image: /boot/vmlinuz-2.6.35-30-generic
Found initrd image: /boot/initrd.img-2.6.35-30-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows NT/2000/XP (loader) on /dev/sda1
Found Ubuntu 10.04.3 LTS (10.04) on /dev/sdb1
Found Windows Vista (loader) on /dev/sdc1
done
Run Code Online (Sandbox Code Playgroud)

附录

纳米注意事项

nano在终端中特别容易使用。使用箭头键四处移动。输入您添加的内容,删除不需要的内容。

-B--backup选项备份先前版本的它可以用一个后缀当前文件名~。在可怕的Fat pfinger 效果的情况下非常方便。

完成后,Ctrl+o将允许您通过点击保存编辑EnterCtrl+x将关闭。这些和其他选项在与所述终端屏幕的底部示出^指示Ctrl

^G Get Help    ^O WriteOut    ^R Read File   ^Y Prev Page   ^K Cut Text    ^C Cur Pos
^X Exit        ^J Justify     ^W Where Is    ^V Next Page   ^U UnCut Text  ^T To Spell
Run Code Online (Sandbox Code Playgroud)

关于 nano、sudoeditor 等编辑器的注意事项

Ubuntu 社区中的一些人建议sudoedit使用nano. 我推荐nano——它是 Ubuntu 后续发行版中的默认 sudoedit 编辑器——而不是sudoedit,因为默认值可以以不明显的方式被覆盖,除非你是管理员。 sudoedit更安全,因为它会自动保存已编辑文件的备份副本,但-B命令行选项 innano执行相同的操作。 nanovi或 等编辑器更直观emacs,后者非常灵活,但需要学习大量命令、快捷方式或不同模式。

如果您不想使用nano编辑器而更喜欢 Gnome 文本编辑器,请不要sudo nano -B使用gksu gedit. 我通常对大文件执行此操作,并且/etc/default/grub很容易将其视为大文件。因此输入gksu gedit /etc/default/grub而不是sudo nano -B /etc/default/grub。请注意,Gnome 文本编辑器不会自动进行备份!

关于我的 grub 文件的注释

我根据个人需要对 grub 进行了一些更改。比如登月的背景图。建议在 Grub2上的Ubuntu 社区文档页面讨论如何执行这些操作。

祝你好运!

  • 保持简单是基于爱因斯坦的名言:“事情应该尽可能简单,但不要太简单。” (当有人引用这个时,最后三个词被省略了)。谢谢夸奖... (18认同)

fos*_*dom 87

通过一些命令行技巧,您可以将 grub 的默认设置始终为特定的 grub 条目 - 例如 Windows - 无论何时安装新内核。

在终端类型中:

fgrep menuentry /boot/grub/grub.cfg
Run Code Online (Sandbox Code Playgroud)

这将显示您所有的 grub 条目 - 例如

在此处输入图片说明

突出显示要默认设置的条目 - 例如屏幕截图中的 Windows 7。右键单击并选择copy

类型

gksu gedit /etc/default/grub
Run Code Online (Sandbox Code Playgroud)

更改条目

GRUB_DEFAULT=0
Run Code Online (Sandbox Code Playgroud)

GRUB_DEFAULT="Windows 7 (loader) (on /dev/sda2)"
Run Code Online (Sandbox Code Playgroud)

即粘贴您想要的条目(包括引号)

保存,然后输入

sudo update-grub
Run Code Online (Sandbox Code Playgroud)

来源


Pea*_*chy 24

你需要编辑 /etc/default/grub文件以将 Windows 设置为默认操作系统。

第一步。确定 Windows 操作系统在 grub 菜单中的位置。为此,请按Ctrl+Alt+T并键入以下命令打开终端:

grep menuentry /boot/grub/grub.cfg
Run Code Online (Sandbox Code Playgroud)

这将列出 grub 菜单项。我将使用我的 grub 菜单作为示例:

menuentry 'Ubuntu, with Linux 2.6.38-8-generic' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry 'Ubuntu, with Linux 2.6.38-8-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry "Memory test (memtest86+)" {
menuentry "Memory test (memtest86+, serial console 115200)" {
menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
Run Code Online (Sandbox Code Playgroud)

然后,您将选择 Windows 分区,在我的例子中是“Windows 7 (loader) (on /dev/sda1)”,包括双引号并复制它。

第二步。打开/etc/default/grub文件。为此,请在终端上键入以下内容:

gksudo gedit /etc/default/grub
Run Code Online (Sandbox Code Playgroud)

它将使用 gedit 打开 /etc/default/grub 文件。查找该GRUB_DEFAULT=0行并通过粘贴将其值从 0 更改为选定的 Windows 菜单项。.

GRUB_DEFAULT="Windows 7 (loader) (on /dev/sda1)"
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用整数值指定 Windows 操作系统的索引位置,注意索引从 0 开始计数,因此在我的示例中,Windows 操作系统的值为 4,因此您也可以设置

GRUB_DEFAULT=4
Run Code Online (Sandbox Code Playgroud)

之后,您需要通过键入来更新 grub

sudo update-grub
Run Code Online (Sandbox Code Playgroud)


ate*_*enz 18

你可以在这里关注这个nitstorm答案

你将不得不增加GRUB的定制通过

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
Run Code Online (Sandbox Code Playgroud)

然后从 dash 启动它,应用程序镜头。

在此处输入图片说明

上面的菜单将与您的不同,因此请明智地选择并选择 Windows 7 条目,然后从顶部菜单栏中选择 ^ 箭头将其向上移动到顶部位置,同时启动。

要直接启动到 Windows,请选择preference 并减少加载 Windows 的启动时间。

在此处输入图片说明


Bas*_*lvi 15

使用名为“Grub Customizer”的 GUI 工具可以轻松完成。

什么是 Grub 定制器?

Grub Customizer 是一个用于配置 grub2 的图形界面。该应用程序允许用户添加、删除、冻结、重命名和重新排序启动菜单项

如何安装?

命中Alt+ Ctrl+T打开终端并运行下面的命令逐个:

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

如何使用?

  • 安装后,按 Super 键(Windows 键)打开 Unity dash 并搜索“”并打开它。
  • 单击 Linux 选择 Linux 组,然后单击工具栏中的向下箭头将其向下移动。完成后,点击保存。就是这样!

在此处输入图片说明

请记住,您不能将单个条目移出它们各自的组,就像 Ubuntu 不能移出 Linux 组一样。


dag*_*go 11

使用启动管理器,您可以从破折号开始。在那里,您可以在下拉菜单中使用操作系统开始。

启动经理

  • 抱歉,我刚刚看到您说启动管理器在 64 位版本中不起作用。您可以尝试改为 grub 定制器 在 ubuntu 中安装 Grub 定制器 打开终端并运行以下命令 sudo add-apt-repository ppa:danielrichter2007/grub-customizer sudo apt-get update sudo apt-get install grub-customizer 安装后即可从应用程序 -> 系统工具 -> Grub 自定义打开 (3认同)

imb*_*aer 10

GRUB_DEFAULTin的值更改为/etc/default/grub启动时可用操作系统的 grubs 列表中的任何窗口。例如,在我的情况下,我必须从

GRUB_DEFAULT=0
Run Code Online (Sandbox Code Playgroud)

GRUB_DEFAULT=5
Run Code Online (Sandbox Code Playgroud)

之后,运行sudo update-grub


小智 7

确定 Windows 条目的名称

在 GRUB 上,应该有一个类似Windows 7 (loader) (/dev/sda1). 我们需要知道你机器上的名字是什么,所以打开一个终端并运行以下命令:

$ fgrep menuentry /boot/grub/grub.cfg
Run Code Online (Sandbox Code Playgroud)

输出应该是这样的:

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
  menuentry_id_option=""
export menuentry_id_option
menuentry 'Linux Mint 14 Cinnamon 64-bit, 3.5.0-17-generic (/dev/sda6)' --class linuxmint --class gnu-linux --class gnu --class os {
menuentry 'Linux Mint 14 Cinnamon 64-bit, 3.5.0-17-generic (/dev/sda6) -- recovery mode' --class linuxmint --class gnu-linux --class gnu --class os {
menuentry "Memory test (memtest86+)" {
menuentry "Memory test (memtest86+, serial console 115200)" {
menuentry 'Windows 8 (loader) (en /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-06B66EA8B66E97C7' {
menuentry 'Microsoft Windows XP Embedded (en /dev/sda4)' --class windows --class os $menuentry_id_option 'osprober-chain-7246B3A846B36C0B' {
Run Code Online (Sandbox Code Playgroud)

看看我们说的那条线!在我的机器上,它是 Windows 8 (loader) (en /dev/sda1). 在某处写下您的条目名称,现在让我们将其设置为默认值。

将 Windows 条目设置为默认值

这很容易!

首先,以 root 身份使用gedit(文本编辑器)打开我们的配置文件,运行以下命令:

$ gksudo gedit /etc/default/grub
Run Code Online (Sandbox Code Playgroud)

搜索此行:

GRUB_DEFAULT = 0
Run Code Online (Sandbox Code Playgroud)

0使用您的 Windows 条目的名称修改。在我的电脑中:

GRUB_DEFAULT = "Windows 8 (loader) (en /dev/sda1)"
Run Code Online (Sandbox Code Playgroud)

现在只需保存文件,关闭gedit,然后更新 grub。

更新 GRUB

只需运行此命令:

$ sudo update-grub
Run Code Online (Sandbox Code Playgroud)

现在只需重新启动,Windows 条目应突出显示为默认值!