新人来看撒,包教包会,又涨知识又教套路咯

实验环境:VMware虚拟机,CentOS-6.9操作系统

实验详情:分区情况下删除boot目录以及删除fstab文件的修复

误删除boot目录,不要慌张,跟随博主一起一步一步使其重生

首先我们模拟删除boot目录

[root@centos6 ~]# rm -rf /boot/*     #删除boot目录下所有文件
[root@centos6 ~]# reboot             #重启电脑

铛铛铛:成功破坏,电脑启动不了,提示信息:

wKioL1nGJwbi2Hx_AAADBgGOB4w163.png-wh_50

勿慌勿慌,能拆就能砌,能破就能立。紧跟步伐

修复过程:

进入救援模式

不知道救援模式怎么进?简单,看好了,首先确保光盘已经挂载上去,然后没有了j_0063.gif,(别打脸,别打脸)还有还有...系统启动时会进入以下界面:

wKiom1nGKX_QjPn8AAAelrJh6Fc729.png-wh_50

接着就考验你的手速了,在读条还没进行到底时以迅雷不及掩耳盗铃之势按下Esc键(注意:一下,就一下,不听劝告,后果自负),接着便会弹出一个少见的界面:

wKiom1nGKtGDYPwZAAAXCM5AQYw990.png-wh_50

(上下键移动选项,Enter键确定)

选3,选3,选3!从光盘启动系统,

wKioL1nGKpvRoP0fAAZUlJysFsY485.png-wh_50

看见没,看见没,一个熟悉的单词Rescue,对对对,它就是那啥,选它,选它。然后然后就不懂了...,耐心耐心,之后你就知道了

wKioL1nGLPbQ6IAqAAAlfuu1ooQ495.png-wh_50wKioL1nGLPeBPwjZAAAjQV8w5Bc876.png-wh_50

左面选择语言--》English

右面选键盘格式--》us(美式键盘)

接着让你选择网络连接,为方便起见,在此我们就不选择它了,这一项选No,No,No

wKiom1nGLuewGJSqAAAYzDyYdB0477.png-wh_50

胜利就在眼前,提示你即将进入救援模式,之前的根目录会移动到/mnt/sysp_w_picpath(记住,记住,记住)

wKiom1nGLTCymXMSAAArpwVIWBQ939.png-wh_50wKiom1nGLTDzyHb4AAAXOXT2jH0708.png-wh_50

成功进入救援模式,选择shell Start shell

wKioL1nGLPeho3JmAAAfF8016sw650.png-wh_50

你会发现会进入一个bash界面,可以敲击命令,但是,但是,但是,这不是你原来系统的根目录,想要修复误删除的bootmul,你要先进去你的根目录:

sh-4.1#chroot /mnt/sysp_w_picpaths         #切换家目录,之后便会发现,目录还是从前的模样
sh-4.1#ls /boot/                     #ls boot目录发现boot目录已被删除干净

接下来大刀阔斧地向boot目录中添加文件

sh-4.1#mount /dev/sr0 /mnt/          #将光盘挂载,我们需要里面的部分文件
sh-4.1#cp /mnt/isolinux/vmlinuz /boot    #拷贝光盘下的这个文件到boot目录下,此文件为内核文件
sh-4.1#mkinitrd /boot/initramfs-`uname -r`.img `uname -r`     #此命令会生成伪根文件,负责文件系统的驱动,以挂载根目录
sh-4.1#ls /boot/                     #可以查看boot目录下已经生成的文件
sh-4.1#grub-install /dev/sda         #重装grub,负责系统的引导启动。注意如果你的虚拟机装了好几个磁盘,可能会报一定的错误:Unknown partition table signature 没关系的,不影响修复
sh-4.1##########基本文件已经装配齐全,最后一步,编辑配置文件
sh-4.1#nano /boot/grub/grub.conf        #我的救援模式里面没有vim编辑命令,使用nano编辑grub配置文件
###键入以下内容###
default=0         #启动时会有一个菜单,0时为默认启动文件里面第一个内核
timeout=5         #等待时间5秒,不做选择时
title mozart-centos        #菜单标题
kernel /vmlinuz root=/dev/sda2    #启动的内核,文件名注意保持一致。root后写原来根目录的挂载设备
initrd /initramfs-xxxxx.img xxxxx    #伪根系统,注意文件名的一致 ,同boot下的伪根文件保持同名

大功告成,boot目录修复完成,

键入exit退出原来根目录,再exit退出bash,选择reboot Reboot重启系统

系统复活(××××××)

wKioL1nGWF6B76ixAAAd9G80BZU747.png-wh_50

嘚瑟中.........

(没眼色的路人甲):倘若更严重的输出呢??删除etc下的fstab文件,使你进入救援模式,但却无法将原来的根目录挂载,无法找到boot目录,怎么破??

呃......这个......

简单!既然没有了fstab文件,那么我们就进救援模式写一个,老套路,进入救援模式。

这是删除fstab文件时的救援模式提示:

wKiom1nGS9Dg_ua2AAAeeAd5HEM960.png-wh_50

不管它,我们依旧进入bash界面,由于缺少fstab文件,磁盘不知道挂载到哪里,我们也不知道哪个磁盘分区中保存我们的根目录,不怕,简单,一个一个分区去挂载下查看就好了(嘿嘿)

sh-4.1#mkdir test       #创建测试分区的目录
sh-4.1#mount /dev/sda1 test/   
sh-4.1#ls test/         #挂载分区,并查看分区内容判断...
######此处省略测试环节###########
sh-4.1#mount /dev/sda2 test/
sh-4.1#ls test/         #最终我们发现,挂载了/dev/sda2分区我们可以找到了原来的根目录(欢呼欢呼)
######接下来我们自己人工智能(手写)fstab文件,之前若有备份拷过去即可#######
sh-4.1#nano test/etc/fstab
######根据分区情况键入以下内容#####3
/dev/sda1    /boot    ext4    defaults    0  0
/dev/sda2    /        ext4    defaults    0  0
/dev/sda3    /app     ext4    defaults    0  0
............
sh-4.1#exit    #退出bash,选择reboot Reboot 重启系统,

重启系统,完成啦(开心开心)........怎么可能,你只是解决了一个问题(修复fstab文件),可以正常进入救援模式,并将根目录默认挂载在/mnt/sysyp_w_picpath.还有boot目录要修复....

路人甲:上面不是有详细的修复boot目录的教程么,你是不是傻...

呃.....也对,剩下的就和上面的一样了,进入救援模式,修复boot目录。

不过,嘿嘿,还留了一手:

在生成内核文件和伪根的时候,可以不用那么麻烦一个个命令生成,这些文件都来自于kernel包,只需重装kernel包即可,切换根目录后,挂载光盘

rpm -ivh /mnt/cdrom/Packages/kernel.xxx.rpm  --force        #--force,强制重装kernel包,即可生成内核文件伪根文件等boot下的文件

然后重装grub,编辑grub配置文件即可(注意:配置文件内的文件名的一致问题),重启,结束

结束了,真的结束了,骗人不好.......