
「マシンが起動できない」と、青ざめた経験を持つ読者は多いのではないか。多くの場合、ローディングの仕組みを知ることで対処できる。逆に、ローディング時のコンピュータの動きを知らなければ、トラブルの対処もままならない。アーキテクトたるもの、アプリケーションが立ち上がるまでの動きは知っておきたい。
ローディング時のコンピュータの動きは、大きく前半と後半に分けることができる。前半は、ハードウェアの初期診断、OS初期処理、ファイルシステムのマウントである。後半はミドルウェア初期処理、アプリケーション初期処理だ。
まず、前半の動きについて解説する。コンピュータの電源を入れると、不揮発性メモリに格納されたプログラムが起動する。16ビットアドレスモードやVGAディスプレイなどの最低限の環境で、ハードウエア設定や初期診断からブートローダーの読み込みまでを実行するBIOSが代表例だ。
BIOSが起動できないと、その後の処理が進まなくなる。このため、BIOSを更新する場合には、細心の注意が必要だ。
BIOSはブートデバイスの固定位置にあるMBR(Master Boot Record)から、OSをロードするためのブートローダーを読み込み、OSに実行権を渡す。当然、MBRが存在しないデバイスからはブートできない。
MBRが存在しないのに起動させようとすることなど起こらなそうだが、まれにある。バックアップしたシステムのリストア時や、デバイスをフォーマット処理したときなどだ。このようなときは、MBRが存在するかどうかを留意しておかなければならない。