質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

アーキテクチャ

アーキテクチャとは、情報システム(ハードウェア、OS、アプリケーション、ネットワーク等)の設計方法、設計思想、設計思想に基づいて構築されたシステム構造をアーキテクチャと呼びます

Q&A

解決済

1回答

3768閲覧

MBR と GPTの違いについて教えてください。

strike1217

総合スコア651

OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

アーキテクチャ

アーキテクチャとは、情報システム(ハードウェア、OS、アプリケーション、ネットワーク等)の設計方法、設計思想、設計思想に基づいて構築されたシステム構造をアーキテクチャと呼びます

0グッド

0クリップ

投稿2017/04/05 05:36

編集2017/04/05 05:37

以下のサイトを参考にしました。
GPTとMBRはどのように違うのか?

MBRのレイアウトです

オフセットサイズ内容
0x000446byteブートストラップローダ
0x1be64byteパーティーションテーブル(4エントリ)
0x1fe2byteブートシグニチャ(0xaa55

以下がGPTの画像です。
イメージ説明

#GPTとMBRの違いがよくわかりません。
1, 変更点はMBRに新しいパーティションテーブルを付け加えたということだけでしょうか??
つまりハイブリッドということですか?

2, GPTの先頭にMBRが入っていますが、これは、**「GPTを使用するディスクにもMBRが存在するのは、MBRを前提としたディスクユーティリティを利用した場合の事故の防止のため(誤って何も中身がないと判断されないため)である。」**とwikiに書いてありました。つまり先頭のMBRはなくても起動はできるということですよね?

3, 2が正しい場合、GPTの画像を見ると、ブートストラップローダとブートシグニチャが書いてありませんが・・・・
これは、どこに存在するのでしょうか?

4, GRUBなどのブートローダとはMBRでいうところの、0x000 446byte ブートストラップローダ の部分のプログラムという理解で正しいでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

その1:GPTのディスクについているMBRデータは、基本的にはMBRしか理解できないツールで「未フォーマットのディスク」と間違われないようにするために入れてあるだけのダミーです(ハイブリッドにできなくもないですが、MBRの側に2.2TBの壁があるなどの事情もあって、あまり一般的とはいえません)。

その2:純粋にGPTになってしまえば理屈の上では不要ですが、「その1」で述べたような安全策として取ってある、ということです(テラバイトの世界に入るディスクに対して、たった512バイトの話です)。実際にこのMBRを破壊しても正常なディスクとして認識されるかは、よくわかりません。これ以降に述べるように、ブートとも全く関係しません。

その3:GPTからOSを起動させるためには、BIOSでなくてUEFIの仕組みを使うことになります。そして、提示いただいた文章の続きに書いてありますが、

UEFIはブートストラップローダとパーティションのブートフラグを用いるBIOSのブート方式を踏襲していません。

UEFIでは、ブート対象のHDDのGPTを参照し、EFI System partition(GUID:C12A7328-F81F-11D2-BA4B-00A0C93EC93B)を探して \EFI\BOOT\BOOTX64.EFI(32bit環境ならBOOTIA32.EFI)というファイル名で保存されているブートローダを実行します(ファイル名はUEFIの設定により変更できます。これについては後日改めて記事にします)。

その4:MBRは446バイトという過酷な制限があるため、直接OSをロードすることができず、GRUBなどのローダを呼び出して、そこからOSを起動することとなりますが、UEFIからブートするプログラムには容量の制限がないので、直接GRUBを起動できます(もっと言えば、UEFIに合わせてビルドすれば、直接Linuxカーネルを起動することすらできてしまうとのことです)。

投稿2017/04/05 07:36

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

strike1217

2017/04/05 07:57

BIOS : ブートローダ起動→テーブルの参照 UEFI : テーブルを参照→ブートローダの起動 ということで大丈夫ですか? その2は、MBRを取り除いて正常に動作するかは不明なのですね!
strike1217

2017/04/05 08:00

BIOS : ブートローダ → kernel UEFI : ブートローダ → kernel (こちらは、直接OSの起動も可能) ということですね!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問