如何将Windows引导为引导加载程序中的默认值?

217

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

    
Rasmus Mathiesen 13.07.2011 - 19:13

16 答案

237

自定义 /etc/default/grub 文件

使用编辑grub文件有两种方法。这些内容在 Ubuntu社区文档Grub2页面中进行了描述

这两种方式是:

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

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

首先,我们需要找出我们正在启动或想要启动的内容。使用 Ctrl + Alt + t 打开终端并输入

  

grep menuentry /boot/grub/grub.cfg

[email protected]:~$ 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)" {

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

编辑 /etc/default/grub 文件

输入终端

  

sudo nano -B / etc / default / grub

如果被问到,请输入您的密码。 nano 编辑器将会打开。

:一种。保存的方法 - 按照我的首选方式,我从标准grub文件中进行了以下更改。

  • 我将 GRUB_DEFAULT 的值更改为 saved

    GRUB_DEFAULT=saved
    
  • 我通过添加以下行启用了 SAVEDEFAULT功能

    GRUB_SAVEDEFAULT=true
    

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)"
    

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

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

更新启动配置

现在你必须运行

  

sudo update-grub

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

[email protected]:~$ 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

附录

纳米

的注释

nano 特别容易在终端中使用。使用箭头键移动。输入您的地址,删除不需要的地址。

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

当您通过时, Ctrl + o 将允许您通过按 Enter Ctrl + 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

关于nano,sudoeditor和其他编辑的说明

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

如果您不想使用 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社区文档页面中讨论如何执行这些操作。

祝你好运!

    
给出答案 keepitsimpleengineer 26.11.2011 - 19:53
74

使用一些命令行技巧,无论何时安装新内核,都可以将grub的默认值设置为特定的grub条目 - 例如Windows -

在终端类型中:

fgrep menuentry /boot/grub/grub.cfg

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

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

类型

gksu gedit /etc/default/grub

更改条目

GRUB_DEFAULT=0

GRUB_DEFAULT="Windows 7 (loader) (on /dev/sda2)"

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

保存,然后输入

sudo update-grub

    
给出答案 fossfreedom 13.07.2011 - 22:51
21

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

第一步。确定Windows操作系统在grub菜单中的位置。要执行此操作,请按 Ctrl+Alt+T 打开终端,然后键入以下内容:

grep menuentry /boot/grub/grub.cfg

这将列出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 {

然后,您将选择Windows分区,在我的情况下为"Windows 7(加载程序)(在/ dev / sda1上)",包括双引号并复制它。

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

gksudo gedit /etc/default/grub

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

GRUB_DEFAULT="Windows 7 (loader) (on /dev/sda1)"

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

GRUB_DEFAULT=4

之后,您需要输入

来更新grub
sudo update-grub
    
给出答案 Peachy 12.07.2012 - 13:51
16

您可以按照在此讨论

您必须通过

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

然后从仪表板,应用镜头启动它。

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

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

    
给出答案 atenz 12.07.2012 - 08:31
14

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

什么是Grub Customizer?

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

如何安装?

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

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

如何使用?

  • 安装完成后,按"超级"键(Windows键)打开Unity短划线并搜索""然后将其打开。
  • 单击Linux选择Linux组,然后单击工具栏中的向下箭头将其向下移动。完成后,单击"保存"。就是这样!

请记住,您无法将单个条目移出其各自的组,因为Ubuntu无法移出Linux组。

    
给出答案 Basharat Sialvi 17.05.2012 - 06:05
11

使用启动管理器,您可以从短划线开始。您可以在下拉菜单中使用操作系统。

    
给出答案 dago 26.11.2011 - 18:24
10

GRUB_DEFAULT 中的 /etc/default/grub 的值更改为引导时可用操作系统的grubs列表中的任何窗口。例如,在我的情况下,我将不得不从

更改该行
GRUB_DEFAULT=0

GRUB_DEFAULT=5

之后,运行 sudo update-grub

    
给出答案 imbaer 26.11.2011 - 17:52
7

标识Windows条目的名称

在GRUB上,应该有一个像 Windows 7 (loader) (/dev/sda1) 这样的条目。我们需要知道您机器上的名称是什么,因此打开终端并运行以下命令:

$ fgrep menuentry /boot/grub/grub.cfg

输出应该是这样的:

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' {

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

将Windows条目设置为默认值

这很简单!

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

$ gksudo gedit /etc/default/grub

搜索此行:

GRUB_DEFAULT = 0

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

GRUB_DEFAULT = "Windows 8 (loader) (en /dev/sda1)"

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

更新GRUB

只需运行此命令:

$ sudo update-grub

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

    
给出答案 Addison Montgomery 26.01.2013 - 20:34
2

Grub-Customizer

是一款非常易于使用的图形GRUB2设置管理器。目前,它只允许您编辑GRUB2菜单项:重新排序,重命名或添加/删除条目。它还允许更改背景图像和菜单超时。由于这些实际上是生成boot.cfg文件的脚本,因此Grub Customizer会更改实际的脚本顺序,然后生成一个新的boot.cfg,因此如果您运行"sudo update-grub",您的自定义将不会被覆盖。

    
给出答案 13east 14.07.2011 - 01:21
1

根据我的经验,我注意到更改Win7 / Ubuntu 11.04的启动优先级并不容易。实用程序,如启动管理器似乎正在尝试更改默认启动系统,但重启后没有任何反应(默认情况下11.04继续启动)。我这样的情况我建议Grub Customiser 在WebUpd8上定制Grub ,适用于Grub2。我刚刚删除了所有过时的启动选项(有很多),只剩下11.04和Win7。然后改变了启动优先级。现在,一切运作良好:)

