web-dev-qa-db-ja.com

/ 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%わかりません)。

AndroidStudioはAndroid SDKなどをインストールしようとしました。十分なスペースがあると主張していました。表示された正確な数値は覚えていませんが、表示された利用可能なスペースは可能であると確信していました。正しくないので、事前にデータパーティション(SDKをインストールするように明示的に指示した場所)で約35GBをクリアしました。プロセスは、スペースが不足しているといういくつかのエラーメッセージで終了しました。ほとんど使用されていないようです。 35GBデータパーティションで解放しましたが、代わりにシステムパーティション(使用可能なGBが1または2GB未満)にインストールしようとしました。

Android Studioから、私のマシンはAndroidエミュレーターを高速化できるとの連絡がありましたが、実際にKVMをインストールしようとしたとは思いません。

そこで、一度インストールしようとしたが実際には使用しなかったAURパッケージ(約3)を削除して、システムパーティションからスペースを解放しようとしました(インストールが失敗したか、適切に構成しなかったため、または判明したため)。必要なものとは異なるものにするためです。)それぞれについて、最初にpacman -Rsを実行し(ほとんどの場合、最初にインストールできなかったために失敗しました)、続いてrm -rfを実行しました。それらのパッケージの1つはcdm(ログインマネージャー)でしたが、それをアンインストールしたとき、代わりにlyを使用していることを絶対に確信していました。

それ以来私が試したこと:

更新前に読むべきものを読みました: https://www.archlinux.org/news/ しかし、最後の更新以降、新しいものは何もありません。

Archシステムパーティションが完全にいっぱいではなく、まだ664MB残っていることを確認しました。

ライブスティックからシステムにArch-chrootedし、pacman -Syuを実行して、何が壊れているかを教えてくれることを期待しましたが、2つの新しいパッケージを問題なくインストールしました。

/etc/init.d/rcSが存在しないことを確認しました(ディレクトリ/etc/init.d全体が欠落しています)。 /etc/init.dはライブスティックにも存在しません。したがって、そもそも存在しなかったと思います。しかし、なぜ存在しないファイルを突然実行しようとするのでしょうか。このファイルは通常Archで別の方法で呼び出されることをどこかで読んだと思いますが、そのソースを再度見つけることはできません。

/etc/init.d/rcSの代わりに何を実行する必要がありますか?また、実行するように指示するにはどうすればよいですか?または、存在する必要がある場合、どうすれば再作成できますか?


EDIT:rescueおよびemergencyカーネルパラメータを使用してシステムを起動しようとしましたが、違いはありません。

カーネルパラメータとしてのinit=/bin/shは、次のエラーメッセージを表示します。

[   3.058545] Failed to execute /init (error -13)
/bin/sh : can't access tty; job control turned off
2
jakun

/var/log/pacman.logで答えを見つけました。 mkinitcpioを更新しようとしているときに、「デバイスに空き容量がありません」という行がたくさんありました。

  1. そこで、ライブスティックを起動し、ローカルssdのArchシステムにArch-chrootしました。

    # 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システムを起動しました

今、それは再び実行されています。

2
jakun