Trouble shouting系统修复要从linux系统启动过程入手,之前写过一篇关于linux开机启动过程的详细描述的文章http://blog.csdn.net/avilifans/article/details/12059447,可以参考一下。
开机后,首先是加载bios程序,获取启动顺序,找到第一个启动设备。然后是读取第一个启动设备的mbr扇区信息。
Mbr 正常的情况下看到的是grub(GRand UnifiedBootloader 是一个将引导加载程序安装到主引导记录的程序)菜单,如果没有看到,说明grub 有问题,需要使用grub-install /dev/sda命令对其进行修复。修复的前提:必须登录linux 系统(方式:通过进入营救 模式下的shell 环境,用chroot /mnt/sysimage进入笼环境, 也就是真正的系统环境。
进入系统后没有看grub菜单,报了一个没有找到启动设备,阻止进入系统的错,因为mbr是计算机开机后所必须读取的首个扇区,所以判断mbr出了问题
通过网络引导(也可以通过光盘引导进入营救模式):
进入营救模式【一般进入下面界面后输入(linux rescue)】:
进入shell环境
然后查看分区信息
发现故障没办法切换到笼环境,原因:分区问题和/etc/fastb(开机后自动挂载文件系统)这个文件有关,修复方法:识别分区,并对其进行挂载(完成后重启系统)
将引导分区挂载并创建etc/fstab文件
mkdir test ; mount /dev/sda1 test
vi test/etc/fstab
如果重启后能如下图,进入笼环境,就说明/etc/fstab文件修改正确
使用命令对grub.conf进行修复
重新启动后,仍然没有进入grub菜单,在启动的过程中,显示mount没有挂载点,重新进入营救模式(也可以使用光盘引导)在shell下的笼环境中安装mount软件包。使用
如下命令进行安装:
rpm -ivh --force --replacefiles +软件包名 接下来使用mount命令时就可以看/etc/fstab /中分区的挂载情况了
再次重启后,会发现grub被成功修复顺利的进入了grub菜单.