centos启动——/sbin/init 的破坏与修复

一、破坏

 rm  -f /sbin/init

二、现象

1.正常项

BISO自检正常
grub正常
内核启动正常

2.开始有问题

在内核启动后
提示错误:
1.cannot set terminal process grup (-1) :Inappropriate  iocal fro for device
    不能设置终端进程grup(- 1):设备的不适当的iocal
2.no job control  in this shell
    这个外壳没有工作控制
3.并且
直接登陆进入了一个没有命令输入显示的shell

centos启动——/sbin/init 的破坏与修复_第1张图片

三、分析

登陆终端是由 init 负责的

init工作的流程是

/sbin/init --> (/etc/inittab) --> 设置默认运行级别 -->
 运行系统初始脚本、完成系统初始化 --> 
 (关闭对应下需要关闭的服务)启动需要启动服务 --> 设置登录终端

四、修复

1.进入一个可以用的系统

(也可以选择进入rescue模式操作)

在grub菜单界面,a键 ,临时修改内核参数(临时生效)
跳过init,使第一个进程是/bin/bash
init=/bin/bash

centos启动——/sbin/init 的破坏与修复_第2张图片

进入了一个好歹能看到命令的shell

centos启动——/sbin/init 的破坏与修复_第3张图片

2.检查修复

此时根是以只读方式挂载,重新挂载为rw
mount -o remount,rw  /dev/sda2

centos启动——/sbin/init 的破坏与修复_第4张图片

挂载上光盘重新安装init对应的程序包
mount /dev/sr0 /mnt
rpm -qf  /sbin/init
rpm -ivh /mnt/Packages/upstart-0.6.5-16.e16.x86_64.rpm  --force

centos启动——/sbin/init 的破坏与修复_第5张图片

五、成功

centos启动——/sbin/init 的破坏与修复_第6张图片

你可能感兴趣的:(centos启动——/sbin/init 的破坏与修复)