/initは/bin/mountを見つけることができませんが、/を見つけることはできますか?

/initは/bin/mountを見つけることができませんが、/を見つけることはできますか?

Linuxシステムの起動に問題があります。

起動段階で/initスクリプトを実行すると見つかりませんでしたというメッセージが表示されますmount。私のPATH変数/sbinはとに設定されています/bin

直接電話してみたのに/bin/mount失敗して存在しないと言いましたね。

それからそれを埋め込み、それが見つかり、find .実際/bin/mountにアクセスできることを示しました。

私は何をすべきかわかりません。これがinitramfs基本的にシェルであることを読みましたが、busybox問題がある可能性がありますか?

修正する

これはmount見つからない唯一のコマンド/ファイルのようです。起動プロセス中に起動しましたsh。タブでインストールを完了しfind、 。

ただし、実行しようとすると、次のような同じ「見つかりません」というエラーメッセージが表示されます。

アップデート2

mount/init私のすべてのインスタンスを/bin/busybox mount。それがうまくいく方法です。

仮想マシンの一時停止

答え1

スクリプトをDOS(windows)モードで保存しました。これは、各行の末尾に不要な戻り文字があることを意味します。

この問題を解決する最も簡単な方法は、おそらくファイルをロードし、vim変更モードを使用してファイルを:set notx保存することです。:wq

答え2

/bin/mount壊れた記号リンクかもしれません。すべてのディレクトリエントリを表示するので見つけることができますがfind .、プログラムを実行しようとすると虹の末尾にファイルがないため動作しません。 BusyBox アプレット名は通常 BusyBox 実行可能ファイルへのリンクです。mount -> busyboxまたはmount -> /bin/busyboxbusyboxにある場合/bin

もう1つの可能性は、mountバイナリが実際のシステムから来たことです。このバイナリはダイナミックローダを使用するダイナミックリンクライブラリであり、initramfsにはないかもしれません。バラより64ビットシステムで32ビットバイナリを実行すると「見つかりません」メッセージを受信する同様のケースの説明。

関連情報