Boot目录下内容丢失导致系统无法启动
笔者朋友近期在一次学习过程中不慎将虚拟机中boot目录下内容丢失,导致系统无法启动。当然此前他并不知道是这样,只是应为莫名的弹出框报错所有导致系统无法启动。此后朋友将此故障告知笔者,笔者本身其实也是小白刚刚学习linux不就,但是对这些稀奇古怪的故障感觉很有兴趣,所以笔者就掉进坑里搞了几个小时到了凌晨2点才搞出来点眉目来。为了让更多学习linux的小白踩坑,笔者将故障处理过程写出来希望和在下一样的小白们少踩坑。下的不好大家别见怪哈。
1、 事故出现原因
- 某天笔者朋友告知虚拟机内linux无法启动,原因不明。朋友告知莫名错误不知道发生什么。
2、 故障导致结果
- 启动无法启动,开机出现grub界面无法进入错误系统。
3、 故障处理过程。
- 当笔者看到上图画面后就google搜索问题最后试着去尝试手动引导试试,可惜不幸的是发现根本找到不到内核文件,所以怀疑内核文件丢失。
b)既然找到了问题那就去解决了所以笔者准备进入救援模式看一下看看有什么搞头。下图第三项就是可以进入救援模式了别告诉我你不知道哈。
c)笔者本来是对进入救援模式的过程截图了的但是想想还是没有贴上来第一笔者承认自己有点懒。第二大家自由尝试下才能正在学到东西。还是那句话不懂的地方搞它一下就知道了。下图就是进入救援模式的样子了。
d)笔者到了救援模式下就准备开始搞一下了。首先执行cd /mnt/sysimage (这条命令的大概意思就是切换到硬盘的根分区,实在不懂你懂的 google)
cd /boot 下查看 我了个去 竟然什么都没有 ………………….
好吧回归正题 既然boot目录的东西都丢了 那也就没什么好说的了
直接将原来的内核卸载掉 虽然没什么东西了 笔者本这搞一下的想法就试试(注意:如果大家在生产环境中出现这种问题各位自己考虑一下吧 因为笔者的故障处理过程是在虚拟机中的,具体在实际环境中出现什么问题在下就不知道了,所以您还是自己掂量下吧。)
查看已安装的关于kernel的rpm包。然后执行rpm –e kernel --nodeps
(如果执行不成功的话 rpm -ekernel -2.6.32-642.el6.x86_64)
e)好 ok 那么我们开始执行下一步
首先 mkdir /mnt/dvd 创建一个挂载点
mount /dev/sr0 /mnt/dvd
之后执行 rpm –ivh /mnt/dvd/Packages/kernel-2.6.32-642.x86_64
(如果小伙伴伴们在上一步手贱把所有的关于kernel 的rpm 都卸掉了的话那就执行 yum install kernel* -y 吧 如果不知道怎么使用配置yum还是自行google。)
Ok 看到图大家知道了吧 boot下的文件已经有了 如果不理解没关系 只要知道有这些东西就行了。
f) 下面就开始进入重要的一步了 就是 grub 这个东西暂且可以理解为引导文件。
grub-install /dev/sda 执行这条命令就好了(不懂看图。。)
g) 现在就是最重要的一步了 就是手动写一个配置文件 grub.conf
vim grub.conf(记得是在 /boot/grub 目录下写 。。还有root= 后面内容自己 df -hT 看一下自己的名称 都不一样的。)
ok 写完这个东西后 就可以了 。 重启就好了。(如果再次当中出现什么问题建议大家自己多搞搞慢慢就懂了)
还有 最后有一点比较重要差点忘记写了 如果大家在启动中遇到下图这种问题建议大家会到救援模式下修改 /etc/sysconfig/selinux 就没事了。
修改 SELINUX=disabled 就不会出现上图的情况了。
好了至此问题已经解决了。 如果你的系统出现这种情况照上面的方法是一下吧。(遇到问题搞它一下只好了。) 笔者再次希望能和在家一起学习linux 一起进步,有什么问题不妨一起研究一下。
因为时间问题排版不好 大家见谅 回头有时间再改。