设为首页 收藏本站
查看: 1245|回复: 0

[经验分享] CentOS 6 系统无法开机故障修复

[复制链接]

尚未签到

发表于 2018-4-21 11:09:32 | 显示全部楼层 |阅读模式
  本文针对grub故障及服务故障导致的开机无法启动的情况进行模拟,并给出修复详细步骤。
  

  一、grub各配置文件问题引起的开机故障
  可能出现此故障场景


  •   当前硬盘没有grub,每次启动都是通过有grub的光盘或U盘启动的当前硬盘上的操作系统
  •   有两块硬盘其中有一块没有安装grub
  •   主机WindowsLinux双系统共存,后来由于Windows坏了重装了Windows此时Linuxbootloader就被覆盖
      
    1、模拟stage1阶段(操作系统所在磁盘分区的前446字节)被破坏导致的开机故障
      模拟操作:
   DSC0000.png
      故障现象:开机停留在如果所示界面
   DSC0001.png
  

  修复方法1:

  ①如上图选择Rescue installed system(救援模式),或者在该界面按Esc进入boot命令行接口
  键入圈红内容也可以进入紧急救援模式。之后需选择语言及键盘图略。
   DSC0002.png
  ②是否设置网络信息
   DSC0003.png
  

  注:若要通过网络服务器上的文件修复grub可启动该项,此处要通过光盘修复选择“No”
  ③紧急救援模式接下来会尝试查找本机硬盘上是否有装过操作系统,如果有的话它会把找到的根挂载至当前启动的小的紧急救援模式的Linux系统的/mnt/sysimage目录下,稍后用户可以到该目录下找所需要的文件,若要这样选择“continue” 。后续确定图略
   DSC0004.png
  ④选择shell,进入系统开始修复阶段
   DSC0005.png
   DSC0006.png
  chroot /mnt/sysimage从救援模式的根切到已损坏操作系统,因为后续要把grub安装到该操作系统。
  grub-install /dev/sda重新安装grub,以修复系统。
  ⑤sync将修改写入磁盘,退出已grub修复的系统进入紧急救援模式下的Linux重启系统。
DSC0007.png

  重启过程中拆除光盘避免系统以光盘启动,如下图不打勾“启动时连接”即可
   DSC0008.png    
  重启系统成功图略。

  修复方法2:如方法1前面步骤至切根操作(chroot /mnt/sysimage),之后键入grub进入grub命令行界面交互操作,
  

  grub> root (hd#,#)
  grub> setup (hd#)
  quit
  “#”视情况而定,例如root(hd0,0)操作系统在第一块硬盘,第一个分区。setup (hd0)代表把grub装到哪块硬盘。
  注意:第二种方法要求/boot/grub目录下必须有stage1stage2和各类stage1_5。局限性较大,推荐使用第一种方法进行修复。
  2、模拟stage1_5阶段(操作系统所在磁盘分区的512字节约3个扇区)被破坏导致的开机故障
       模拟操作:
DSC0009.png    故障现象为卡在全黑屏(不用截图了吧)

  修复方法:开机按Esc进入救模式界面,之后操作同stage1阶段。
  

3、模拟stage1_5阶段(操作系统所在磁盘分区的512字节约3个扇区)被破坏导致的开机故障
     模拟操作:将/boot/grub/目录下除grub.conf文件其余全部删除。
  故障现象:如图所示
DSC00010.png 修复方法:开机按Esc进入救模式界面,之后操作同stage1阶段。
4、将/boot/grub目录删除导致的无法开机。
  故障现象:如图

DSC00011.png 开机会卡在grub命令行界面。
修复方法:如下图键入root、kernel、initrd三条主要信息(内容以实际故障计算机为准),重启后进入救援模式重复上述操作(切根、生产grub配置信息),

  重写配置文件:/boot/grub/grub.conf
  简单的写一下:
  title jinbus
root (hd0,0)
  kernel /vmlinuz-2.6.32-642.el6.x86_64 ro root=/dev/sda3
  initrd /initramfs-2.6.32-642.el6.x86_64.img
重启解决问题。

DSC00012.png
  5、删除/boot目录下的所有文件,导致的开机无法启动。
     模拟故障:rm –rf /boot
     
此时删除了启动时需要的:
   内核文件:vmlinuz-2.6.32-642.el6.x86_64
        虚拟文件系统:initramfs-2.6.32-642.el6.x86_64.img
          grub 的启动文件:stage1.5 stage2
               grub的stage1.5 :如果之前发生过修复,那么启动时用到的数据存在于MBR之后,stage1.5同样存在于文件夹下,但是不会用到 。
          grub的配置文件:grub.conf
     修复方法:进入光盘救援模式,恢复内核文件:vmlinuz-2.6.32-642.el6.x86_64  及 虚拟文件系统:initramfs-2.6.32-642.el6.x86_64.img
          方案1:安装 kernel进行修复,
chroot /mnt/sysimange
             mount /dev/sr0 /mnt/sr0
             rmp –ivh /mnt/sr0/Packages/kernel.****.rpm
  
       方案2:分别修复
          ①  chroot /mnt/sysimange
              cp /mnt/isolinux/vmlinuz-2.6.32-642.el6.x86_64 /boot
              cp /mnt/isolinux/initramfs-2.6.32-642.el6.x86_64.img /boot
            ②  创建虚拟文件系统文件
  

              mkinitrd /boot/initramfs-`uname  -r `.img  `uname  -r `
           ③ 安装 grub 使用命令:
        grub-install /dev/sda
           ④  重写 grub.config
           ⑤  sync 同步
  

  二、服务问题引起的开机故障

  

     模拟服务故障环境:在/etc/init.d/下新建故障服务test.sh,
   DSC00013.png
  新建该脚本要遵循LSB服务脚本定义的规范进行编写基本格式如上图,能接受4个基本参数即可{start|stop|status|restart}。在start函数中写入sleep 10000模拟开机无法启动的环境。
DSC00014.png

  如图设置test.sh服务为开机自启动。
  故障现象:卡到某一服务无法开机
  修复方法1:一般服务在单用户模式下不会设为自启动,开机至grub菜单界面。
DSC00015.png

  选中要启动的内核,a键编辑内核参数。如图在参数后面添加1(或者s、S、single)进入单用户模式。
DSC00016.png

   DSC00017.png
  chkconfig test.sh off 将故障服务off掉即可。
  如果单用户模式都设为了开机启动,就需要使用第二种方法进行修复。
  修复方法2:grub菜单a键编辑内核参数,后面添加如下图所示内容
DSC00018.png

  回车,b键启动

DSC00019.png 此时bash作为第一个启动的程序,会跳过initrd设定的服务。

DSC00020.png 此时是只读挂载没有修改权限,需重新挂载并进行后续操作。

  重启完成修复。

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-449975-1-1.html 上篇帖子: Centos 安装 禅道 下篇帖子: VMware中CentOS6.5安装tengine服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表