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


实验环境: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系统恢复_系统

Linux系统恢复_Linux_02

Linux系统恢复_Linux_03

Linux系统恢复_恢复_04

Linux系统恢复_系统_05

Linux系统恢复_Linux_06


    2)删除grub.conf文件

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

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

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

Linux系统恢复_系统_07

Linux系统恢复_Linux_08

Linux系统恢复_系统_09

Linux系统恢复_Linux_10

Linux系统恢复_系统_11

    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系统恢复_系统_12

Linux系统恢复_Linux_13

Linux系统恢复_恢复_14

Linux系统恢复_系统_15

Linux系统恢复_恢复_16

Linux系统恢复_Linux_17

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

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

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

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

Linux系统恢复_恢复_18

Linux系统恢复_系统_19

Linux系统恢复_系统_20

Linux系统恢复_系统_21

Linux系统恢复_恢复_22

Linux系统恢复_Linux_23

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

Linux系统恢复_Linux_24

Linux系统恢复_系统_25

Linux系统恢复_系统_26

                                                                                                                谢谢浏览..