Linux技術者認定試験「LPIC-1」は、Linuxの基本操作やシステム管理スキルを問う登竜門とも言える資格です。中でも「システムアーキテクチャ」は、OSがどのように起動し、どのようなレベルで動作しているかを理解するうえで重要なセクションです。この記事では、LPIC-1試験に頻出の「BIOS」「UEFI」「起動シーケンス」「ランレベル」などのキーワードについて、初学者にもわかりやすく解説します。試験対策だけでなく、実務でも役立つ知識ばかりですので、ぜひ最後までご覧ください。
BIOSとは?基本の仕組みを押さえる
BIOS(Basic Input/Output System)は、PCの電源投入時に最初に実行されるプログラムで、主にハードウェアの初期化やブートデバイスの検出、OSの読み込みなどを行います。BIOSはマザーボードに組み込まれたROM(不揮発性メモリ)に格納されており、ハードディスクやメモリ、キーボードなどの基本的なハードウェアとOSの橋渡しをする役割を持ちます。
BIOSが行う主な処理には以下のようなものがあります。
- POST(Power-On Self Test)によるハードウェア診断
- 起動デバイスの検出と順序の管理
- ブートローダーの読み込み
BIOSの設定画面には、PC起動時に「DEL」キーや「F2」キーなどを押すことでアクセスできます。設定画面では、ブート順序やシステムクロック、セキュリティ設定などを変更できます。
UEFIとは?BIOSとの違いとメリット
近年のPCでは、従来のBIOSに代わり「UEFI(Unified Extensible Firmware Interface)」が広く採用されています。UEFIはBIOSの後継技術で、より高度で柔軟なシステム起動とハードウェア制御が可能です。
BIOSとUEFIの主な違い
項目 | BIOS | UEFI |
---|---|---|
インターフェース | テキストベース | GUI対応のものもある |
起動可能容量 | 最大2TB | 最大9ZB(ゼタバイト) |
セキュリティ | 限定的 | Secure Boot対応 |
拡張性 | 低い | プラグイン対応可能 |
起動速度 | 遅い | 高速 |
UEFIでは、FAT形式の「EFI System Partition(ESP)」にブートローダーを保存し、そこからOSを起動します。Linuxディストリビューションでは /boot/efi
にマウントされることが多いです。
UEFIはGPT(GUID Partition Table)と組み合わせて使われることが多く、これにより多数のパーティションをサポートし、大容量ディスクへの対応が可能になります。
起動シーケンスの流れを理解しよう
Linuxがどのように起動するかを理解することは、トラブルシューティングやシステム管理において重要です。ここでは、PCの電源投入からLinuxのログイン画面が表示されるまでの流れを段階的に見ていきましょう。
1. 電源投入
電源が入ると、BIOSまたはUEFIが最初に実行されます。POSTによってハードウェアの自己診断が行われ、問題がなければ次のステップへ進みます。
2. ブートローダーの読み込み
BIOS/UEFIは設定されたブートデバイス(HDD、SSD、USBなど)を探し、その先頭にあるブートローダーを読み込みます。Linuxでは多くの場合「GRUB(GRand Unified Bootloader)」が使用されます。
3. カーネルの読み込み
GRUBは、カーネルイメージ(例:/boot/vmlinuz-*
)と初期RAMディスク(initrd
またはinitramfs
)をメモリに展開し、カーネルを起動します。
4. initシステムの起動
カーネルが起動した後、PID(プロセスID)1番のプロセスとして「init」や「systemd」などの初期化プロセスがスタートします。このプロセスがランレベルやターゲットに応じたサービスを起動していきます。
5. ログインプロンプトの表示
必要なサービスやデーモンが起動し終わると、テキストコンソールやGUIのログイン画面が表示され、ユーザーの操作が可能になります。
ランレベルとは?旧式のinitと現在主流のsystemd
Linuxでは、システムの動作モードを「ランレベル(runlevel)」と呼ばれる数字で表してきました。これは古いinitベースのシステムで使用されていた概念で、各ランレベルは特定の動作モードを表しています。
代表的なランレベル
ランレベル | 説明 |
---|---|
0 | シャットダウン |
1 | シングルユーザーモード(メンテナンス用) |
3 | マルチユーザーモード(GUIなし) |
5 | マルチユーザーモード(GUIあり) |
6 | 再起動 |
例えば、テキストモードで起動したい場合は「ランレベル3」、GUI付きで起動したい場合は「ランレベル5」を使用します。
systemdの登場とtargetの概念
最近のLinuxディストリビューション(Ubuntu、Fedora、CentOSなど)では、「systemd」が標準となっています。systemdでは、ランレベルの代わりに「ターゲット(target)」を用いて、システムの状態を管理します。
ランレベル | systemdターゲット |
---|---|
0 | poweroff.target |
1 | rescue.target |
3 | multi-user.target |
5 | graphical.target |
6 | reboot.target |
確認コマンド:
systemctl get-default
ターゲットの変更:
sudo systemctl set-default graphical.target
GRUBの役割と設定ポイント
GRUB(GRand Unified Bootloader)は、カーネルのロードを担う非常に重要なブートローダーです。GRUBには主に以下の役割があります。
- 起動するカーネルの選択
- カーネルパラメータの指定
- 複数OSのマルチブート
GRUBの設定ファイルは以下のパスにあります。
/etc/default/grub
(設定テンプレート)/boot/grub2/grub.cfg
または/boot/grub/grub.cfg
(実際の設定)
設定変更後は以下のコマンドで反映します。
sudo grub2-mkconfig -o /boot/grub2/grub.cfg # CentOSなど
sudo update-grub # Debian系
試験対策のポイント
LPIC-1の試験において、システムアーキテクチャの分野では以下のようなポイントが問われます。
- BIOSとUEFIの違い
- ブートシーケンスの流れ
- ランレベルとsystemdターゲットの対応関係
- GRUBの構成ファイルと役割
- カーネルとinitの関係
練習問題や模擬試験では、「systemdで現在のターゲットを確認するコマンドは?」「GRUBの設定を更新するにはどのコマンドを使うか?」といった具体的な知識が問われます。単語の意味を覚えるだけでなく、関連するコマンドとファイルパスも一緒に押さえておくことが合格への近道です。
まとめ
LPIC-1試験対策として、システムアーキテクチャの基礎知識は避けて通れません。BIOSやUEFI、起動シーケンスの流れ、initやsystemd、ランレベルの仕組みなど、どれもLinuxシステムの中枢をなす重要な要素です。これらを正しく理解することで、トラブル発生時の対応力も格段に上がります。
この記事を参考にしながら、ぜひ実機や仮想環境での実践も取り入れて、確実な理解を深めていきましょう。合格を目指して頑張ってください!