Grub2中文指南
https://help.ubuntu.com/community/Grub2
GRUB 2
是
Ubuntu 9.10 (Karmic Koala)
的默认开机加载和管理程序,并在
10.04
以后于许多操作系统中使用。在计算机开机时
GRUB 2
将显示选单等待用户输入或是自动将控制权转移到操作系统核心。GRUB
2
继承自
GRUB (GRand Unified Bootloader)。它经过了完全的重写以提供使用者可观的灵活性和效能增进。GRUB
2
是自由软件。
在这份指南中,GRUB
2
版本为
1.98
或更新版。传统
GRUB (0.97
版)
将以
GRUB
称之。欲查询您目前使用的版本,输入「grub-install
-v」指令。
注意:当系统中同时存在多个
GNU/Linux
发行版,请小心其他的发行版(特别是
OpenSuse
和
Fedora)并不一定会转移至
Grub 2,而使得
Grub 2
的设定变为复杂。
目录
- 增加功能
- GRUB vs GRUB 2
- 安装
-
- 预设安装
- 升级至 GRUB 2
- 档案结构
-
- /boot/grub/grub.cfg
- /etc/default/grub
- /etc/grub.d/ (目录)
- 设定 GRUB 2
-
- /etc/default/grub(档案)
- 开机显示行为
-
- 初始化默认值
- 计时显示
- 隐藏
- 储存
- 上次开机失败或开机至恢复模式
- 自定义选单项目
-
- 制作自定义选单
- 备用模式
- 命令行及救援模式
-
- 开机时编辑选单
- 命令行模式
- 使用命令行接口开机
- 救援模式
- GRUB 错误讯息
-
- 解决「未知的装置字符串」(Unrecognized Device String)(Error 11)
- 档案未找到(File Not Found)(Error 15)
- Grub 显示救援模式提示符号(然后不继续进行开机)
- 开机影像和主题
-
- GRUB 2 开机影像
- 建立用户自定义开机影像
- 主题
- 重新安装 GRUB 2
-
- 从开机光盘重新安装
- 变更或移动 GRUB 2
- 移除 GRUB 2
-
- 回复至传统 GRUB
- 常见问题与错误
- 其他
-
- 由序列式控制台开机
- 连结
-
- 外部连结
GRUB vs GRUB 2
GRUB 2 与原本的 GRUB 相比之下主要增进功能包含:
- 命令稿支持,包括条件叙述和函式
- 动态模块加载
- 救援模式
- 客制化选单
- 主题
- 支持图形化开机选单以及改良的开机影像能力
- 直接由硬盘中的可开机光盘映像文件来开机
- 新的配置文件结构
- 非 x86 平台支持(例如 PowerPC)
- 全面支持 UUID(不只在 Ubuntu)
GRUB 2 的预设选单对 GRUB 使用者而言看起来很熟悉,但是在相似的表面下实则有非常巨大的相异之处。
- 在没有安装其他操作系统的全新 Ubuntu 9.10 或 10.04 安装下,GRUB2 将会直接开机到登入提示符号或是桌面。不会显示选单。
- 在开机期间按住 SHIFT 可显示选单(之前在传统 GRUB 中是 ESC 键)
- 没有 /boot/grub/menu.lst。已被 /boot/grub/grub.cfg 取代。
- 在 grub 提示符号下没有「/find boot/grub/stage1」。Stage 1.5 被淘汰了。
- 主要选单档,/boot/grub/grub.cfg,不应再被手动编辑,即使是由「root」身份。
- grub.cfg 会在任何有更新、核心被加入/移除或是使用者执行 update-grub 的时候被覆写。
- 可使用的 Linux 核心清单将会参考在 /boot 目录下的档案自动产生。并非像以前需要编辑一个 menu.lst 档案中的清单。执行「update-grub」来更新此清单。
- 使用者可以编辑一个客制化档案,/etc/grub.d/40_custom,在其中用户可放入自己的选项。此档案将不会被覆写。
- 主要用来改变显示设置的配置文件是 /etc/default/grub。
- 有好几个档案用来设定选单 - 上面提到的 /etc/default/grub,还有所有在 /etc/grub.d/ 目录下的档案。
- 分割区编码方式变更。现在第一个分割区是 1 而不是 0。然而第一个装置依然是 0(没有改变)。
- 无论何时执行 update-grub 指令时,都会自动搜寻其他操作系统,例如 Windows。
- 在 update-grub 指令执行前,所有配置文件中变更的设定都不会生效。
安装
GRUB 2
会在全新安装的
Ubuntu 10.04
中预设安装。从
Ubuntu 9.04 Jaunty Jackalope
升级至
9.10,将保留原本的
GRUB,除非使用者选择升级至
GRUB 2。若使用者想要的话,之前版本的
Ubuntu
可以升级至
GRUB 2
。
您可以透过
Synaptic
或是从命令行来检查目前安装的版本。打开终端机(应用程序
>
附属应用程序
>
终端机)并输入以下指令:
grub-install -v
GRUB 2
应该会显示版本编号
1.96
或是更新。传统
GRUB
版本为
0.97。
预设安装
GRUB 2
将会是
Ubuntu 9.10 Karmic Koala
可开机光盘默认安装的启动加载程序。
- GRUB 2 套件为 grub-pc。grub-common 套件也将会一并安装。
- grub2 是过渡期虚拟套件。他可被安全移除,且不会在 Synaptic 中显示为已安装。
升级至
GRUB 2
在
Ubuntu 9.10
或更早期的版本将
GRUB(传统)升级至
GRUB 2
是相当容易的。重点在于,在使用者确认进行完全的转换前,升级过程将提供一个程序来确认
GRUB 2
能在您的机器上工作。然而请注意到开发者决定不要在预设的升级动作中自动升级至
GRUB 2。升级至
Ubuntu 9.10
的使用者若想要的话可以继续沿用
GRUB。
- 在安装 GRUB 2 之前,更新套件库索引以确保系统有最新的软件套件列表。一般在终端机中透过 sudo aptitude update 指令或是透过图形用户界面套件管理程序,如 Synaptic,来更新列表。较旧的 GRUB 套件可能未包含早期版本的一些错误修正更新。
-
欲升级至
GRUB 2
请安装「grub-pc」套件。此套件可由
Synaptic
中安装,或是执行以下指令。一旦开始安装,一份简单的程序会引导用户进行其余的安装过程:
sudo aptitude install grub-pc
1.
2.
3.
当安装在一个全新磁盘上,您可能需要标记所选的分割区为可开机的。
4.
4a.
在选定选项的时候
Jaunty
用户可能会碰到一个「无法辨识的装置字符串
(Unrecognized device string)」Error
11。如果发生,按下「e」直到您看到一行开头为「grub
edit>root」的文字。把「root」改为「uuid」,按下
ENTER,然后按「b」来启动。更多关于
Error 11
的细节可以在命令行和救援模式小节中找到。
5.
6.
sudo upgrade-from-grub-legacy
在安装期间,使用者可能会需要提供选择,决定要将
GRUB 2
安装在哪个装置上。使用上/下键来选择一个装置(sda,
sdb
等等),然后使用空格键来选定该装置。一旦至少一个以上的装置被选择后,使用
TAB
键将
OK
反白,然后按下
ENTER。未成功选择一个装置将会导致
GRUB Error 15
错误产生并导致安装失败。
在成功升级至
GRUB 2
之后,会有一个讯息告知用户有些
GRUB
传统配置文件依然在系统中,并可被移除。此说明包含以下的指令,必须以「root」身份执行:rm
-f /boot/grub/menu.lst*
以「root」执行
rm
指令时请特别慎重。不正确输入此指令可能导致系统档案被永久的删除。
档案结构
GRUB 2
包含一个完全修改过的目录及档案阶层。来自
GRUB
传统的
menu.lst
不再继续使用。
欲找出
GRUB 2
安装位置,用户可以执行以下指令:
sudo grub-probe -t device /boot/grub
可找到安装的装置
sudo grub-probe -t fs_uuid /boot/grub
可找到
UUID。
由
GRUB 2
使用的主要目录和档案包含了:
/boot/grub/grub.cfg
这是最相似于
GRUB
/boot/grub/menu.lst
的档案。此档案中包含了
GRUB 2
选单信息,但不像
GRUB
的
menu.lst,grub.cfg
档不该手动编辑。
·
·
·
·
用户也会在
/boot/grub
目录下看到许多
*.mod
档案。这些档案代表
GRUB 2
的模块化本质并依照
GRUB 2
启动加载程序的需求而加载。
/etc/default/grub
·
/etc/grub.d/
(目录)
·
·
·
·
·
·
o
o
o
o
o
o
o
o