/ sbin / initは存在しません-救済、あなたは自分でしています。幸運を


8

Arch Linuxをインストールしようとしています。起動すると、以下のメッセージが表示されます。

ERROR: Root device mounted successfully, but /sbin/init does not exist.
Bailing out, you are on your own now. Good luck.

sh: can't access tty: job control turned off
[rootfs /]# _

initは/ sbin / initではなく/ usr / bin / initに配置する必要があります
Jeight

2
古いインストールイメージを使用しました-Syuか?
jasonwryan 2013年

3
@Jeight /sbin/binにシンボリックリンクされている/usr/binアーチLinux上。
ストジー

1
@strugee問題は、OPのArch Linuxの/ sbinと/ binであり、デフォルトで持つべきsymリンクを使用しています。それが問題を引き起こします。
2013年

4
@ChanceLeachman私はこのようなものを使用することを本当にお勧めします。wikiが推奨する方法でArchを設定したくない場合、または何をしているか理解していない場合、Archはおそらく適切なディストリビューションではありません(おそらくMintやDebianを試してください)。また、リンク404。@Jeight FWIW、彼はsystemdパッケージをインストールできるだけだと思います。おそらくsystemdへの移行のために彼のスクリプトが更新されなかったのかもしれません。
ストジー

回答:


8

あなたは、必要があるのにsystemd-sysvcompatを使用したい場合init/sbin/init簡単なシンボリックリンクである/lib/systemd/systemd(参照PKGBUILDを提供します)systemd-sysvcompat

したがって、システムを起動する場合は、grub kernel line(grubを使用する場合)追加する必要があります。

init=/lib/systemd/systemd

使用したくないsystemd-sysvcompat場合は、上記の行をGRUB's configuration


3

私はこの問題に遭遇し、アーチベースシステムを再インストールし、与えられた指示に細心の注意を払うことで解決しました。具体的には、Syslinux-BIOSへのインストール

私はsyslinuxをインストールして手順を読むのが速すぎて、忘れていました

適切なルートパーティションを指すようにsyslinux.cfgを構成します。このステップは不可欠です。

私の場合は/ dev / sda2にあったルートパーティションです。以下を見るとわかるように、それはそれを指していません。

...
LABEL arch
    ...
    APPEND root=/dev/sda3 rw
    ...

それは私のホームパーティション/ dev / sda3を指しています


2

最新のインストールISO(現在2013.10.1)をArchダウンロードページからダウンロードします。そのISOをCDなどに置いて、再インストールします。

古いインストールISOを使用したか、インストール中に問題が発生しました。私の比較的最新のArchサーバーに/sbin/initは、へのシンボリックリンクがあり/lib/systemd/systemdます。

あなたはそれ/sbin/initが存在するか、それが実際のファイルかシンボリックリンクかを確認することができます。後者の場合は、シンボリックリンクの内容、実行可能ファイル、ファイルなどが存在するかどうかを確認します。その過程で、インストールがどこで問題が発生したかを推測できますが、おそらくインストールをやり直す必要があります。 ISOイメージの新規ダウンロードから。


2
Archはinit、カーネルが/sbin/init(ブートローダーがinitオプションを介して別の値を渡さない限り)呼び出されるプログラムを必要とし、PID 1のプログラムが従来はと呼ばれるという意味でを使用しますinit。これがinitSystemdからか、SysVinitからか、Upstartからか、BusyBoxからかは、カーネルには関係ありません。
Gilles 'SO-悪をやめる'

1

これは、ルートに間違ったパーティションを使用した場合に発生する可能性があります。ローダーエントリを検索し(私のようなArch Linuxでsystemd-bootを使用している場合は/boot/loader/entries/arch.confで)、「ルート」UUIDがルートパーティションであることを確認します。


1

私はこの投稿が古いことを知っていますが、この問題に遭遇したばかりで、他に良い答えが見つからなかったので、これが将来の誰かの助けになることを願って私の答えです。

私の場合、ステージにいたとき

ERROR: Root device mounted successfully, but /sbin/init does not exist.
Bailing out, you are on your own now. Good luck.

sh: can't access tty: job control turned off
[rootfs /]# _

実際にはがあり/sbin/init、これはへのシンボリックリンクにすぎませんでした busybox

これが起こったことです。Archlinuxでは、ディレクトリ/sbinは/ usr / sbinへのシンボリックリンクです。そして、他の人々が言うように、への/usr/sbin/initシンボリックリンク/lib/systemd/systemd。しかし、私の場合、/usrディレクトリがマウントされていないことがわかりました。

このArchWikiページで/usr説明さているよう、基本的にパーティションをマウントする必要があります。/etc/fstab特にで生成されgenfstabたものを使用する場合は、検証することもできます。


関連する回答はunix.stackexchange.com/a/392223/5132で、関連する質問はunix.stackexchange.com/questions/247532です。
JdeBP
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.