LinuCレベル1 101試験出題範囲「1.01.3 ブートプロセスとsystemd」の解説まとめ

IT資格

LinuCレベル1 101試験「1.01.3 ブートプロセスとsystemd」の解説をまとめました。

重要度4
概要UEFI/BIOSからブート完了までのブート手順について理解している。
システムにおけるsystemdのブートターゲットを管理できる。これには、シングルユーザモードへの変更と、システムのシャットダウンまたはリブート、デフォルトのsystemdのブートターゲットの設定も含まれる。
詳細デフォルトのブートターゲットを設定する。
systemd, systemctlブートターゲット(シングルユーザモードを含む)を変更する。
systemctlコマンドラインからシャットダウンおよびリブートする。
shutdown, halt, reboot, poweroff
LinuCレベル1 101試験 出題範囲 | LPI-Japan
仮想環境を含むLinuxシステムの基本操作とシステム管理が行えるエンジニアであることを認定します。試験センターの他に自宅でも受験できます。受験費用は税込16,500円。

BIOSとは

BIOSは「Basic I/O System」(I/OはInpute / Outputのこと、データの出し入れを意味)の頭文字で、コンピュータの電源を入れると最初に起動し、コンピュータに接続されているデバイスの起動の優先順位を決定するシステムとして動作します。

BIOSは決定した優先順位に従って各デバイス(HDD、SSDなど)の先頭セクタにあるMBR(マスターブートレコードのこと。起動時にコンピュータが読み込むデータであるブートローダが格納されている)を読み込み、得られたブートローダに制御を移します。

BIOSがブートローダを得ることができない場合は次のデバイスのMBRを読み込みます。
起動デバイスの優先順位は、BIOSセットアップ画面で任意の順序に設定変更できます。BIOSセットアップ画面はコンピュータの起動時に特定のキー(DEL、F2など)を押して呼び出します。

ステージ1: BIOS

コンピュータの電源をオンにすると、コンピュータはBIOS (Basic Input/Output System)を起動し、POST (Power On Self Test)を実行します。POSTは、ハードディスク、SSD、キーボード、RAM、USBポートなどのコンポーネントやその他のハードウェアの機能を検査する整合性チェックです。ハードウェアが期待どおりに動作する場合、ブートプロセスは次のステージに進みます。

systemdサービスの管理
systemdサービスの説明

UEFIとは

UEFIについてLinuC公式サイトでは以下のように紹介されています。

「UEFI」(Unified Extensible Firmware Interface)は、マザーボードに直接搭載されており、
コンピュータに電源を投入した際に最初に起動するプログラムです。

「UEFI」の役割は、OSを起動する前にコンピュータに搭載されている各種機器を初期化し、OSを適切に起動することです。
この役割は、以前は「BIOS」と呼ばれるプログラムが担っていました。しかし、BIOSは古いプログラムで時代遅れとなったため、新たに開発されたのが「UEFI」です。

UEFI - Linux技術者認定 LinuC | LPI-Japan
Linuxを学習する上で出てくる素朴な疑問や、便利なテクニックなどを紹介しています。LinuCは、クラウド・DX時代に活躍するエンジニアに求められるLinuxを中心とした技術や知識を身につけることができるLinux技術者認定試験。出題範囲に...

UEFIとBIOSの違い

LinuC公式サイトではUEFIとBIOSの違いについて以下のように記載されています。わかりやすくUEFIとBIOSの違いを表現すると、UEFIのほうがBIOSより新しく、GUIで視覚的に操作できるようになっているということです。

「UEFI」が「BIOS」と比べて進化した点は数多くありますが、誰にでもわかる違いに、設定画面の違いがあります。
BIOSではCUIベースの設定画面を利用しており、キーボードでのみ操作することが可能でしたが、UEFIでは設定にGUIベースの画面が利用でき、
マウスも操作で利用できるようになりました。BIOSのあの画面が苦手、という問題が解消されました。コンピュータでLinuxをインストールする際に、
UEFIの設定を調整して、起動させるOSが収録されている場所を指定することも多いため、比較的新しいPCにLinuxをインストールした経験がある方であれば、
UEFIの設定を行ったことがある可能性も大きいと思います。

UEFI(BIOS)は、システムをインストールするときだけではなく、たとえばハードウェアに何らかの変更を加えたときなどにも設定する必要が生じるケースがありますので、覚えておきましょう。

UEFI - Linux技術者認定 LinuC | LPI-Japan
Linuxを学習する上で出てくる素朴な疑問や、便利なテクニックなどを紹介しています。LinuCは、クラウド・DX時代に活躍するエンジニアに求められるLinuxを中心とした技術や知識を身につけることができるLinux技術者認定試験。出題範囲に...

UEFIとBIOSについてのより詳しい詳細は以下の記事でまとめました。

