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 09:09
下一篇 2016-10-24 09:09

相关推荐

  • corosync+pacemaker+drbd+mysql来实现mysql的高可用和数据的同步

    实现拓扑图: 实验流程: 先对两主机安装上corosync和pacemaker 两主机安装drbd服务,并且设置好drbd的组设备 选择drbd主节点上,进行数据库的初始化 进行资源的定义和配置 测试 实验前,我们还需要做一些准备工作: 1、时间必须保持同步   使用ntp服务器 2、节点必须名称互相通信    解析节点名称 &…

    Linux干货 2015-11-10
  • ./././

    ./././

    Linux干货 2016-08-04
  • 马哥教育网络班21期+第3周作业

    马哥教育网络班21期+第3周作业 1、列出当前系统上所有已经登陆的用户的用户名 [root@ip-172-31-45-110 ec2-user]# who | awk '{print $1}' ec2-user 2、取出最后登录到当前系统的用户的相关信息 [root@ip-172-3…

    Linux干货 2016-07-22
  • Linux的终端类型

    Linux的终端类型 Linux的终端类型: TTY(虚拟终端,图形终端) 早期的电子计算机的输入设备是穿孔卡片【又称霍列瑞斯式卡(Herman Hollerith)或IBM卡】,用有洞和无洞表示计算机二进制里面的0和1,以此来记录相关信息,但是这种方式很慢。 1986年股票代码被发明,人们通过电报和电传打印机发送实时股票价格,此时teletypewrite…

    Linux干货 2016-10-14
  • 超文本传输协议-HTTP

        超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。     设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或…

    Linux干货 2017-07-31
  • awk实际使用案例

    知识点: 1)数组 数组是用来存储一系列值的变量,可通过索引来访问数组的值。 Awk中数组称为关联数组,因为它的下标(索引)可以是数字也可以是字符串。 下标通常称为键,数组元素的键和值存储在Awk程序内部的一个表中,该表采用散列算法,因此数组元素是随机排序。 数组格式:array[index]=value 1、Nginx日志分析     …

    Linux干货 2017-04-09