LinuCレベル2 201試験の出題範囲「2.01.1 ブートプロセスとGRUB」の解説まとめ

IT資格

LinuCレベル2 201試験の出題範囲「2.01.1 ブートプロセスとGRUB」の技術的内容の解説をまとめました。

重要度4
概要ブートプロセス中およびリカバリモードのLinuxシステムを適切に操作する。関連するブートローダはGRUB バージョン2 である。BIOS と UEFI のシステム両方をカバーする。
詳細BIOS と UEFI
 ・Master Boot Record (MBR)
 ・EFI System Partition (ESP), efibootmgr, UEFI shell
ブートローダの標準的なオプションの変更とブートローダのシェル(コマンドライン)の使用。
ブートローダの開始とカーネルへの引継ぎ。
GRUB の起動メニューを生成する。
 ・grub-mkconfig, grub2-mkconfig
カーネルローダブルモジュールのロード。
 ・initrd, initramfs
ハードウェアの初期化と設定。
 ・デバイス、モジュール
ファイルシステムのチェックとマウント。
デーモン / サービスの初期化と設定。
 ・systemctl, systemd.unit
ハードディスクまたはリムーバルデバイスにおけるブートローダのインストール場所を知っている。
grub-install, grub2-install
 ・/boot/, /boot/grub/,/boot/grub2/ および /boot/efi/ の内容
LinuCレベル2 201試験 出題範囲 | LPI-Japan
仮想環境を含むLinuxのシステム設計・ネットワーク構築において、アーキテクチャに基づいた設計、導入、問題解決ができるエンジニアであることを認定します。試験センターの他に自宅でも受験できます。受験費用は税込16,500円。

BIOS と UEFI

LinuCレベル1 101試験でもBIOSとUEFIの概要について解説しています。

BIOSは、コンピュータの起動時にコンピュータに接続されている各種デバイスの初期化を行います。この過程を POST(Power On Self Test)といい、各種デバイスの初期化が終了すると、BIOSは次の段階に入り、起動するためのドライブを探します。ブートドライブが決定すると、BIOSはそのブートドライブの先頭セクタのロードを行います。このときにBIOSがストレージ(HDDやSSD)から読み込む先頭のセクタを MBR(Master Boot Record)といいます。BIOSはこのMBRをメモリ上にロードし、MBR領域にあるプログラムに制御を移します。

参考:https://lpi.or.jp/lpic_all/linux/intro/intro05.shtml

UEFIはBIOSより新しいプログラムになります。GUIで操作が可能などの特徴があります。

UEFIは、従来のPC-BIOSに代わって、PCで幅広く利用されるようになっています。たとえば、UEFIは64ビットシステムを適切にサポートし、最も重要な機能の1つである安全なブート(「セキュアブート」、ファームウェアバージョン2.3.1c以降が必要)を提供します。最後に、UEFIを使用すると、すべてのx86プラットフォームで標準のファームウェアが利用可能になります。

参考:https://documentation.suse.com/ja-jp/sles/15-SP5/html/SLES-all/cha-uefi.html

BIOSの特徴は以下です:

  • MBRを読み込む
  • 起動ディスクのサイズの上限は2TB

UEFIの特徴は以下です:

  • GUIによる操作が可能なため、マウスでも操作できる
  • OS上から起動エントリを表示、設定することができる
  • Linuxを起動するためのファイルは、通常「/boot/efi」にマウントされるESPに保存されている

MBR(マスターブートレコード)の概要

準備中。

EFI System Partition (ESP), efibootmgr, UEFI shellの概要

LinuCレベル2 201試験の出題範囲として記載されている「EFI System Partition (ESP), efibootmgr, UEFI shellの概要」の概要を解説します。

EFI System Partition (ESP)の概要

ESPはUEFIシステムにおいて、物理的なマシンを起動し、ファームウエアが読み込まれた後、その後の起動シーケンスで最初にアクセスされる領域になります。ESPは「/boot/efi」にマウントされます。

efibootmgrの概要

efibootmgrはUEFIブートマネージャーの起動エントリをOS上から操作するコマンドです。

UEFI shellの概要

UEFIには、UEFI Shellと呼ばれるシェル環境があり、OSを起動せずにハードウエア関係の設定を行うことができます。

GRUB(ブートローダ)の概要

以下はRed Hat Enterprise Linux 9.6の起動画面です。この画面でcキーを押下します。

cキーを押下すると以下の画面に遷移します。

cキーを押す前の画面でeキーを押下すると以下の画面に遷移します。

この画面がGRUBに関する画面です。

cキーを押したときの以下の画像は、「ブートローダGRUB2の起動プロンプト(GRUBシェル)の画面」です。

ブートローダ

GRUBはLinuxのブートローダです。ブートローダは記憶装置内のカーネルをロードし、制御を移す役割を果たします。

カーネルの起動

カーネルが起動されると、ハードウェアを認識・制御し、ルートパーティションのマウントなど様々な初期化処理が行われます。カーネルの初期化処理が終わると、init という最初のプロセスを起動します。

initプロセスの概要

initは、最初に起動されるプロセスで、PID(プロセス ID)は必ず 1 になります。
initはinitの設定ファイル /etc/inittab の記述に基づいて、自動起動するよう設定されているプロセスを立ちあげるなど、アプリケーションレベルの初期化を行います。
OS起動後、init プロセスは全てのプロセスの直接・間接的な呼び出し元として動作し続けます。

なお、最近のシステムではinitプログラムとして、初期化処理を高速化したUpstartやsystemdを採用している場合があり、その場合は「/etc/inittab」ファイルは使用されません。

BIOS/UEFIからOSが起動するまでの流れ

OSの起動処理は以下の順番で行われます。

BIOS → ブートローダ → カーネル → init
UEFI → ブートローダ → カーネル → init

BIOSとUEFIは役割としては同じものになりますが機能や仕様が異なります。前述の通り、UEFIのほうがBIOSより新しい技術で、BIOSはCUI、UEFIはGUIで操作するなどの特徴があります。

UEFI(Unified Extensible Firmware Interface)
BIOS(Basic Input Output System)
UEFI/BIOSの役割
Ø ハードウェア初期化
Ø ⾃⼰診断処理
Ø メモリチェック
Ø ハードウェア設定読込
Ø 起動デバイスのチェック
Ø 起動デバイスにあるブートローダ(GRUB/GRUB2)を探し起動
UEFI/BIOSの違い
Ø BIOSはMBR(Master Boot Record)、UEFIはGPT(GUID Partition Table)でパーティションを管理
Ø BIOSは2.2TB以上のディスクが⾮サポート、UEFIはそれ以上をサポート
Ø UEFIは、GUIなどでの操作可能

https://linuc.org/docs/seminar/20201004_linuc2.pdf

grub.cfgファイル(GRUBの設定ファイル)の概要

GRUB2の設定ファイルは、標準では「/boot/grub/grub.cfg」(システム(ディストリビューション)によっては「/boot/grub2/grub.cfg」)です。

ブートローダGRUB2の起動プロンプト(GRUBシェル)

前述した、GRUBシェルの実行画面でのコマンド操作について解説します。

GRUBシェルは以下のような記載内容で使用することができます。

grub> linux /boot/vmlinuz-x.yy.y-zzzz.aa0.x86_64 systemd.unit=rescue.target

上記の例では、「systemd.unit」に「rescue.target(レスキューモード)」を指定することでOS故障時のメンテナンスを行うことができます。

参考資料

本記事の作成に使用した参考資料を掲載します。

https://linuc.org/docs/seminar/20201004_linuc2.pdf

タイトルとURLをコピーしました