Grubのprocは何ですか?

Grubのprocは何ですか?

私はGrubのコマンドラインでそれを使っていて、私の意図を捕らえたのを見つけました。lsGrubのコマンドを介してデバイスを一覧表示し、(proc)という仮想デバイスがあることを発見しました。

grub> ls 
(proc) (hd0) (hd0, msdos1)

この(proc)デバイスの興味深い点は、ルートディレクトリと同様の構造を持つ圧縮Linuxカーネルが含まれていることです。

(grub)> ls (proc) / 
Device proc: Filesystem type procfs - Sector size 512B - Total size 0Kid
lost+found/ swapfile etc/ bin/ boot/ dev/ home/ lib/ lib64/ mnt/ opt/
vmlinuz initrd.img
--snip-- 

私の結論は、(proc)がGrubに独自のルートファイルシステムがインストールされているメモリ内ファイルシステムであり、grubもLinuxカーネルの共通procファイルシステムをルートファイルシステムとして使用するようです。 Grubのデバイスは何ですか(proc)?なぜそこにいるのですか?

答え1

いいえ、Grub 2ブートローダはカスタムLinuxカーネルではありません。独自のコードベースがあります。 Grub 2の詳細をご覧ください。これウィキペディアの記事。

なぜprocフォルダを使用するのですか? A:procfsファイルシステムはLinux固有のものではありません。 BSDや他のPOSIX準拠のオペレーティングシステムでも同様のアプローチが使用されます(読み取りここ)。

Grub 2は、ディスクデバイス(カーネルをロードするため)、マウス、キーボード入力などのリソースを管理する必要があります。たとえば、さまざまなファイル形式(ELF形式など)を読み、理解し、Linuxカーネルに対して解凍プロセスを実行する必要があります。

これがGrub 2の機能がオペレーティングシステムと呼ばれるもののサブセットである理由です(誤解しないでください。)いいえ実際にはオペレーティングシステムです)開発者はこれらのprocfを使用して物事を管理することを決定できます。

編集する:

Grub コマンドは、ls /Grub メモリファイルシステムのルートフォルダの内容を提供しません。私のUbuntuシステムのGrubシェルは、デフォルトのブートドライブルートの内容のみを提供します。これはlinuz、上記のファイルが単にgrubが起動するカーネルであることを意味します。

関連情報