Linux 系统在启动过程中,首先是固件(PC 上大多是 CMOS/BIOS)的物理检测,诸如检测系统的显卡、CPU 和硬盘等,可从系统按下电源后看到此检测信息;检测无问题,将读取硬盘的 MBR(主引导记录)中的自举程序,Linux 中常用的自举程序如 LILO 和GRUB。自举程序 GRUB 在系统启动期间只有一个作用,就是载入内核,内核在引导期间有两个主要的作用,一个是驱动系统硬件,另一个将启动系统进程 init;init 进程将读取其配置文件/etc/inittab 完成后续所有的引导。
      所以其实 GRUB 在引导期间只有一个最重要的作用,就是载入系统内核。那么 GRUB在引导期间到底是如何执行引导的呢 ? 让我们来看下的 GRUB 配 置文件/boot/grub/grub.conf(一定要注意/etc/grub.conf 只是此文件的一个软链接)Grub是大多数Linux系统默认使用的引导程序,可以通过启动菜单的方式选择进入不同的操作系统(如果有的话)。/boot/grub/grub.conf配置文件丢失,或者关键配置出现错误,或者MBR记录中的引导程序遭到破坏时,Linux主机启动后可能只会出现grub>的提示符时,无法完成进一步的系统启动过程,那么,怎样解决这一问题呢,下面我们就来学习它。
1.如果grub配置文件没有备份
模拟grub损坏,人为的将/boot/grub/grub.conf配置文件删掉,在删掉之前,先看一下Grub.conf启动菜单的配置文件内容
重启之后,无法完成进一步的系统启动过程,就会进入grub>提示符下
通过在grub>环境中手动输入引导命令启动Linux系统,也就是刚上面配置文件中的所要执行的那一部分内容
进入系统之后,由于grub的配置文件已被删除,因此只能手动去重建,重建一个和其他正常主机中的同名文件一样。
重启之后就好了。
2. 存在grub配置文件已经备份
如果存在 GRUB 配置文件备份 , 那么比较省事的办法就是对其进行备份恢复。在这里,同样使用 RHEL5 的安装光盘引导进入急救模式
进入sh-3.1#的Shell环境以后,执行chroot/mnt/sysp_w_picpath命令可以将目录结构切换到待修复的Linux系统中(因绝大多数 Linux 光盘修复模式中会将硬盘系统的“/”分区 chroot 到“/mnt/sysp_w_picpath”处)
若未执行chroot/mnt/sysp_w_picpath命令,则重新建立的grub.conf配置文件应该位于/mnt/sysp_w_picpath/boot/grub/grub.conf中
内核文件、镜像文件、/boot 目录等文件损害或丢失,也可以使用此种方法修复。