GRUB 2/zh-cn

=介绍=

GRUB 2 是 GNU GRUB (GRand Unified Bootloader) 的最新版本. bootloader(引导程序) 是计算机开机时第一个运行的软件程序. 它负责加载操作系统内核并把控制权交给操作系统内核(Fedora 下就是 Linux 了). 反过来，内核初始化操作系统的其余部分.

GRUB 2 已经取代了之前的 GRUB (即，0.9x 版本)，使 GRUB 成为了 GRUB Legacy.

从 Fedora 16 开始，GRUB 2 就是 x86 BIOS 系统下默认的引导程序了. 对于 BIOS 系统的升级也是默认安装 GRUB 2，但是您完全可以选择跳过配置引导程序.

=任务/常见问题=

添加其他操作系统到 GRUB 2 菜单
如果您还安装有其他操作系统而且希望通过 GRUB 2 引导它们，那么请按照以下操作来做：


 * 1) yum install os-prober


 * 1) grub2-mkconfig -o /boot/grub2/grub.cfg

设置默认项
由于  (和系统探测器)，我们不能预知   中的各项的顺序，因此我们通过名称/标题来设置默认项. 要设置默认项，首先，我们在  中设置 grub_default=saved 并运行 grub2-mkconfig -o /boot/grub2/grub.cfg 来更新 grub.cfg. 然后调用 grub2-set-default <标题或名称> 和最近安装的 Fedora 项标题. 从此之后，您便可以通过调用 grub2-set-default <标题或名称> 改变默认项或通过运行 grub2-editenv list 查看它.

要设置默认项，您还需要可能的菜单项列表，您可以通过 grep menuentry /boot/grub2/grub.cfg 找到它.

(难道就没有更好地办法吗？)

如果您了解相关的风险，但却仍然想直接修改  ，下面是您可以做的： 编辑  ，改变行

set default="0"

为 set default="5"

更新 GRUB 2 设置
在 Feodra 下直接编辑  是安全的. Fedora 里的 grubby 在更新内核后就会以一种安全的行为修改配置信息. 在 Fedora 中不包含也不需要包含其他的发行版(尤其是 Debian 及其衍生版)提供的添加一个 命令的软件补丁.

邂逅可怕的 GRUB 2 启动提示符
如果设置不当，GRUB 2 可能会加载失败，随后进入启动提示符中. 要解决此问题，按如下步骤执行：

1. 列出 GRUB 2 识别的驱动器： grub2> ls

2. 对于一个含有三个分区的 dos 分区表  ，输出看起来类似于： (hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)

3. 对于一个含有四个分区的 gpt 分区表  ，输出看起来类似于： (hd0) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1)

4. 通过这些信息您就可以在驱动器的每个分区探测并定位您的 vmlinuz 和 initramfs 文件了： ls (hd0,1)/

将列出  下的文件. 如果这个分区包含  ，输出就会显示 vmlinuz 和 initramfs 的全名.

5. 有了地址和 vmlinuz 和 initramfs 的全名您就可以启动您的系统了.

5a. 声明您的根分区： grub> set root=(hd0,3)

5b. 声明您要想使用的内核： grub> linux (hd0,1)/vmlinuz-3.0.0-1.fc16.i686 root=/dev/sda3 rhgb quiet selinux=0
 * 1) 注意：需要的话添加其他内核参数
 * 2) 注意：对照自己的系统改变内容

5c. 声明要使用的 initrd ： grub> initrd (hd0,1)/initramfs-3.0.0-1.fc16.i686.img
 * 1) 注意：对照自己的系统改变内容

5d. 通知 GRUB 2 启动所选文件： grub> boot

6. 启动后，打开一个终端.

7. 使用  命令来重新创建 grub 2 启动系统需要的 grub.cfg 文件： grub2-mkconfig -o /boot/grub2/grub.cfg

8. 使用  命令并根据不得配置来安装 grub 2 到您的硬盘驱动器中: grub2-install --boot-directory=/boot /dev/sda
 * 1) 注意：您的驱动器可能会有其他的设备名称. 使用 mount 命令输出检查.

其他 GRUB 2 问题
缺少软盘：一些用户报告称安装 GRUB 2 到分区启动扇区时可能会失败，如果计算机软盘控制器在 BIOS 中处于激活状态但却没有实际的软盘. 一个可能的替代办法是从救援模式(系统安装后)运行： grub2-install --no-floppy

=深入阅读=

http://www.gnu.org/software/grub/manual/grub.html

http://fedoraproject.org/wiki/Features/Grub2

http://fedoraproject.org/wiki/Anaconda/Features/Grub2Migration