Boot目录下内容丢失导致系统无法启动

Boot目录下内容丢失导致系统无法启动


1477241143577259.jpg笔者朋友近期在一次学习过程中不慎将虚拟机中boot目录下内容丢失,导致系统无法启动。当然此前他并不知道是这样,只是应为莫名的弹出框报错所有导致系统无法启动。此后朋友将此故障告知笔者,笔者本身其实也是小白刚刚学习linux不就,但是对这些稀奇古怪的故障感觉很有兴趣,所以笔者就掉进坑里搞了好久才搞出来点眉目来。为了让更多学习linux的小白踩坑,笔者将故障处理过程写出来希望和在下一样的小白们少踩坑。下的不好大家别见怪哈。 

1、  事故出现原因

  1. 某天笔者朋友告知虚拟机内linux无法启动,原因不明。朋友告知莫名错误不知道发生什么。

2、  故障导致结果

  1. 启动无法启动,开机出现grub界面无法进入错误系统。

  2. 1477240721152247.jpg

3、  故障处理过程。

  1. 当笔者看到上图画面后就google搜索问题最后试着去尝试手动引导试试,可惜不幸的是发现根本找到不到内核文件,所以怀疑内核文件丢失。

QQ截图20161024002223.jpg

  b)既然找到了问题那就去解决了所以笔者准备进入救援模式看一下看看有什么搞头。下图第三项就是可以进入救援模式了别告诉我你不知道哈。

1477240808360003.jpg

   c)笔者本来是对进入救援模式的过程截图了的但是想想还是没有贴上来第一笔者承认自己有点懒。第二大家自由尝试下才能正在学到东西。还是那句话不懂的地方搞它一下就知道了。下图就是进入救援模式的样子了。

1477240842960310.jpg

d)笔者到了救援模式下就准备开始搞一下了。首先执行cd /mnt/sysimage (这条命令的大概意思就是切换到硬盘的根分区,实在不懂你懂的 google)

        cd /boot 下查看 我了个去 竟然什么都没有 ………………….

       好吧回归正题 既然boot目录的东西都丢了 那也就没什么好说的了

      直接将原来的内核卸载掉 虽然没什么东西了 笔者本这搞一下的想法就试试(注意:如果大家在生产环境中出现这种问题各位自己考虑一下吧  因为笔者的故障处理过程是在虚拟机中的,具体在实际环境中出现什么问题在下就不知道了,所以您还是自己掂量下吧。) 

1.png

      查看已安装的关于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。)        

1477240895188461.png

    Ok 看到图大家知道了吧  boot下的文件已经有了 如果不理解没关系 只要知道有这些东西就行了。

 f) 下面就开始进入重要的一步了 就是 grub 这个东西暂且可以理解为引导文件。

    grub-install  /dev/sda 执行这条命令就好了(不懂看图。。)

         1477240940287491.png

     g) 现在就是最重要的一步了 就是手动写一个配置文件 grub.conf

      vim  grub.conf(记得是在 /boot/grub 目录下写  。。还有root= 后面内容自己 df -hT 看一下自己的名称 都不一样的。)    

1477240978951137.png

      ok 写完这个东西后 就可以了 。  重启就好了。(如果再次当中出现什么问题建议大家自己多搞搞慢慢就懂了)

        还有 最后有一点比较重要差点忘记写了  如果大家在启动中遇到下图这种问题建议大家会到救援模式下修改 /etc/sysconfig/selinux  就没事了。

        

1477241010794506.png

1477241038523008.png

      修改 SELINUX=disabled 就不会出现上图的情况了。

1477241067912254.jpg

     好了至此问题已经解决了。 如果你的系统出现这种情况照上面的方法是一下吧。(遇到问题搞它一下只好了。) 笔者再次希望能和在家一起学习linux 一起进步,有什么问题不妨一起研究一下。

 

        

 

 

原创文章,作者:秋季,如若转载,请注明出处:http://www.178linux.com/54007

(0)
秋季秋季
上一篇 2016-10-24
下一篇 2016-10-24

相关推荐

  • N21-北京-兔锅-马哥教育网络班21期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。    who | cut -d' ' -f1 | uniq   2、取出最后登录到当前系统的用户的相关信息。    who | ta…

    系统运维 2016-07-07
  • 基于Keepalived实现LVS双主高可用集群

    前言 前面说过基于heartbeat的LVS高可用方案,今天带来另一种解决方案:基于Keepalived实现LVS双主高可用集群。什么是Keepalived呢,keepalived观其名可知,保持存活,在网络里面就是保持在线了, 也就是所谓的高可用或热备,用来防止单点故障的发生。本文将详细讲述Keepalived工作原理及高可用解决方案的实现。 相关介绍 K…

    Linux干货 2015-06-16
  • 基于key验证和一些自动化运维工具

    pssh pscp.pssh Pslurp.pssh AIDE等

    2018-01-16
  • Linux 文本编辑器三剑客之 sed

    参考手册: http://www.gnu.org/software/sed/manual/sed.html 转载请注明:马哥教育!!

    Linux干货 2017-01-12
  • iptables学习笔记

    这几学习iptables,踩了一些坑,作下总结。 1、三表 (1)filter:默认表,处理本机数据包,包含input、output和forward (2)nat:处理源或目的IP/端口转换,包含prerouting、postrouting、output (3)mangle:处理高级路由信息,包含prerouting、output、input、forward…

    Linux干货 2016-06-09
  • Bash Shell之数组简介

    Bash Shell之数组简介   一、数组基本概念   数组是内存中的存储空间,连续的多个存储单元;bash中只支持一维数组,支持稀疏格式 ,参数个数没有限制。 二、数组基本语法格式   1、声明一个数组          declare…

    Linux干货 2015-05-11