web-dev-qa-db-ja.com

Ubuntuが起動しない:run-init:/ sbin / init:Permission denied and / bin / sh:0:Can not open splash

昨夜、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をカーネルパラメーターとして追加しようとしました。それも機能しませんでした。

この問題を解決するにはどうすればよいですか?

1
Ravexina

表示されるメッセージを見るとわかるように、最も可能性の高い原因は権限の問題です。また、/sbin/init/etc/initは存在するが、/bin/initは存在しないようです。


/ bin/shを取り除く:0:スプラッシュを開けない

まず、問題を修正するシェルを入手する必要があります。 /bin/sh: 0: Can't open splashを削除してシェルを取得するには:Ubuntuのみがインストールされている場合(デフォルトではGRUBは表示されません)、システムの起動中に shift GRUBを表示するキー。次に、デフォルトのメニューを押します E

Linuxで始まる行があります。その行でsplashパラメーターを削除してから Ctrl+x、これでshシェルにドロップされます。必要に応じて、/bin/bashを実行してbashシェルを取得します。オートコンプリート機能があるため、bashよりもshの方が好きです。

または、splashパラメーターを削除する代わりに、その行の最後にinit=/bin/bashを追加してから、 Ctrl+x;今回は、bashの代わりにshにドロップされます。


Run-initの修正:/ sbin/init:許可が拒否されました

実行:

ls -lH /sbin/init

次のようなものが生成されるはずです。

-rw-r--r-- 1 root root 1577000 Feb 15 12:20 /sbin/init

ご覧のとおり、権限が台無しになっています。最近のほとんどすべてのシステムで、/sbin/initsystemdへのリンクです。

# ls -l /sbin/init
-rw-r--r-- 1 root root 1577000 Feb 15 12:20 /sbin/init -> /lib/systemd/systemd

確かに、/(ルート)ファイルシステムはro状態(読み取り専用)でマウントされ、rw(読み取りおよび書き込み)に変更できます。

# mount -o remount,rw /

次に、権限を修正します。

# chmod u=rwx,g=rx,o=rx /lib/systemd/systemd

システムを再起動します。

1
Ravexina