昨夜、アーチを壊しました。さて、起動しようとすると、次のように表示されます。
[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 clone
とmakepkg -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-chroot
edし、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
/var/log/pacman.log
で答えを見つけました。 mkinitcpioを更新しようとしているときに、「デバイスに空き容量がありません」という行がたくさんありました。
そこで、ライブスティックを起動し、ローカルssdのArchシステムにArch-chrootしました。
# loadkeys ... # change keyboard layout if needed
# mount /dev/sda1 /mnt
# Arch-chroot /mnt
Android-studioのインストール中に作成された不要になったファイル(約5GB)を削除しました。
再インストールmkinitcpio:
# pacman -Sy mkinitcpio
exit
、poweroff
そしてArchシステムを起動しました
今、それは再び実行されています。