如何设置引导加载程序,以便在 Windows 7/Ubuntu 11.04 双启动中,Windows 作为标准启动而不是 Ubuntu?
答案1
自定义/etc/default/grub
文件
有两种方法可以通过编辑 grub 文件来实现这一点。这些方法在Ubuntu 社区文档 Grub2 页面
这两种方式是:
- 启动上次启动的操作系统,即“保存的方法”
- 这是我使用的那个。它让我决定使用哪一个,并允许我重新启动进入该系统,这在更新时很方便。
- 默认启动特定的操作系统。
- 针对您的确切问题的答案。
查找要设置为新默认值的菜单项
首先,我们需要找出我们正在启动或想要启动的内容。使用++Ctrl打开终端并输入Altt
sudo grep menuentry /boot/grub/grub.cfg
user@YourComputer:~$ grep menuentry /boot/grub/grub.cfg
[sudo] password for user:
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
并询问您的密码。纳米编辑器将打开。
A. 保存方法- 按照我喜欢的方式,我对标准 grub 文件进行了以下更改。
我将 的值更改
GRUB_DEFAULT
为saved
:GRUB_DEFAULT=saved
我启用了SAVEDEFAULT 功能添加以下行:
GRUB_SAVEDEFAULT=true
B. 特定菜单项- 按照你要求的方式
将 的值更改
GRUB_DEFAULT
为您想要始终启动的 Windows 系统的名称。相应的 Grub 菜单项的名称可以按照上一节中的描述找到。我想让 Windows 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/
。
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
附录
纳米注释
nano
在终端中使用特别方便。使用箭头键移动。输入您要添加的内容,删除不需要的内容。
-B
或选项--backup
将先前的版本备份到当前文件名,后缀为~
。在出现可怕的胖手指效应。
完成后,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
具有同样的功能。 比或 等nano
编辑器更直观,虽然它们非常灵活,但需要学习很多命令、快捷方式或不同的模式。vi
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 社区文档页面, 受到推崇的。
祝你好运!
答案2
通过一些命令行技巧,您可以让 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
答案3
您需要编辑该/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) (on /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
答案4
使用名为“Grub Customizer”的 GUI 工具可以轻松完成此操作。
什么是 Grub Customizer?
Grub Customizer 是一个用于配置 grub2 的图形界面。该应用程序允许用户添加、删除、冻结、重命名和重新排序启动菜单项
如何安装?
按Alt+ Ctrl+T打开终端并逐个运行以下命令:
sudo 添加 apt-repository ppa:danielrichter2007/grub-customizer sudo apt-get 更新 sudo apt-get 安装 grub-customizer
如何使用?
- 安装后,按 Super 键(Windows 键)打开 Unity dash 并搜索“”并打开它。
- 单击 Linux 选择 Linux 组,然后单击工具栏中的向下箭头将其向下移动。完成后,单击保存。就是这样!
请记住,您不能将单个条目移出其各自的组,就像 Ubuntu 不能移出 Linux 组一样。