如果设置不当,GRUB 2 可能会加载失败,随后进入启动提示符中。要解决此问题,按如下步骤执行:
1. 列出 GRUB 2 识别的驱动器:
grub2> ls
2. 对于一个含有三个分区的 dos 分区表 /dev/sda
,输出看起来类似于:
(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)
3. 对于一个含有四个分区的 gpt 分区表 /dev/sda
,输出看起来类似于:
(hd0) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1)
4. 通过这些信息您就可以在驱动器的每个分区探测并定位您的 vmlinuz 和 initramfs 文件了:
ls (hd0,1)/
将列出 /dev/sda1
下的文件。如果这个分区包含 /boot
,输出就会显示 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
# 注意:需要的话添加其他内核参数
# 注意:对照自己的系统改变内容
5c. 声明要使用的 initrd :
grub> initrd (hd0,1)/initramfs-3.0.0-1.fc16.i686.img
# 注意:对照自己的系统改变内容
5d. 通知 GRUB 2 启动所选文件:
grub> boot
6. 启动后,打开一个终端。
7. 使用 grub2-mkconfig
命令来重新创建 grub 2 启动系统需要的 grub.cfg 文件:
grub2-mkconfig -o /boot/grub2/grub.cfg
8. 使用 grub2-install
命令并根据不得配置来安装 grub 2 到您的硬盘驱动器中:
grub2-install --boot-directory=/boot /dev/sda
# 注意:您的驱动器可能会有其他的设备名称。使用 mount 命令输出检查。
其他 GRUB 2 问题
缺少软盘:一些用户报告称安装 GRUB 2 到分区启动扇区时可能会失败,如果计算机软盘控制器在 BIOS 中处于激活状态但却没有实际的软盘。一个可能的替代办法是从救援模式(系统安装后)运行:
grub2-install <target device> --no-floppy