• Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例


               Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例

                                              作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

    一.删除"/sbin/init"文件模拟故障

    [root@yinzhengjie ~]# which init
    /sbin/init
    [root@yinzhengjie ~]# 
    [root@yinzhengjie ~]# file /sbin/init
    /sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
    [root@yinzhengjie ~]# 
    [root@yinzhengjie ~]# rpm -qf /sbin/init
    upstart-0.6.5-17.el6.x86_64
    [root@yinzhengjie ~]#
    [root@yinzhengjie ~]# ll /sbin/init
    -rwxr-xr-x. 1 root root 150352 Jun 19  2018 /sbin/init
    [root@yinzhengjie ~]# 
    [root@yinzhengjie ~]# ll -h /sbin/init
    -rwxr-xr-x. 1 root root 147K Jun 19  2018 /sbin/init
    [root@yinzhengjie ~]# 
    [root@yinzhengjie ~]# mv /sbin/init /root/      #我们将"/sbin/init"文件移动到"/root"目录,以模拟删除了"/sbin/init"文件
    [root@yinzhengjie ~]# 
    [root@yinzhengjie ~]# ll
    total 148
    -rwxr-xr-x. 1 root root 150352 Jun 19  2018 init
    [root@yinzhengjie ~]#
    [root@yinzhengjie ~]# reboot              #重启操作系统后发现无法正常启动了,一直卡在如下所示的图形界面。
    
    Broadcast message from root@yinzhengjie
    (/dev/pts/0) at 20:44 ...
    
    The system is going down for reboot NOW!
    [root@yinzhengjie ~]#

    二.故障恢复实战

    1>.如下图所示,根据提示按字母"a"修改内核参数

    2>.指定系统内核启动时指定启动进程为"/bin/bash",默认使用"/sbin/init"来启动内核

    3>.可以基于http协议将网络备份好的"/sbin/init"文件下载到本地(若系统环境是只读的化需要使用mount命令重新挂载一下)

     

    4>.上图中别忘记输入"sync"命令同步一下,然后直接断电重启操作系统即可(上图中无法使用"init 6"或者"reboot"命令)

     

  • 相关阅读:
    利用...来字符检測(swift)
    iOS开发中WebP格式的64位支持处理
    Hadoop与分布式开发
    Lua代码解析-写给C和C++开发人员
    logback使用
    【mysql】更新“”空字符串为NULL
    【java】代码优化点
    【java】java获取对象属性类型、属性名称、属性值
    【mybatis】mybatis中放置IN查询拼接sql过长,IN查询进行分批次查询的处理
    【java】java中替换中括号[ ]操作
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/11963829.html
Copyright © 2020-2023  润新知