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

相关推荐

  • 计算机及Linux系统基础简介

    一、计算机的组成及其功能 计算机由运算器,控制器,存储器,输入装置和输出装置五大部件组成计算机,每一部件分别按要求执行特定的基本功能。 运算器或称算术逻辑单元(Arithmetical and Logical Unit) 运算器的主要功能是对数据进行各种运算。这些运算除了常规的加、减、乘、除等基本的算术运算之外,还包括能进行“逻辑判断”的逻辑处理能力,即“与…

    Linux干货 2017-07-02
  • N28-第四周:正则表达式练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。
    2、编辑/etc/group文件,添加组hadoop。
    3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。
    4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。
    5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。
    6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;
    7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;
    8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;
    9、找出/etc/passwd文件中的一位数或两位数;
    10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
    11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
    12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;
    13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

    2017-12-24
  • ☞卸载kernel玩一玩

    卸载kernel玩一玩 废话不多说,下面开始卸载内核这一惊险之旅,特别提醒在开始之前做好虚拟机的快照,也许会造成系统无法启动,也许会出现各种错误,也许会笑着删数据库跑路,也许会从入门到放弃,,请系好安全带。  练习 冒泡排序法 #!/bin/bash##Author:jasonmc#Date:2016-08-24#Description:buble…

    Linux干货 2016-08-26
  • 9、varnish实现动静分离、负载均衡、后端服务器健康状态检测

    varnish 4.0 版本 varnish实现动静分离 # vim /etc/varnish/varnish.params VARNISH_LISTEN_PORT=80 –> 修改为80端口 # vim /etc/varnish/default.vcl backend html {    .host = “1…

    Linux干货 2016-11-13
  • mysqld_multi 多实例部署

    序言:多实例?Why?   随着硬件层面的发展,linux系统多核已经是普通趋势,而mysql是单进程多线程,所以先天上对多进程的利用不是很高,虽然5.6版本已经在这方面改进很多,但是也没有达到100%,所以为了充分的利用系统资源,mysql有自己的补充,那就是可以部署多实例,一个实例一个端口。     1,准备好mysql环境…

    2017-11-16
  • 负载均衡LVS原理及其应用

    一、LB常用解决方案     1. 硬件负载均衡解决方案:          F5公司: BIG-IP         Citrix公司: …

    Linux干货 2015-12-28