昨晚我打破了我的拱门。现在,当尝试启动时,它说:
[0.595364] Failed to execute /init (error -13)
: can't log to /dev/tty5
starting pid 131, tty '': '/etc/init.d/rcS'
: can't log to /dev/tty5
can't run '/etc/init.d/rcS': No such file or directory
Please press Enter to activate this console. : can't log to /dev/tty5
: can't log to /dev/tty5
: can't log to /dev/tty5
can't open /dev/tty4: No such file or directory
can't open /dev/tty3: No such file or directory
can't open /dev/tty2: No such file or directory
: can't log to /dev/tty5
process '-/bin/sh' (pid 133) exited. Scheduling for restart.
: can't log to /dev/tty5
process '-/bin/sh' (pid 134) exited. Scheduling for restart.
: can't log to /dev/tty5
process '-/bin/sh' (pid 135) exited. Scheduling for restart.
...
请按回车后的消息不断重复(或多或少),以至于我无法直接阅读它们,我拍了一张照片并手动记录了这些消息。
我曾尝试按 Enter 几次,但均未成功。Ctrl + Alt + Del 或试图切换到 tty7、tty6 或 tty1 显示没有反应。
我不知道为什么它首先抱怨 tty5。
我之前做的:
我从 AUR 安装了 android-studio(使用git clone
和makepkg -si
)。
我进行了更新pacman -Syu
(实际上我不是 100% 确定我何时进行了更新)。
Android Studio 尝试安装 android SDK 和其他东西。它声称它有足够的空间。我不记得它显示的确切数字,但我确信它显示的可用空间不可能是真的,所以我事先在我的数据分区(我明确告诉它应该安装 SDK)上清除了大约 35GB。该过程结束时出现了几条空间不足的错误消息。它似乎几乎没有使用我在数据分区上为它释放的 35GB,而是尝试安装在系统分区上(可用空间少于 1 或 2GB)。
Android Studio 告诉我,我的机器能够加速 android 模拟器,但我认为它并没有真正尝试安装 KVM。
因此,我尝试通过删除一些我曾尝试安装但从未真正使用过的 AUR 包(大约 3 个)从系统分区中释放一些空间(因为安装失败或因为我没有正确配置它们,或者因为它们结果与我需要的不同。)对于我第一次运行的每一个pacman -Rs
(在大多数情况下失败可能是因为我一开始没有设法安装它),然后是rm -rf
. 其中一个软件包是 cdm(一个登录管理器),但是当我卸载它时,我绝对确定我使用的是 ly。
从那时起我所尝试的:
我已经阅读了更新前应该阅读的内容: https ://www.archlinux.org/news/ 但自上次更新以来没有任何新内容。
我已经验证了arch系统分区没有完全满,还剩下664MB。
我已经arch-chroot
从现场棒编辑到系统并运行,pacman -Syu
希望它可以告诉我什么是坏的,但它只是高兴地安装了两个新包。
我已经验证 /etc/init.d/rcS 不存在(整个目录 /etc/init.d 丢失)。/etc/init.d 也不存在于 live 棒上。因此,我假设它从一开始就不存在。但是为什么它会突然尝试执行一个不存在的文件呢?我想我在某处读到这个文件通常在 arch 上以不同的方式调用,但我再也找不到那个源了。
应该执行什么而不是/etc/init.d/rcS
我如何告诉它这样做?或者如果它应该存在,我该如何重新创建它?
编辑:我尝试使用rescue
和emergency
内核参数启动系统,但它们没有区别。
init=/bin/sh
作为内核参数给出以下错误消息:
[ 3.058545] Failed to execute /init (error -13)
/bin/sh : can't access tty; job control turned off
我在 中找到了答案
/var/log/pacman.log
。在尝试更新 mkinitcpio 时,有很多行说“设备上没有剩余空间”。所以我启动了一个 live Stick 并在我的本地 ssd 上 arch-chroot 到 arch 系统:
删除了在安装 android-studio 期间创建的不再需要的文件(大约 5GB)。
重新安装mkinitcpio:
exit
,poweroff
并启动到我的拱门系统现在它又开始运行了。