新安装 Ubuntu 的用户通常会遇到需要设置开机启动引导项问题。撰写本文时 Ubuntu 最新版本是 11.04,在系统主菜单中并没有找到开机启动项的设置选项。本文将详细介绍如何通过终端编辑引导配置文件来修改引导项。

计算机通过 GRUB 引导时,程序会自动读取 /boot/grub/grub.cfg 内的代码进而显示引导画面。

笔者通过在已经安装了 Windows 7 的计算机上安装的 Ubuntu 11.04,并选择写入硬盘 MDR 引导,获取的正常安装后的开机引导项如下:

Ubuntu, with Linux 2.6.35-22-generic
Ubuntu, with Linux 2.6.35-22-generic (recovery mode)
Memory test (memtest86+)
Memory test (memtest86+, serial console 115200)
Windows 7 (loader) (on /dev/sda1)

手动打开 grub.cfg 文件我们可以看到开头的几行注释(如图):

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
Ubuntu 中设置 GRUB 引导项顺序及超时

其大意为:“请不要编辑此文件。该文件通过 /etc/grub.d 作为模板、/etc/default/grub 作为配置,被 grub-mkconfig 命令自动生成。”因此,我们打开此处指定的配置文件 /etc/default/grub,查看并修改我们需要的功能参数。在终端窗口中执行下列命令(如图):

$ sudo gedit /etc/default/grub
Ubuntu 中设置 GRUB 引导项顺序及超时
Ubuntu 中设置 GRUB 引导项顺序及超时

编辑其中我们需要修改的参数:GRUB_DEFAULT 为引导项列表的默认选择项序号(从 0 数起);GRUB_TIMEOUT 为引导项列表自动选择超时时间(如图)。同时我们也看到文件开头提到,修改 GRUB 配置文件后须执行命令 update-grub 以更新 grub.cfg 文件。

编辑完成并保存后,回到终端,执行命令“sudo update-grub”。其将自动依照刚才编辑的配置文件(/etc/default/grub)生成为引导程序准备的配置文件(/boot/grub/grub.cfg)。

$ sudo update-grub

连续输出了各个引导项之后,输出“done”即已完成生成过程(如图)。

Ubuntu 中设置 GRUB 引导项顺序及超时

同时,引导项列表文件 /boot/grub/grub.cfg 文件也已经被更新。

注:此方法在 Ubuntu 10.10 中同样适用。