实验目的:熟悉了前面的启动流程,系统的一个大致的启动流程是怎样的,而其中牵扯到了些许文件,这些文件在系统启动时用于衔接各个步骤,如果这些文件损坏或缺失,系统将不能正常启动,这次写的内容就是当这些文件损坏或者缺失的时候,应怎样修复。


实验环境:CentOS 6.8


实验步骤:

    1)grub的stage 1 和stage 1.5损坏后如何修复

(1)因为没有MBR,系统启动后会直接进入救援模式的选择界面,选择进入救援模式

(2)进入就救援模式后,df查看挂在情况,并且使用chroot切换真正的根文件系统

(3)使用grub-install /dev/sda (/dev/sda为mbr所在的硬盘)

(4)exit后重新启动

Linux系统恢复_第1张图片

Linux系统恢复_第2张图片

Linux系统恢复_第3张图片

Linux系统恢复_第4张图片


    2)删除grub.conf文件

(1)没有grub.conf文件,即没有办法加载内核及rootfs的驱动文件

(2)开机后会直接进入grub界面,按照grub中的内容将内核文件及ramfs文件所在路径输入,此时系统将根据你所输入的路径去找相关文件

(3)启动后需要从新写一份或者copy一份grub.conf,因为之前写的只是临时的寻找路径,并没有写入到文件里面去,如果不写,下次开机还要进入grub界面

Linux系统恢复_第5张图片

Linux系统恢复_第6张图片

Linux系统恢复_第7张图片

Linux系统恢复_第8张图片

    3)删除boot目录(其中 包含了stage2和grub以及内核相关文件)

(1)开机会出现会出现error15的错误界面,(因为stage2文件缺失)

(2)重新启动进救援模式,并且切换至真正的rootfs

(3)挂载本地光盘,然后使用rpm命令安装kernel包(会提醒aleady installed,需加上--force选项或者--replacepkgs选项)

(4)grub-install /dev/sda(/dev/sda为boot所在的磁盘),会创建/boot下的grub目录,但没有grub.conf文件

(5)编写grub.conf文件

(6)安装完成后重新启动

Linux系统恢复_第9张图片

Linux系统恢复_第10张图片

Linux系统恢复_第11张图片

Linux系统恢复_第12张图片

    4)删除/etc/fstab文件,并且删除/boot目录

(1)因为没有/etc/fstab,所以进入救援模式后并根目录并没有挂载。

(2)挂载根目录,然后进入到真正的根下面,编写/etc/fstab文件,需要将/boot分区和/分区写上(挂载/f分区时,如果你记得原来的/分区,直接挂上即可,如果不记得,需要每个都试试)

(3)完成后重新启动,然后再次进入救援模式,如果你/etc/fstab文件写的正确,那么就挂载上了,后面的操作和上面的3一样。

Linux系统恢复_第13张图片

Linux系统恢复_第14张图片

wKiom1fbkGbRu3SYAAADor_0ENQ577.png

wKioL1fbkGaypK-AAAAEFpkrT3I950.png

    注意:如果分区是以LVM分区方式来分区的,而且/目录/usr和/var目录这几个是单独分区的,第一次进入救援模式后,需要首先将vg激活,然后再挂载,而且编写/etc/fstab文件时需要将这几个单独分区全部写上,退出后再进救援模式,后面的步骤和上面就相同了。

                                                                                                                谢谢浏览..