VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで

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

REHL6のオンラインマニュアルを読んで、マスターブートレコード(MBR)とGRUBの概要をメモ書きしています。

※目次をクリックすると目次の下部にコンテンツが表示されます。

マスターブートレコード(MBR)と第1ステージブートローダー
●マスターブートレコード(MBR)の概要
 
・単数または複数のパーティションに分けられたディスクにおける先頭セクタ(これはパーティション外に存在する)にある、ブートセクタの一種。
・MBRのサイズは512バイトしかなく、MBRにはブートローダーと呼ばれるマシンをブートするためのマシンコード命令と併せてパーティションテーブルも含まれている。
・第1ステージブートローダーはMBRにある小規模なマシンコードバイナリ。
その唯一のジョブは、第2ステージブートローダー(GRUB)を検索して、メモリーに最初の部分をロードすること。
・BIOSはMBRにあるプログラムをメモリーにロードし、それ以降の処理をブートローダーに任せる。
 
●第1ステージブートローダーの動作概要
 
①パーティションテーブルを4つのテーブルエントリーの先頭から検査し、起動フラグが立っている基本領域(アクティブなパーティション)がないか探す。
②起動フラグが立っている基本領域が見つかったらその領域の先頭位置をパーティションテーブルから取得する。
③BIOSにその位置を示してメモリにロードしてもらい制御を渡す。
 
●パーティションテーブル
 
・パーティションに関する情報を記録している。
・4つのエントリがあり1つあたり16バイト。
・各エントリにはそのパーティションの位置情報、種類、起動フラグが記録されている。
GRUB(GNU GRand Unified Boot loader)の概要
・システム起動時にロードするインストール済みのOSまたはカーネルを選択できるプログラム。
 
・GRUBは、GRUBメニューとコマンド環境を表示する。
 このインターフェースにより起動するカーネルやOSを選択することができ、カーネルに引数を渡したりシステムパラメーターを確認したりすることができる。
 
・GRUBは、ブートするカーネルを決定すると、次に/boot/ディレクトリ内の対応するカーネルバイナリ(/boot/vmlinuz- の形式の名前)を見つける。
 
・GRUBは、OSまたはカーネルの他にも、/boot/sysroot/の内容をメモリーに読み込む。
 GRUBは起動するOSまたはカーネルを決定すると、それをメモリーにロードしてマシンの制御権をそのOSに渡す。
 
・GRUBにはブート時にextパーティションを読み込み、/boot/grub/grub.confといった設定ファイルをロードできるという利点がある。
モバイルバージョンを終了