自定义/etc/default/grub文件

自定义/etc/default/grub文件

如何设置引导加载程序,以便在 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_DEFAULTsaved

    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允许您通过点击保存编辑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

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

Ubuntu 社区的一些人建议使用sudoedit而不是nano。我建议使用nano— 这是 Ubuntu 更高版本中默认的 sudoedit 编辑器 — 而不是sudoedit,因为除非您是管理员,否则默认值可能会以不明显的方式被覆盖。 sudoedit更安全,因为它会自动保存已编辑文件的备份副本,但-B中的命令行选项nano具有同样的功能。 比或 等nano编辑器更直观,虽然它们非常灵活,但需要学习很多命令、快捷方式或不同的模式。viemacs

如果您不喜欢使用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 组一样。

相关内容