ブートローダ

ブートローダは記憶装置内(HDD、SSD)のカーネルをロードし、カーネルに制御を移すものです。LinuxではGRUBがブートローダに該当します。

ブートローダはMBRに格納されている第一段階部分と、記憶装置内(HDD、SSD)の別の場所に格納されている第二段階部分が存在します。このように分かれている理由は、MBRにサイズ制限があるためです。

ステージ2: ブートローダ

POSTが完了すると、BIOSはMBR (マスターブートレコード)に保存されているブートローダプログラムを検索してロードします。MBRは512バイトのコードで、通常はハードドライブのアーキテクチャに応じて/dev/sdaまたは/dev/hdaに配置されています。MBRは、LinuxのライブUSBまたはDVDインストール上に配置することもできます。BIOSは、このMBRコードをロードして実行します。

Linuxには、主要なブートローダとしてLILO、GRUB、およびGRUB2の3つがあります。GRUB2 (Grand Unified Bootloader)ブートローダは、最新のLinuxディストリビューションにおける最新のプライマリブートローダです。GRUB2の設定ファイルは/boot/grub2/grub2.cfgにあります。BIOSは、GRUB2ブートローダを見つけると、GRUB2を実行してメインメモリ(RAM)にロードします。

systemdサービスの管理
systemdサービスの説明

ターゲットとランレベル

ランレベルターゲット
0poweroff.target
1rescue.target
2,3,4multi-user.target
5graphical.target
6reboot.target

systemdの概要

systemdは、Linuxオペレーティングシステムのシステムおよびサービスマネージャです。サービス管理、依存関係の追跡、ログ記録、リソース管理、ソケットの有効化、システム制御などの重要な機能を担います。

systemdをわかりやすく表現すると、Linuxのシステムとサービスを管理しているデーモンです。systemdのdは「daemon(デーモン)」を意味します。デーモンは常駐プログラムのことで、常にOS上で動作して待機しているプログラムを指します。

1 systemdとは

systemdは、Linuxオペレーティングシステムのシステムおよびサービスマネージャです。主要なLinuxディストリビューションでデフォルトの初期化システムです。systemdは、ユーザが直接開始するのではなく、/sbin/initを介してインストールされ、初期ブート中に起動されます。systemdは、ブート時に最初のプロセス(PID 1)として実行されたときにユーザスペースサービスを起動および維持するinitシステムとして機能します。PID 1はinitと呼ばれ、最初に作成されるLinuxユーザモードプロセスです。その実行はシステムのシャットダウンまで継続します。

systemdはPID 1を所有し、カーネルによって直接起動されます。他のすべてのプログラムは、systemdまたはそのいずれかの子プロセスによって直接起動します。systemdは、ホストのファイルシステムをマウントし、一時ファイルを管理します。SysV initスクリプトとの下位互換性があります。SysVは、systemdよりも以前の初期化システムです。

systemdでは、ユニットとは、システムが操作および管理方法を認識しているリソースのことです。これは、systemdツールで使用されるプライマリオブジェクトです。これらのリソースは、設定ファイルであるユニットファイルで定義します。

systemdサービスの管理
systemdサービスの説明
System and Service Manager

systemctlコマンドの概要

systemctlは、サービスの起動や停止、状態確認を行うコマンドです。

systemctlは、initシステムを制御する中央管理ツールです。systemdシステムおよびサービスマネージャの状態を調べ、制御するために使用されます。

systemdサービスの管理
systemdサービスの説明

systemctlコマンドの使い方

サブコマンド用途
disableサービスの自動起動を無効にする
enableサービスの自動起動を有効にする
get-default次回起動時のターゲットを表示する
haltシステムを停止しhalt状態にする
is-activeサービスが稼働しているかを表示する
isolate他のUnitを停止して対象のUnitを起動する
list-unit-filesすべてのUnit定義ファイルを一覧表示する
rebootシステムを再起動する
reloadサービスの設定ファイルを再読み込みする
rescueレスキューモードに移行する
restartサービスを再起動する
set-default次回起動時のターゲットを設定する
startサービスを起動する
statusサービスの状態を表示する
stopサービスを停止する
poweroffシステムを停止し電源を切断する

shutdownコマンドの使い方

shutdownコマンドの書式と主なオプションは以下のとおりです。

shutdown [オプション] 時間 [メッセージ]

オプション説明
-hシステム停止(デフォルト)
-rシステム再起動
-kシャットダウンは行わず、ログイン中の全ユーザーにメッセージを送る
-c実行中のシャットダウンをキャンセル

「時間」は以下のように指定します。

  • [HH:MM] 指定した時刻(HH時MM分)に実行
  • +M M分後に実行
  • now 今すぐに実行

OSをシャットダウンさせるコマンド

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