无法执行/init(错误-13),无法运行'/etc/init.d/rcS':没有这样的文件或目录

无法执行/init(错误-13),无法运行'/etc/init.d/rcS':没有这样的文件或目录

昨晚我折断了我的拱门。现在,当尝试启动时,它说:

[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 键后的消息不断重复(或多或少)如此之快,以至于我无法直接阅读它们,我拍了张照片并手动写下了消息。

我尝试按 Enter 几次但没有成功。 Ctrl + Alt + Del 或尝试切换到 tty7、tty6 或 tty1 没有反应。

我不知道为什么它首先抱怨tty5。

我之前做了什么:

我从 AUR 安装了 android-studio (使用git clonemakepkg -si)。

我进行了更新pacman -Syu(实际上我并不能 100% 确定我到底是什么时候进行更新的)。

Android studio 尝试安装android SDK 之类的东西。它声称它有足够的空间。我不记得它显示的确切数字,但我确信它显示的可用空间不可能是真的,所以我事先在我的数据分区上清除了大约 35GB(我明确告诉它应该安装 SDK)。该过程结束时出现几条错误消息,表明空间不足。它似乎几乎没有使用我在数据分区上为其释放的 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丢失)。 Live Stick 上也不存在 /etc/init.d。因此我假设它从一开始就不存在。但为什么它突然尝试执行一个不存在的文件呢?我想我在某处读到这个文件通常在 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

答案1

我已经在 中找到了答案/var/log/pacman.log。在尝试更新 mkinitcpio 时,有很多行显示“设备上没有剩余空间”。

  1. 因此,我启动了一个 Live Stick,并将其 arch-chroot 到本地 ssd 上的 arch 系统中:

    # loadkeys ...  # change keyboard layout if needed
    # mount /dev/sda1 /mnt
    # arch-chroot /mnt
    
  2. 删除了安装 android-studio 期间创建的不再需要的文件(大约 5GB)。

  3. 重新安装mkinitcpio:

    # pacman -Sy mkinitcpio
    
  4. exitpoweroff并启动到我的 arch 系统

现在它又开始运行了。

相关内容