Kernel panic – not syncing: Attempted to kill init

某年的某日,俺重启虚拟机上的系统,啪啪,报错。系统启动不起来:
linux

152205805.jpg

重装系统,不甘心,正好趁这个机会,深刻了解一下Linux系统,Google咯shell

看到有以下几种解决:ubuntu

方案一:centos

系统启动的时候,按下‘e’键进入grub编辑界面,编辑grub菜单,选择“kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet” 一栏,按‘e’键进入编辑,在末尾增长enforcing=0,即:
kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet enforcing=0
按‘b’键继续引导,OK顺利前进。ide

不用我,我试过,对我来讲不行ui

方案二:spa

将方案一中的enforcing=0换成selinux=0命令行

固然要是这么简单我就不写博文了3d

方案三code

出现:Kernel Panic -- not syncing: attempted to kill init 而后就停那里不走了。在网上查了好多资料都不能够。从昨天到今天整了近20个小时,原本想还不如重作个系统得了,可是没有获得客户受权,仍是不能乱搞滴~有一些方案是编辑grub,不过试了N种都不行。就决定放弃了。后来在csdn 仍是51cto上看到一个方法最终能够了。其间的过程还真是一波三折..
  首先要进入系统,而后才能编辑/etc/sysctl.conf.那就找系统盘引导吧。不巧的是,这个品牌机的光驱是cd的,又没有多余的sata口,而机房只有centos 5.3 5.4 dvd 盘,根本无法驱动,汗~。后来意外发现debian 5.0的cd盘。反正都是一样的内核,死马当活马医吧。出现安装界面时,选择rescue mode ,而后一大堆的下一步以后终于看到命令行界面了嘿嘿 !
   不过令我纳闷的是vi命令不能用。。按理说debian应该是支持vi编辑命令的(主要我仍是菜鸟)。后来只好用nano命令了。cd 到etc目录发现下边没有sysctl.conf这个文件。抱着试试的态度,nano sysctl.conf 新建一个吧,在里边输入 kelnel panic=30 kernel sysrq=1 保存退出。重启,终于跳出那个报错,看到了 久违的login界面啦,哈哈...这其中还有不少原理,我不懂,我知道本身仍是菜鸟级别,想学好linux也不是一朝一夕的事。不过还要给本身庆祝下,终于把这个问题解决了。

暂时没试,先放一下

方案四:

http://askubuntu.com/questions/92946/cannot-boot-because-kernel-panic-not-syncing-attempted-to-kill-init

At the GRUB screen select the entry you wish to boot in to (most likely the one that's selected as default), press e and then remove 'quiet' and 'splash' from the kernel line if present. You can then press Ctrl-X to boot. This might display a little more information that could be useful. Edit: tumbleweed's suggestion is better, try rescue mode

按照这种操做,看到详细报错以下:

154848939.jpganzh

按照如上提示启动系统,进入了以下界面:

155116166.jpg

再该shell中,发现几乎全部的数据都没了,/etc目录下没剩几个文件了。几乎全部的命令也没了

164708961.jpg

难道是在该界面全部的数据都被屏蔽掉了,仍是全部的数据不明缘由的原本就消失了,一样的方法(即删除quiet)在另外的虚拟系统中操做下,是正常启动的!!!

难道果真是磁盘数据都丢失了

方案五:

虽然和个人报错有点不同,但仍是把这种解决问题的方法写下来吧

http://loofeer.blog.51cto.com/707932/996789

昨天修改了SELinux设置,结果致使系统从新启动没法启动,提示kernel panic - not syncing:Attempted to kill init。相似window的蓝屏。以下图:

091134297.jpg

幸亏手里有一张redhat的系统安装盘,果断使用rescue模式解救。大体过程为加载redhat安装盘,进入rescue模式,按照提示用安装盘启动系统,挂载硬盘,而后进入shell模式修改配置文件。

接下来就进入shell了,能够修改配置文件了,而后从新启动系统就能够正常启动了。

091502743.jpg

方案六:

我以前的猜测是fstab文件根分区挂载出错,致使系统没法启动!通常出现Kernel panic,是内核没有硬盘的驱动形成的,还有一个可能,就是grub的配置里面,root指向有问题!

好吧!rescure mode看看

进入后,虚惊一场!系统文件都还在,应该不是上面说的全部的文件丢失形成的,如今应该肯定是/挂在出错或者是grub配置问题,好吧,先分析  /   挂载问题


磁盘信息

111450102.jpg

挂载信息

111322819.jpg

查看每一个分区对应的label name

111325580.jpg

查看/etc/fstab文件

111328826.jpg

经过上面几个命令的分析,sda3应该为根分区  / ;咱们看下sda3的UUID

112608680.jpg

能够看到根分区的UUID同fstab的UUID不一致

列出磁盘与UUID的关系

122650432.jpg

我作了以下两种修改

1:vi fstab

直接修改a727d.........  挂在  /  的 sda3的uuid改成4b82e312.............................

reboot重启,不行,仍是之前的错误界面

2:从新生成uuid

151924939.jpg

能够看到sda3从新生成的UUID为ae325b33..............

vi fstab修改/ 的 uuid为ae325b33...........

reboot重启,哦哦,仍是失败,返回之前报错界面

看来启动参数那里也错了

重启后任意键到达内核配置,修改root=uuid=xxxxxxxxxxxxxxxxxxxxxxxxxx(上面生成的uuid),启动,哈哈,总算看到点不同的东西了

152358564.jpg

看到出现kernel panic报错以前报的就是这个错!hehe

这个unable to reslove 'uuid=XXXXXXXXXX'是什么东东呀!!!!

想也不用想,确定是除根分区之外其余分区uuid错误!!!按照以前方法修改试试!!先肯定分区是哪一个!

153243215.jpg

根据fstab能够看到是挂在到/datas目录上的分区出现问题!根据fdisk -l能够到时sda2挂在到datas目录下的!

首先思路是看能不能先卸载这个分区,发现卸载不了,那就从新生成uuid试下,也不行,看图

154048170.jpg

咋办呀这!在fstab中删除该行???先不急,Google看下该分区出现了啥问题!

嘿嘿,有点眉目了,看以下解释

is a swap partition, which therefore doesn't have a file system (it's formatted as swap), so it, too, cannot be read by e2label.

虽然个人不是swap,可是联想到以前我作过一次DRBD,将该分区格式化了,呵呵,没办法,fstab删除掉报uuid错的那一行试下

vi fstab准备删除哪一行的时候,却报错该分区为只读,好吧,先从新挂组mount / -o remount,rw后vi fstab dd删除后

mount / -o remount,ro!!!!!!!!!修改完成,准备从新启动,但这个时候又想到一个问题,就是重启后以前在修改启动参数是root的uuid仍是否已改变,我是否要找到启动参数的文件/etc/grub.conf永久修改呢!

不看不知道,一看吓一跳/boot分区下的文件全都没了!!!

这个,咋办,这个分区是sda1!!!!

恢复/boot仍是先启动看看!

1,启动看下;shutdown -r now ,果真不出所料,报最初的错!修改root UUID

161730982.jpg

161732709.jpg

本觉得修改以后能够的,为何又报初始错!!

靠,救援模式走起

fuc k,rescure mode 下居然/boot分区东西都在,这是啥子状况!!!不懂,仔细检查看下

170554563.jpg

原来是uuid写错了,填写正确的uuid,修改成硬盘启动,OK!!完美启动

170558984.jpg

下次启动应该还会报错,修改/etc/boot/grub/grub.conf文件便可!!!!!!!!!!!!!

试验成功!!!

相关文章
相关标签/搜索