祝你好运。

    
给出答案 Vincenzo 13.07.2011 - 22:06
1

这实际上很容易做到。首先,您需要找出Grub为您的Windows条目命名的内容。您可以通过查看 /boot/grub/grub.cfg 或运行此命令来执行此操作:

sudo cat /boot/grub/grub.cfg | grep -i Windows | sed -e 's/^.* "//g' -e 's/".*$//g'

该命令的作用是在 Windows 中搜索 /boot/grub/grub.cfg 并删除 " 字符之外的文本。

该命令将输出类似 Microsoft Windows XP Professional (on /dev/sdb2)

的内容

现在,通过运行:

打开 /etc/default/grub
gksudo gedit /etc/default/grub

并改变:

GRUB_DEFAULT=0

GRUB_DEFAULT="Name of your Windows menu entry"

最后,运行:

sudo update-grub

重新生成Grub菜单。就是这样!未来的升级不会搞砸了。默认情况下,将始终选择Windows菜单项。

    
给出答案 Andrew Gunnerson 13.07.2011 - 22:54
1

编辑文件/ etc / grub / default

你找到了条目

GRUB_DEFAULT=0

首次启动计算机并获取grub菜单时 引导菜单中的第一个条目是0 因此,如果启动菜单中的第二个条目是Windows,则将此数字更改为1

保存,退出, 跑过:     更新GRUB 命令并重新启动以查看您的新更改!

    
给出答案 tomodachi 16.05.2012 - 22:08
1

您无需安装grub-customizer !!!

我不知道你安装了什么ubuntu,所以我不确定你的操作系统是使用grub2还是旧的grub,但你更有可能拥有grub2。

所以,这就是你要为grub2做的事情:

grep menuentry /boot/grub/grub.cfg 

此命令为您提供输出,说明您拥有的启动可能性/操作系统。

这是一个示例输出:

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 {

您可以观察到,Windows 7位于输出的第5行。

接下来,使用文本编辑器和sudo权限打开/ etc / default / grub文件,并将GRUB_DEFAULT值修改为(Windows 7减去1的行数,因为grub选项索引从0开始)

因此,如果Windows 7位于第5行,则需要 GRUB_DEFAULT=4

如果Windows 7在第7行,则需要 GRUB_DEFAULT=6

要保存更改,请键入 sudo update-grub 。 这就是一切。

    
给出答案 fromnaboo 07.04.2013 - 01:54
0

下次启动计算机时,请将计数器放入GRUB菜单中。 (记住你必须从0开始计算 - 即如果Windows在第三行,那么它的位置是2,依此类推)。 启动进入ubuntu,打开终端并编写

sudo gedit /etc/default/grub

然后修改

GRUB_DEFAULT="0"

GRUB_DEFAULT="N"

其中N是grub菜单中Windows7条目的位置(从0开始)。 如果您需要更多信息,请告诉我。

    
给出答案 Juan Sebastian Totero 13.07.2011 - 19:37
0

我使用grub定制器来做到这一点。您可以让它每次自动启动到某个操作系统,或者只启动到最后启动的操作系统。它易于安装和使用。

在ubuntu中,打开包管理器;在设置下,您应找到"配置软件源"。单击它并输入您的密码。现在单击标题为"其他软件"的第二个选项卡,然后按下底部的添加按钮。输入PPA for grub customizer:

PPA:danielrichter2007 /平头定制

单击"确定",将显示几条新行;现在关闭"软件源"对话框,如果尚未开始更新可用软件包,请按包管理器上的"检查更新"按钮。输入搜索功能:"grub-cus",您将在列表顶部看到grub定制器。将其标记为安装,然后单击"应用"以启动该过程。同意安装任何依赖项,以便它们也自动安装。

安装完成后,您可以在搜索对话框中输入"grub"来查找grub-customizer,也可以在"应用程序>设置> Grub-Customizer"下的菜单中找到它。

或者,您可以打开终端并运行以下命令:

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

你可能想要挑选一张漂亮的图片作为你的grub启动菜单的背景。

如果您想在开始之前了解更多信息,请参阅以下链接:

适用于Grub Customizer的Launchpad PPA

如何获取指南走路和图片的极客

    
给出答案 starrysky 26.01.2013 - 21:07
-1

通常当我不得不"搞乱"Grub我使用"Grub Customizer"时,它有一个GUI,因此您可以轻松地看到您正在改变的内容。 只需在终端输入:

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

然后在Dash中搜索grub自定义程序并将预定义的条目更改为Windows。

    
给出答案 s0ldier 07.04.2013 - 00:52

阅读有关标签的其他问题