昨晚我的 Ubuntu 16.04 一切正常。今天我尝试打开它,它根本无法启动,抛出这些错误:
run-init: /sbin/init: Permission denied
Target filesystem doesn't have requested /sbin/init.
run-init: /sbin/init: Permission denied
run-init: /etc/init: Permission denied
run-init: /bin/init: No such file or directory
/bin/sh: 0: Can't open splash
- 它没有给我任何类型的外壳
- 我尝试了GRUB菜单中的恢复项,但出现同样的错误
- 我也尝试添加
systemd.unit=rescue.target
为内核参数;它也没有用。
我怎么解决这个问题?
正如我们在您收到的消息中看到的那样,最可能的原因是权限问题。
/sbin/init
而且它似乎/etc/init
存在但/bin/init
不存在。摆脱/bin/sh: 0: 无法打开splash
首先我们应该得到一个shell来解决这个问题。摆脱
/bin/sh: 0: Can't open splash
并获得一个外壳:如果您只安装了一个 Ubuntu(默认情况下不会出现 GRUB),在系统启动时按住shift键以使 GRUB 出现。然后在默认菜单上按E。你会发现一行以
Linux
. 在该行删除splash
参数,然后按Ctrl+ x,现在您将被放入sh
shell。/bin/bash
如果需要,运行以获取 bash shell。我更喜欢它bash
,sh
因为它具有自动完成功能。splash
或者,您可以init=/bin/bash
在该行的末尾添加,而不是删除参数,然后按Ctrl+ x;这次我们将被放入bash
而不是sh
.修复 run-init: /sbin/init: Permission denied
跑:
它应该产生类似的东西:
正如我们所看到的,权限被搞砸了。这些天在几乎所有系统中
/sbin/init
都是一个链接systemd
,只是为了确保:当然可以,您的
/
(根)文件系统安装在ro
状态(只读),让我们将其更改为rw
(读写):然后修复权限:
重新启动系统。