当前位置: 首页>>技术问答>>正文


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

,

问题描述

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

最佳解决方案

自定义/etc/default/grub文件

有两种使用编辑grub文件的方法。这些在Ubuntu Community Documentation Grub2 page中进行了描述

两种方法是:

  • 启动上次启动的操作系统,即”saved method”

    • 这是我使用的一个。它让我决定我要使用哪一个,并允许我重新引导到该系统,在我更新时方便使用。

  • 默认情况下启动特定的操作系统。

    • 你确切的问题的答案。

寻找menuentry设置为新的默认值

要开始,我们需要找出我们正在启动或想要启动的内容。用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)" {

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

编辑/etc/default/grub文件

输入终端

sudo nano -B /etc/default/grub

和你的密码,如果问。 nano编辑器将打开。

A.保存的方法 – 以我喜欢的方式,我从标准的grub文件进行了以下更改。

  • 我将GRUB_DEFAULT的值更改为saved

    GRUB_DEFAULT=saved
    
  • 我通过添加以下行来启用SAVEDEFAULT functionality

    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

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

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

Addendum

纳米笔记

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

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

当您通过时,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,因为除非您是管理员,否则默认设置可以用non-obvious方式覆盖。 sudoedit比较安全,因为它会自动保存已编辑文件的备份副本,但nano中的-B命令行选项的功能相同。 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进行了一些更改。如月亮发射的背景图片。建议在Ubuntu Community Documentation page on Grub2上讨论如何做到这些。

祝你好运!

次佳解决方案

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

在终端类型中:

fgrep menuentry /boot/grub/grub.cfg

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

grub2,ubuntu

突出显示您想要默认的条目 – 例如screen-shot中的Windows 7。右键单击并选择copy

类型

gksu gedit /etc/default/grub

更改条目

GRUB_DEFAULT=0

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

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

保存,然后键入

sudo update-grub

source

第三种解决方案

您需要编辑/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(loader)(在/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

第四种方案

你可以关注这个nitstorm answer here

您将不得不通过添加Grub-customizer

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

然后从短跑,应用镜头启动它。

grub2,ubuntu

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

要直接启动到Windows,请选择preference并减少boot-time以加载窗口。

grub2,ubuntu

第五种方案

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

grub2,ubuntu

第六种方案

它可以通过称为”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组,然后单击工具栏中的向下箭头将其向下移动。完成后,点击保存。而已!

grub2,ubuntu

请记住,不能将单个条目移出各自的组,例如Ubuntu无法从Linux组中移出。

第七种方案

在启动时,将/etc/default/grub中的GRUB_DEFAULT值更改为可用操作系统的grub列表中的任何窗口。例如在我的情况下,我将不得不改变这条线

GRUB_DEFAULT=0

GRUB_DEFAULT=5

之后,运行sudo update-grub

第八种方案

识别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条目设置为默认值

这很容易!

首先,用gedit(一个文本编辑器)作为root打开我们的配置文件,运行这个命令:

$ 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条目应作为默认值突出显示!

第九种方案

Grub-Customizer

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/182.html,未经允许,请勿转载。