MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


【Linux】MBRの読み込みとは
profile-img
投稿者: YHさん
投稿日:2023/12/29 15:58
更新日:2023/12/29 16:11
like-img
分類
資格 / 技術
テクノロジー
Unix系サーバ
キャリア
運用・保守 / 構築
投稿内容



この記事ではMBR(マスターブートレコード)とは何かを初学者が初学者の方向けに解説します。


MBRの読み込みは、Linuxのブートプロセスでは下記2番目に該当します。

ブートプロセスとはOSの起動順序という意味です。


BIOSの起動

MBRの読み込み        ←ここ!

カーネルの起動

Systemdの起動

 

まず、MBR(マスターブートレコード)とはざっくりいうと、

OSを起動させるために必要なプログラムが入ったハードディスクの中にある特定の場所のことです。

 

具体的には、ハードディスクの先頭セクタにあります。

セクタとは円盤状の記憶媒体における最小の記録単位のことです。

512byteで1セクタといった形ですね。この中にMBRが入っています。

 

要はハードディスクの中に入ってるわけですね。

この特定の場所は、マザーボードの中にあるROM(読み取り専用)の中にあるBIOSさんが起動すると、CPUやストレージ、HDDなどの状態をチェックし問題がなければそのままOSの起動に入ります。

 

そのOSの起動に入るときに必要なプロセスの中にMBR読み込むのです。

MBRには何が具体的に入っているかというと3つだけです。

 

1.ブートローダー

2.パーティションテーブル

3.ブートシグネチャ

 

下図がMBRのイメージ図になります。


ブートローダーは、LinuxではGRUB2というプログラムが使用されています。

このブートローダーがパーティションテーブルといわれる

パーティションの場所や種類を見てそれぞれのパーティションにある本命の

OSを起動していきます。

 

パーティションとはハードディスクの中にある部屋のようなもので

この部屋はこのシステムを起動するためのプログラムが入るための部屋

あの部屋はユーザーが自由にファイル作ったり変更したりいい部屋というのが

指定したByteで区切られているものになります。

 

このパーティションがMBRの中に4個あり、その4つのパーティションに

ブートローダーであるGRUB2がそれぞれのお部屋にお邪魔して

ちょっとOS起動しますねと言って読み込んでいくわけです。

 

そして読み込まれたOSの核に当たる部分がカーネルになっていて

そのカーネルに制御を移す役割になっております。

まとめると

 

BIOSさんがMBRを読み込む。

MBRの中のブートローダー(GRUB2)を読み込む

ブートローダー(GRUB2)がパーティションテーブルを見る

ブートローダー(GRUB2)がそれぞれのパーティションにあるOSを起動する。

カーネルに制御が移っていく。

 

図の下にあるブートシグニチャというのは、このセクタがブートセクタか否かを表しています。

どういうことかというと、先ほどBIOSさんがMBRを読み込みに行くと書きましたが、

このBIOSさんはMBRがどこにあるかわかっていないのでこの、ブートシグニチャがあるかどうかで

このセクタがMBRかどうか判断しています。

つまり、このブートシグニチャがたった1Byte無いだけでOSが起動されないんです。。。

とても大事な役割ですね。

ちなみにこのブートシグニチャが損なわれた際には、TestDiskというソフトウェアを使って復旧できるそうです。

 

どうしてブートローダーがまた別のお部屋にお邪魔してOSを他のパーティションの中にある

OSの起動プログラムを見るという回りくどいやり方をしているかというと、

MBRにあるブートローダーに厳しい容量制限がかけられているからだそうです。

 

以上がMBRの読み込みの仕組みの解説になります。

初学者のため何か間違っていることがありましたら、ご指摘いただけると幸いです。

 

以下は参考にさせていただいたサイト様になります。

 

ブートセクタとは何か - PCと解 (pctrouble.net)

MBR(マスターブートレコード)を解剖する #filesystem - Qiita

GRUBとは - 意味をわかりやすく - IT用語辞典 e-Words

Linuxがブートするまで · Keichi Takahashi




コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3