Linuxを使い始めた人,資格試験合格を目指す人を対象に,模擬試験形式でLinuxの基礎を解説します。

問題:一般的なLinuxシステムのブート(起動)時の流れを順に示せ。

A) initプログラムが実行される
B) BIOSが起動する
C) ハードEディスクのMBRから,ブート・ローダーが読み込まれる
D) Linuxカーネルが実行される
E) 各種サービスが起動する

ポイント:ブート時には,まずBIOSが起動します。BIOSがハード・ディスク内の カーネル・ファイルにアクセスします。OS本体であるカーネルが読み込まれた後, initプロセスが各種サービスを起動します。

キーワード:MBR,ブート・ローダー,ラン・レベル

 Linuxシステムが起動するときの全体の流れを,図1に示します。

図1●Linuxシステムのブート・シーケンス(起動の流れ)
図1●Linuxシステムのブート・シーケンス(起動の流れ)

 パソコンの電源を入れると,BIOSというソフトウエアが起動します。BIOSは,各パソコンのマザーボード内のメモリーに記録されています。BIOSの起動後,ハードウエアの初期化(メモリーのチェックなど)が行われます。初期化が終わると,BIOSは設定に基づいて,どのデバイス(ハード・ディスクやフロッピ・ディスク,光学ドライブなど)からブートするのかをチェックします。通常はハードEディスクから起動します。

 BIOSはハード・ディスクの先頭セクター(セクターはハード・ディスク内のデータを区切る単位,1つの容量は512バイト)のMBR(Master Boot Record)と呼ばれる部分から,ブート・ローダーと呼ばれるプログラムを読み出します。MBRにブート・ローダーが収まらない場合,MBRに記録された情報に基づいて,ハード・ディスクの別の場所(大抵は/bootディレクトリ,あるいは/bootパーティション)に格納されているブート・ローダーを読み込みます。

 Fedora Core 5であれば,GNU GRUB(GRand Unified Bootloader:グラブ)と呼ばれるブート・ローダーが使用されています。写真1は,GRUBが起動したときの画面です。写真1の後に,写真2の画面が表示されます。

写真1●GRUBが起動したときの画面   写真2●GRUB上のメニューから起動システムを選択できる
写真1●GRUBが起動したときの画面   写真2●GRUB上のメニューから起動システムを選択できる

 写真2は,ハード・ディスクに格納されたシステムの中から,起動するシステムを選択する画面です。この選択肢の内容は,「/etc/grub.conf」*1のtitle行に記述されています。次のコマンドで確認できます。

# cat /etc/grub.conf | grep title

 写真2で起動システムを選択すると,/etc/grub.confの設定に従い,Linuxカーネルが読み込まれます。カーネルは,実際は圧縮された形で「/boot/vmlinuz-(カーネルのバージョン番号)」というファイル名で記録されています。どのカーネル・ファイルが読み出されるかなどは,/etc/grub.confのkernel行で指定されています。次のコマンドで確認できます。

# cat /etc/grub.conf | grep kernel
写真3●グラフィカル・ログインの画面
写真3●グラフィカル・ログインの画面

 Linuxカーネルが読み出された後,/sbin/initプログラムが起動します。カーネルが起動する最初のプロセス(プログラム)で,プロセスを判別するプロセスIDは「1」になります。

 initプログラムは,スタートアップ・スクリプトや後述するラン・レベルなどによって各種サービスを起動します。最後に,ログイン画面が表示されます(写真3)。


ラン・レベル

 Linuxシステムには,ラン・レベルというシステムの稼働状態を表す動作モードがあります。Fedora Coreなどの主要なLinuxディストリビューションでは,0から6までのラン・レベルが用意されています。通常のラン・レベルは3か5で,そのほかには表1のように,再起動(6)や停止(0)を表すラン・レベルもあります。

表1●ラン・レベルの一例(Fedora Core 5の場合)
表1●ラン・レベルの一例(Fedora Core 5の場合)

 ラン・レベルの3と5は,基本的にX Window Systemを起動するかしないかの違いです。多くのLinuxディストリビューションでは,ラン・レベルは5でインストールされます。レベル5のX Window Systemが起動したログインを,「グラフィカル・ログイン」と呼びます。

類題

Q1 ブート・ローダー「GNU GRUB」を設定するファイルは,次のうちどれか?(2つ選択)

(A)/etc/grub.conf
(B)/etc/grub/grub.conf
(C)/boot/grub.conf
(D)/boot/grub/grub.conf

Q2 グラフィカル・ログインを表すラン・レベルはどれか?

(A)1 (B)3 (C)5 (D)6

【問題と類題の解答は次ページ】

■修正履歴
初出時,類題Q1の選択肢(D)が誤って/boot/grub/grub.confQ2となっていたのを修正しました。[2008/2/25 13:12]