我有一台 Ubuntu 15.04 机器。我在这台机器上安装了 docker。安装后,我试图运行默认的 docker 测试映像。但它没有运行。然后我试图关闭机器。
但机器并没有关机。它只是挂在中间,消耗着所有的 CPU 资源。我等了 10-15 分钟,但状态没有改变,什么也没发生。所以我继续按笔记本电脑上的开机按钮关机。这样机器就关机了。
此次事件发生后,现在当我尝试启动机器时,它会在启动时抛出以下错误。
Target filesystem doesn't hvae requested /sbin/init.
/bin/sh: 0: Can't open splash
[4.458446] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00
[4.458479] CPU: 1 PID: 1 Comm: sh not tainted 3.13.0-46-generic #79-Ubuntu
机器有三个操作系统:Windows,Centos,Ubuntu-15.04。
我尝试过fsck
在启动设备上使用网络启动的解决方案。但是它并没有解决这个问题。
这里我不知道 docker 包是否是问题的一部分。事实上,它可能是任何包安装造成的。
fsck的输出如下:
$ fsck /dev/sda5 来自 util-linux 2.25.2 的 fsck e2fsck 1.42.12(2014 年 8 月 29 日) /dev/sda5:干净,885843/1313280 个文件,3569836/5242880 个块。
我也尝试过-f
选项fsck
,其输出为:
$ fsck /dev/sda5 -f fsck /dev/sda5 -f 来自 util-linux 2.25.2 的 fsck e2fsck 1.42.12(2014 年 8 月 29 日) 第 1 阶段:检查 inode、块和大小 第二步:检查目录结构 第三步:检查目录连通性 第四步:检查引用计数 第五步:检查组摘要信息 /dev/sda5:885843/1313280 个文件(0.1%不连续),3569836/5242880 个块
运行fdisk -l
命令将打印以下消息,以及打印设备详细信息。
分区 5 未从物理扇区边界开始。
我使用mount -o ro /dev/sda5 /media/boot
命令挂载了该设备。输出ls -l /media/boot
如下:
共 116 drwxr-xr-x 2 root root 4096 1月26日 07:01 bin drwxr-xr-x 3 root root 4096 十二月 26 07:10 启动 drwxr-xr-x 2 root root 4096 2015 年 1 月 4 日 cdrom drwxr-xr-x 4 root root 4096 2014 年 4 月 17 日 dev drwxr-xr-x 164 root root 12288 1 月 26 日 07:04 等 drwxr-xr-x 2 root root 4096 2015 年 1 月 4 日 主页 lrwxrwxrwx 1 root root 33 2015年2月27日 initrd.img -> boot/initrd.img-3.13.0-46-generic lrwxrwxrwx 1 root root 33 2015 年 2 月 4 日 initrd.img.old -> boot/initrd.img-3.13.0-45-generic drwxr-xr-x 25 root root 4096 1月26日 07:01 lib drwxr-xr-x 2 root root 4096 十二月 26 06:49 lib32 drwxr-xr-x 2 root root 4096 十二月 26 06:28 lib64 drwx------ 2 root root 16384 2015 年 1 月 4 日 丢失+找到 drwxr-xr-x 3 root root 4096 2015 年 1 月 4 日 媒体 drwxr-xr-x 2 root root 4096 2014 年 4 月 10 日 mnt drwxr-xr-x 6 root root 4096 10月2日 14:15 opt drwxr-xr-x 2 root root 4096 2014 年 4 月 10 日 proc drwx------ 11 root root 4096 1月26日 10:30 root drwxr-xr-x 12 root root 4096 2014 年 4 月 17 日 运行 drwxr-xr-x 2 root root 12288 1月26日 07:03 sbin drwxr-xr-x 2 root root 4096 2014 年 4 月 17 日 srv drwxr-xr-x 2 root root 4096 2014 年 3 月 13 日 系统 drwxrwxrwt 6 root root 4096 1月26日 22:01 tmp drwxr-xr-x 11 root root 4096 十月 2 14:14 usr drwxr-xr-x 15 root root 4096 1月9日 02:05 var lrwxrwxrwx 1 root root 30 2015年2月27日 vmlinuz -> boot/vmlinuz-3.13.0-46-generic lrwxrwxrwx 1 root root 30 2月 4 2015 vmlinuz.old -> boot/vmlinuz-3.13.0-45-generic
我该如何修复它?
答案1
看来/sbin/init
您在尝试强制关机时文件已损坏。
您可以做的一件事是:
- 使用 unetbootIn 或启动盘创建器制作一个 15.04 版本的可启动 USB
- 将其连接到您的 PC 启动盘上的 USB
- 选择选项尝试 Ubuntu 而不安装
- 在这里搜索你安装 15.04 的分区,它可能是
/dev/sda1
。n
我们需要/sbin
用我们的安装源的 完全替换它/sbin
。
您可以使用sudo mv
命令来执行此操作,替换 /sbin 后,重新启动系统。
它会起作用的:)
答案2
我用了网启动修复了这个问题,现在它运行起来很棒。我刚刚制作了一个可启动的 USB,以默认身份登录,删除了/sbin
Main 的默认文件系统/sbin
。
请通过 root 执行此操作。就这么简单。瞧!它正在运行。