このコマンドは何をしますか?

このコマンドは何をしますか?

昨日、Grubオーバーレイを含むWindowsをインストールする必要がありました。

さて、Grubを修正したのは今回が初めてではなかったので、LiveCDを使用してルートパーティションをマウントしてから(起動せずにのみ/home実行しましたgrub-install --root-directory=/mnt/ /dev/sda。しかし、これはうまくいきませんでした。

しばらくのインターネット検索の最後に、彼はLinuxパーティションをインストールしただけmount --bind /mnt/dev /devでなくmount --bind /mnt/proc /proc/。その後、Grubをchrootインストールし/mnt、この方法を使用して成功します。

コマンドの目的は何ですかmount --bind?私は--bind used使い方(manページ)に精通していますが、この例ではそれがなぜ使用されたのかわかりません。

ベストアンサー1

procファイルシステムは、sys実行中のカーネルによって提供されます。カーネルが実行されていない場合はもう存在しません。つまり、別のオペレーティングシステムにchrootすると、これらのファイルシステムは存在しません。多くのプログラムは実行のために存在を期待しています。たとえば、実行中のシステムに関する情報が必要な場合や、カーネルが何かを処理する方法を変更したいとします。通常、現在のカーネルを提供するだけで、これらのプログラムが期待どおりに機能するようにするのに十分です/proc/sys

chroot操作によって使用されるファイルパスが無効になるため、シンボリックリンクでは不十分です。 Linuxでは、ディレクトリをハードリンクすることはできません(提供されているものを.除く)。これは、これらのファイルシステムが3番目のオプションであるバインドマウントを使用してchroot環境にミラーリングされる必要があることを意味します。バインドマウントはカーネルから直接提供され、chrootで期待どおりに動作します。..mkdir

おすすめ記事