LoginSignup
0
0

More than 1 year has passed since last update.

Linux ESP、efibootmgr、initramfs等について

Posted at

●EFI System Partition (ESP)
ESPはUEFIシステムにおいて、物理的なマシンを起動し、ファームウエアが読み込まれた後、その後の起動シーケンスで最初にアクセスされる領域。ESPは「/boot/efi」にマウント。
マザーボードの実装により差はあるが、規格としては、FAT16またはFAT32でフォーマットされている必要がある。

●UEFIブートマネージャー
UEFIでは、マシン起動後にファームウエアが読み込まれると、ハードウエアを初期化し、UEFIブートマネージャーを起動。UEFIブートマネージャーは起動情報(OSをどこからどのようにロードするか)を管理するプログラムであり、役割としては、BIOSでのブートローダーのような役割を実行。多くの場合は、ブートローダーを起動エントリに持ち、そちらに制御を渡しますが、環境によってはブートローダーなしでの起動も可能。

●efibootmgr
UEFIブートマネージャーの起動エントリをOS上から操作するコマンド。
ESPに格納されたブートローダーなどのプログラムを管理し、起動パラメータをブートローダーに渡したり、起動順序を変更したりなど、起動エントリの変更や設定を行います。
UEFIは、BIOSと同様にブートローダーを登録することもできるが、UEFI自体にブートローダーと同様の機能をもたすことができる。こうした機能もefibootmgrで操作可能。
ESPに格納されたブートローダーをUEFIから見ると拡張子.efiがついたファイルとなっていて、efibootmgr上でも、EFIアプリケーションとして扱われる。

オプションを付けずに実行すると現在のブートエントリーを表示。

●UEFI shell
UEFIでは、UEFIシェルと呼ばれるシェル環境を持っており、OSを起動せずにハードウエア周りの設定を行うことができ、デバイスドライバや、TCP/IPスタックも利用できる。

●デバイスドライバ
ハードウェアをOSから制御するためのソフトウェア。Linuxではデバイスドライバはカーネルモジュール(カーネルで扱うべき色々な機能を独立した部品のようなもの)として提供。
Linuxのブートプロセスにおいて、カーネルは起動するとハードウェアの認識を行う。認識したハードウェアに対応するカーネルモジュールが検出されロードされると、そのデバイスドライバによってハードウェアの初期化処理が行われる。ハードウェアの初期化が完了するとハードウェアは利用できるようになる。

●initramfs
初期 RAM ディスクの形式の1つ。システム起動時に仮の環境としてまずメモリ上にファイルシステムを展開し、そこでカーネルを動作させてから本来のファイルシステムをルートにマウントし直す、といった段階的なブートを実現する機能。
initramfsはカーネルからは通常のファイルシステムと同様にアクセスでき、格納されているプログラムを実行することもできます。カーネルは、initramfs上に配置されたinitプログラムである /init を起動しようとする。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0