Grub错误说明大全

收集整理了Grub错误的说明,应该比较全面的了,如果还有,请到Linux公社补充.

1. Grub loading, please wait…

出现症状: 代码:

GRUB loading stage 1.5GRUB loading, please wait…

屏幕出现这段文字之后, 系统停止, 如果尝试使用一张linux启动软盘(也就是有安装在软盘上的grub)可以引导系统.

解决方法:设置本机的bios, 不要使用floopy作为第一启动设备, 改用hard drive作为第一启动.

对于gentoo的用户来说, 错误的CFLAGS也会导致该错误的发生, 虽然现在的grub ebuild文件已经过滤掉了-fstack-protector, 但是当问题还是无法解决的时候用干净的CFLAGS重新编译一下grub也不失是一个好办法.

# CFLAGS=”-O2 -march=i686 -fomit-frame-pointer -pipe” emerge grub

2. Grub Error 12

出现症状:代码:12 : Invalid device requested.

该症状是当设备描述符正确但是随后出现没定义过的某个错误时出现.

解决方法:该错误一般出现在使用交互式的Grub安装方式(也就是Grub>下的安装方法)时没有输入以下两行.代码:

grub> root (hd0,0)

grub> setup (hd0)

(hd0,0) 必须用你自己的引导扇区代替, (hd0)也必须同时用你选择的hard drive代替, 因为上述两条命令的实质就是在把bootloader安装到第一个硬盘(The primary master)的 Master Boot Record上.

3. Grub Error 15

出现症状:该错误可能出现在Grub配置的两个不同的阶段, 一种可能是出现在Grub的安装配置阶段(也就是在MBR上安装Grub的时候), 屏幕显示如下:代码:grub> root (hd0,0)Filesystem type is xfs, partition type 0×83

grub> setup (hd0)Checking if “/boot/grub/stage1” exists… noChecking if “/grub/stage1” exists… no

Error 15: File not found

还有一种情况就是启动电脑后选择启动linux或其他在Grub启动列表中列出的系统时, 屏幕显示如下:代码:

Booting ‘gentoo Linux’

root (hd0,0)Filesystem type is ext2fs, partition type 0×83kernel (hd0,0)/boot/kernel-2.4.20 root=/dev/hda3 vga=792

Error 15: File not foundPress any key to continue…

解决方法 (第一种情况) :该错误在找不到指定的文件时出现, 但是此时像磁盘或分区信息这样的其他配置都没问题(只是找得到相应的分区或磁盘, 至于对不对它可不管). 一般来说没找到的文件以kernel居多. 首先需要确认一下在你的/boot里的那个kernel, 如果需要存在于你/boot里那个kenel的完整的文件名, 使用livecd, rescue盘或其他安装在硬盘上的linux系统引导成功后挂载那时在配置Grub时候指定的/分区和/boot(需要的话), 然后使用chroot进入那时的根分区, 使用下面的命令进行查找.代码:

# cd /boot# ls

如果发现kernel文件丢失, 进入/usr/src/linux(再此之前确认一下该目录下放置了kernel的source code)重新compile一个, 命令如下:代码:

# cd /usr/src/linux/# make menuconfig# make

完成之后拷贝进/boot:# cp /usr/src/linux/arch/i386/boot/bzImage /boot

重命名一下kernel, 和你在grub.conf中指定的一样就可以了. 顺便再检查一下grub.conf中kernel那行引用的分区是否正确.

除了kernel的丢失或损坏, BIOS无法识别存放Grub的stages和kernel的硬盘分区也会出现相同的Missing 错误.同时存放Grub的stages和kernel的分区不应该是使用software RAID-5(或者是使用其他优化存储技术的分区, 比如LVM或LVM2)的.

解决方法 (第二种情况) :第一, 检查grub.conf的root行和setup行配置正确.如果你确认你使用的方法是正确的, 那可能你使用的Grub版本存在bug(比如0.93.20031222这个版本), 使用你所用发行版的软件工具新安装一个或是升级你原来所用的Grub).

Gentoo用户可以使用下面的命令:

(在chroot环境下执行该命令)# echo “=sys-boot/grub-0.93.20031222” >> /etc/portage/package.mask# emerge grub -p

然后你也可以使用Grub开发人员建议使用的 grub-install脚本进行Grub的在MBR中的安装:

(–root-directory 在你使用单独的/boot分区时是必选项)# grub-install –root-directory=/boot /dev/hda

如果上面的方法你都试过, 但是还是没法解决问题的话, 请检查一下你的/boot分区, 可能是你的/boot分区存在问题:

(确认一下你将要进行fsck的分区是处于unmount状态下的, 在给出的例子中使用的是/dev/hda1.)代码:

# fsck -y /dev/hda1

,经历一种身体下了地狱,眼睛进入天堂,灵魂归入故里。

Grub错误说明大全

相关文章:

你感兴趣的文章:

标签云: