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

相关推荐

  • bash编程初体验(三)

    bash编程初体验之for for while until 概述 本文将介绍以for为代表的循环语句在shell 脚本中的应用,常见的循环语句有for, while,until,作为循环语句,顾名思义,它就是重复地做一件事,直到满足某一条件而退出;另外,还有两个循环控制语句continue与break来配合循环语句,以实现临时中断或跳出循环的功能;以下为fo…

    Linux干货 2016-08-24
  • 2. 初识shell

        在Linux早期, 可以用来工作的只有shell. 那时, 系统管理员, 程序员和系统用户都坐在Linux命令行终端前, 输入文本命令, 查看文本输出. 而现在, 因为有了绚丽的图形化桌面环境, 在系统上找到shell提示符都变得困难起来. 接下来将会讨论提供命令行环境需要什么, 然后带你逐步了解可能会在各种L…

    Linux干货 2016-11-06
  • Linux-start

    学习计划:参见N24学习时间与线路图. 目标:完成作业,考试过关。 宣言:人但有追求,世界亦会让路。

    Linux干货 2016-10-24
  • N25-第十三周博客作业

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程) 1)共享名为shared,工作组为magedu;2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;3)添加samba用户gentoo,centos和ubu…

    Linux干货 2017-04-19
  • MySQL存储过程中IN、OUT、INOUT参数使用

    MySQL存储过程中IN、OUT、INOUT参数使用 MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN、OUT、INOUT形式如:CREATE PROCEDURE([IN|OUT|INOUT] 参数名 数据类型,…) IN 输入参数:表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值。| 意思…

    Linux干货 2017-05-08
  • HAProxy

    LB Cluster: 四层:lvs, nginx(stream),haproxy(mode tcp) 七层:http: nginx(http, ngx_http_upstream_module), haproxy(mode http), httpd, ats, perlbal, pound… HAProxy 程序环境: 主程序:/usr/sbi…

    Linux干货 2017-07-03