Arch Linuxをインストールした後、再起動しましたが、起動プロセスを完了できません。上記の画面が表示され、このメッセージが表示されます。
ERROR: Boot device mounted successfully, but /sbin/init does not exist. Bailing out, you are on your own. Good luck.
sh: can't access tty; job control turned off.
と
[rootfs ]#
プロンプトが表示されます。
ライブディスクで確認したところ、スビンとして存在するシンボリック リンクにディレクトリしかし、私は初期化私のファイル/フォルダディレクトリディレクトリ。どこで入手すればいいですか?初期化ファイル/フォルダですか? インストール中に手順を間違えましたか? これを修正するために何かできることはありますか? ありがとうございます。
答え1
私のコメントに続いて、この問題を修正するためにお勧めするのは、ライブ CD (またはインストール環境を起動するために使用した任意の方法) を使用してシステムを再起動し、インストール プロセスの次の手順をやり直すことです。
それでもまだ動作しない場合は、ブートローダによって実際にマウントされているファイルシステムを確認することをお勧めします。おそらく、どのファイルがマウントされているかのリストを示します。はディレクトリに存在していれば、/usr/bin
さらにサポートすることができます。
答え2
私はこの問題に半日を費やし、最終的に、私の場合の原因は /usr を別のパーティションに設定し、grub ブートが /usr/bin/init にアクセスしようとする時点でルート パーティションのみがマウントされていたことであると認識しました。
/usr ファイル階層をルート パーティションに移動することで問題を解決しました。
リチャード
答え3
別の/usr
パーティションでは、initramfs/mkinitcpio を使用し、usr-hook を追加する必要があります。 には/etc/mkinitcpio.conf
、まさにこのことを説明するコメントがあります。 ファイルのコメントに概説されているように、追加のフックも必要になる場合があります。後で initramfs を再生成します (例: ) mkinitcpio -P
。
背景: 現在、すべての主要ディストリビューションは、バイナリとライブラリの保存に一貫性がないため、別々の - パーティションで多かれ少なかれ壊れています/usr
。Linux Standard Base によると、/bin、/sbin、/lib を使用する必要があります。代わりに、ほとんどのディストリビューションは独自に作成し、/usr/bin を埋めて、/usr/sbin を巧みに操作し、これをさまざまなライブラリ パスと混合しています。これは、ユーザーが何かを壊さないようにして便利にするためと、何よりも標準を作成する委員会が存在しないためです。
少なくともArch LinuxとGentoo Linuxは、洗練された設定のための最新のガイドをWikiで提供しています。Gentooの早期ユーザースペースマウントカスタム initramfs を作成するために何が必要かを知るためです。Arch Linux では、この点についてもう少し高度な知識が必要です。
一般的なデスクトップ システムでは、安全策として、パーティションをほとんど分割せずに実行することを強くお勧めします。毎日ログインすると、ファイル システムがすぐにいっぱいになることに気付くでしょう。/home
別のパーティション (およびディスク) に分割し、他のすべてのディレクトリを単一のパーティション/オペレーティング システム ドライブに保持するのが安全です。
非デスクトップ/サーバーでは、パーティションがいっぱいになってシステム全体がブロックされるのを避けるために、パーティションを分割する必要があります。これらは何ヶ月も何年も無人で稼働します。ログやデータを書き込み、パッケージを自動的に更新することもあります。 に空き容量がなくなったマシン/tmp
、/run
または/var
(ディストリビューションによって異なりますが) 収集されたログやダウンロードされたパッケージ アーカイブのせいで、マシンにログインできなくなります。また、一部のパーティションに RAID デバイスや高度なファイルシステムが存在する可能性も非常に高くなります。これにより、さらに多くのフックと、ブート ローダーとそれ以下のすべての手動構成が必要になります/sbin/init
。