Difference between revisions of "Master Boot Record (日本語)"

From ArchWiki
Jump to: navigation, search
m
m
Line 11: Line 11:
 
{{Article summary text|{{Boot process overview (日本語)}}}}
 
{{Article summary text|{{Boot process overview (日本語)}}}}
 
{{Article summary heading|関連項目}}
 
{{Article summary heading|関連項目}}
 +
{{Article summary wiki|Partitioning (日本語)}}
 
{{Article summary wiki|GUID Partition Table}}
 
{{Article summary wiki|GUID Partition Table}}
 
{{Article summary wiki|Unified Extensible Firmware Interface (日本語)}}
 
{{Article summary wiki|Unified Extensible Firmware Interface (日本語)}}
Line 16: Line 17:
 
{{Article summary end}}
 
{{Article summary end}}
  
マスターブートレコード (MBR) はストレージデバイスの最初の 512 バイトのことです。MBR はパーティションではありません; OS のブートローダとストレージデバイスのパーティションテーブルのために予約された領域です。MBR を置き換える比較的新しいものに [[GUID Partition Table]] があり、[[Unified Extensible Firmware Interface (日本語)]] の仕様の一部になっています。
+
マスターブートレコード (MBR) はストレージデバイスの最初の 512 バイトのことです。MBR はパーティションではありません; OS のブートローダとストレージデバイスのパーティションテーブルのために予約された領域です。MBR を置き換える比較的新しいものに [[GUID Partition Table]] があり、[[Unified Extensible Firmware Interface (日本語)|Unified Extensible Firmware Interface]] の仕様の一部になっています。
  
 
== ブートプロセス ==
 
== ブートプロセス ==
  
ブートには複数の段階があります。今日多くの PC は [http://en.wikipedia.org/wiki/BIOS BIOS] と呼ばれる、一般にシステムボード上の ROM チップ内にあるファームウェアによってシステムデバイスを初期化します。システムデバイスが初期化されると、BIOS は最初に認識されるストレージデバイス(ハードディスクドライブ、ソリッドステートドライブ、CD/DVD ドライブ、USB ドライブ...)の MBR にあるブートローダか、デバイスの最初のパーティションを読み込みます。それからプログラムを実行します。ブートローダはパーティションテーブルを読み込み、OS のロードを始めます。一般的な GNU/Linux ブートローダには [[GRUB]] や [[Syslinux]] などがあります。
+
ブートには複数の段階があります。今日多くの PC は [[Wikipedia:ja:BIOS|BIOS]] と呼ばれる、一般にシステムボード上の ROM チップ内にあるファームウェアによってシステムデバイスを初期化します。システムデバイスが初期化されると、BIOS は最初に認識されるストレージデバイス (ハードディスクドライブ、ソリッドステートドライブ、CD/DVD ドライブ、USB ドライブ...) の MBR にあるブートローダか、デバイスの最初のパーティションを読み込みます。それからプログラムを実行します。ブートローダはパーティションテーブルを読み込み、OS のロードを始めます。一般的な GNU/Linux ブートローダには [[GRUB (日本語)|GRUB]] や [[Syslinux]] などがあります。
  
 
== 歴史 ==  
 
== 歴史 ==  
  
MBR は短いアセンブリコード(イニシャルブートローダ – 446 バイト)と、4つのプライマリパーティション(それぞれ 16 バイト)を持つパーティションテーブルと''標識'' (ブートシグニチャ、0xAA55) によって構成されています。
+
MBR は短いアセンブリコード (イニシャルブートローダ – 446 バイト) と、4つのプライマリパーティション (それぞれ 16 バイト) を持つパーティションテーブルと''標識'' (ブートシグニチャ、0xAA55) によって構成されています。
  
"形式的な" Windows/DOS MBR ブートローダは唯一の ''active'' パーティションを持つパーティションテーブルをチェックし、パーティションの X セクタを読み込んでから OS にコントロールを移します。Windows/DOS ブートローダは Linux カーネルをロードできるように設計されていないので、Arch Linux パーティションをブートすることは''できません''。(GRUB が安全に無視する) ''active'' ''primary'' なパーティションのためだけに動作します。
+
"形式的な" Windows/DOS MBR ブートローダは唯一の ''active'' パーティションを持つパーティションテーブルをチェックし、パーティションの X セクタを読み込んでから OS にコントロールを移します。Windows/DOS ブートローダは Linux カーネルをロードできるように設計されていないので、Arch Linux パーティションをブートすることは''できません''。(GRUB が安全に無視する) ''active'' ''primary'' パーティションだけ動作します。
  
[[GRUB|GRand Unified Bootloader (GRUB)]] は GNU/Linux のデファクトスタンダードであるブートローダであり、ユーザーは MBR に GRUB をインストールして''全ての''パーティション(プライマリパーティションか論理パーティション)からブートできるようにすることが推奨されます。
+
[[GRUB (日本語)|GRand Unified Bootloader (GRUB)]] は GNU/Linux のデファクトスタンダードであるブートローダであり、ユーザーは MBR に GRUB をインストールして''全ての''パーティション(プライマリパーティションか論理パーティション)からブートできるようにすることが推奨されます。
  
 
== バックアップとリストア ==
 
== バックアップとリストア ==
Line 42: Line 43:
 
  dd if=/path/mbr-backup of=/dev/sda bs=512 count=1
 
  dd if=/path/mbr-backup of=/dev/sda bs=512 count=1
  
{{Warning|間違ったパーティションテーブルで MBR をリストアすると、あなたのデータが読み込めなくなりほとんど修復できなくなります。ブートローダを再インストールするだけならば [[GRUB]] や [[Syslinux]] を見て下さい。}}
+
{{Warning|間違ったパーティションテーブルで MBR をリストアすると、あなたのデータが読み込めなくなりほとんど修復できなくなります。ブートローダを再インストールするだけならば [[GRUB (日本語)|GRUB]] や [[Syslinux]] を見て下さい。}}
  
(他の OS のフルインストールが必要な時などに)MBR を消去するには最初の 446 ビットだけをゼロで埋めます(その後のデータにはパーティションテーブルが含まれます):
+
(他の OS のフルインストールが必要な時などに) MBR を消去するには最初の 446 バイトだけをゼロで埋めます(その後のデータにはパーティションテーブルが含まれます):
  
 
  dd if=/dev/zero of=/dev/sda bs=446 count=1
 
  dd if=/dev/zero of=/dev/sda bs=446 count=1
Line 50: Line 51:
 
== Windows ブートレコードをリストアする ==
 
== Windows ブートレコードをリストアする ==
  
Windows は慣例として(インストールを楽にするために)初めのパーティションにインストールされ、パーティションの最初のセクタにあるブートローダにパーティションテーブルとリファレンスをインストールします。GRUB などのブートローダを偶然にも Windows のパーティションにインストールしてしまうなど何らかの理由でそのブートレコードを破壊すると、それを修復するためのユーティリティを使う必要があります。Microsoft はブートセクタの修復ユーティリティである {{Ic|FIXBOOT}} や {{Ic|FIXMBR}}という名前の MBR の修復ユーティリティを彼らのリカバリ CDに(時にはインストール CD にも)入れています。これを使えば最初のパーティションのブートセクタにあるリファレンスと最初のパーティションの MBR にあるリファレンスを修復できます。その後 MBR に [[GRUB#Bootloader installation|GRUB を再インストール]]する必要があります(GRUB ブートローダに Windows ブートローダをロードさせることができます)。
+
Windows は慣例として(インストールを楽にするために)初めのパーティションにインストールされ、パーティションの最初のセクタにあるブートローダにパーティションテーブルとリファレンスをインストールします。GRUB などのブートローダを偶然にも Windows のパーティションにインストールしてしまうなど何らかの理由でそのブートレコードを破壊すると、それを修復するためのユーティリティを使う必要があります。Microsoft はブートセクタの修復ユーティリティである {{Ic|FIXBOOT}} や {{Ic|FIXMBR}}という名前の MBR の修復ユーティリティを彼らのリカバリ CD に (時にはインストール CD にも) 入れています。これを使えば最初のパーティションのブートセクタにあるリファレンスと最初のパーティションの MBR にあるリファレンスを修復できます。その後 MBR に [[GRUB (日本語)#インストール|GRUB を再インストール]]する必要があります (GRUB ブートローダに Windows ブートローダをロードさせることができます)。
  
 
もし Windows だけを使うように戻したいならば、{{Ic|FIXBOOT}} コマンドを使って MBR とパーティションのブートセクタに鎖をかけて、自動で Windows OS がロードするように戻すことができます。
 
もし Windows だけを使うように戻したいならば、{{Ic|FIXBOOT}} コマンドを使って MBR とパーティションのブートセクタに鎖をかけて、自動で Windows OS がロードするように戻すことができます。
  
また、{{Ic|ms-sys}} という名の Linux ユーティリティ (AUR の {{AUR|ms-sys}} パッケージ)で MBR をインストールすることができます。しかしながらこのユーティリティは今のところ新しい MBR (全ての OS とファイルシステムがサポート) とブートセクタ (別名ブートレコード、すなわち {{Ic|FIXBOOT}} と同じ機能) を FAT ファイルシステムでしか書き出せません。ほとんどの LiveCD にはこのユーティリティはデフォルトでは入っていませんので、まず LiveCD にインストールするか、[http://partedmagic.com/ Parted Magic] などのレスキュー CD を使う必要があります。
+
また、{{Ic|ms-sys}} という名の Linux ユーティリティ (AUR の {{AUR|ms-sys}} パッケージ) で MBR をインストールすることができます。しかしながらこのユーティリティは今のところ新しい MBR (全ての OS とファイルシステムがサポート) とブートセクタ (別名ブートレコード、つまり {{Ic|FIXBOOT}} と同じ機能) を FAT ファイルシステムでしか書き出せません。ほとんどの LiveCD にはこのユーティリティはデフォルトでは入っていませんので、まず LiveCD にインストールするか、[http://partedmagic.com/ Parted Magic] などのレスキュー CD を使う必要があります。
  
 
まず、パーティション情報(テーブル)をもう一度書き出します:
 
まず、パーティション情報(テーブル)をもう一度書き出します:
Line 70: Line 71:
 
また、{{Ic|ms-sys}} は Windows 98, ME, Vista, 7 の MBR を書き込むことができます、{{Ic|ms-sys -h}} を見て下さい。
 
また、{{Ic|ms-sys}} は Windows 98, ME, Vista, 7 の MBR を書き込むことができます、{{Ic|ms-sys -h}} を見て下さい。
  
==See also==
+
==参照==
  
 
* [http://kb.iu.edu/data/aijw.html What is a Master Boot Record (MBR)?]
 
* [http://kb.iu.edu/data/aijw.html What is a Master Boot Record (MBR)?]

Revision as of 15:20, 2 September 2013

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end

マスターブートレコード (MBR) はストレージデバイスの最初の 512 バイトのことです。MBR はパーティションではありません; OS のブートローダとストレージデバイスのパーティションテーブルのために予約された領域です。MBR を置き換える比較的新しいものに GUID Partition Table があり、Unified Extensible Firmware Interface の仕様の一部になっています。

ブートプロセス

ブートには複数の段階があります。今日多くの PC は BIOS と呼ばれる、一般にシステムボード上の ROM チップ内にあるファームウェアによってシステムデバイスを初期化します。システムデバイスが初期化されると、BIOS は最初に認識されるストレージデバイス (ハードディスクドライブ、ソリッドステートドライブ、CD/DVD ドライブ、USB ドライブ...) の MBR にあるブートローダか、デバイスの最初のパーティションを読み込みます。それからプログラムを実行します。ブートローダはパーティションテーブルを読み込み、OS のロードを始めます。一般的な GNU/Linux ブートローダには GRUBSyslinux などがあります。

歴史

MBR は短いアセンブリコード (イニシャルブートローダ – 446 バイト) と、4つのプライマリパーティション (それぞれ 16 バイト) を持つパーティションテーブルと標識 (ブートシグニチャ、0xAA55) によって構成されています。

"形式的な" Windows/DOS MBR ブートローダは唯一の active パーティションを持つパーティションテーブルをチェックし、パーティションの X セクタを読み込んでから OS にコントロールを移します。Windows/DOS ブートローダは Linux カーネルをロードできるように設計されていないので、Arch Linux パーティションをブートすることはできません。(GRUB が安全に無視する) activeprimary パーティションだけ動作します。

GRand Unified Bootloader (GRUB) は GNU/Linux のデファクトスタンダードであるブートローダであり、ユーザーは MBR に GRUB をインストールして全てのパーティション(プライマリパーティションか論理パーティション)からブートできるようにすることが推奨されます。

バックアップとリストア

MBR はディスクにあるため、バックアップとリカバリができます。

MBR をバックアップするには:

dd if=/dev/sda of=/path/mbr-backup bs=512 count=1

MBR をリストアするには:

dd if=/path/mbr-backup of=/dev/sda bs=512 count=1
Warning: 間違ったパーティションテーブルで MBR をリストアすると、あなたのデータが読み込めなくなりほとんど修復できなくなります。ブートローダを再インストールするだけならば GRUBSyslinux を見て下さい。

(他の OS のフルインストールが必要な時などに) MBR を消去するには最初の 446 バイトだけをゼロで埋めます(その後のデータにはパーティションテーブルが含まれます):

dd if=/dev/zero of=/dev/sda bs=446 count=1

Windows ブートレコードをリストアする

Windows は慣例として(インストールを楽にするために)初めのパーティションにインストールされ、パーティションの最初のセクタにあるブートローダにパーティションテーブルとリファレンスをインストールします。GRUB などのブートローダを偶然にも Windows のパーティションにインストールしてしまうなど何らかの理由でそのブートレコードを破壊すると、それを修復するためのユーティリティを使う必要があります。Microsoft はブートセクタの修復ユーティリティである FIXBOOTFIXMBRという名前の MBR の修復ユーティリティを彼らのリカバリ CD に (時にはインストール CD にも) 入れています。これを使えば最初のパーティションのブートセクタにあるリファレンスと最初のパーティションの MBR にあるリファレンスを修復できます。その後 MBR に GRUB を再インストールする必要があります (GRUB ブートローダに Windows ブートローダをロードさせることができます)。

もし Windows だけを使うように戻したいならば、FIXBOOT コマンドを使って MBR とパーティションのブートセクタに鎖をかけて、自動で Windows OS がロードするように戻すことができます。

また、ms-sys という名の Linux ユーティリティ (AUR の ms-sysAUR パッケージ) で MBR をインストールすることができます。しかしながらこのユーティリティは今のところ新しい MBR (全ての OS とファイルシステムがサポート) とブートセクタ (別名ブートレコード、つまり FIXBOOT と同じ機能) を FAT ファイルシステムでしか書き出せません。ほとんどの LiveCD にはこのユーティリティはデフォルトでは入っていませんので、まず LiveCD にインストールするか、Parted Magic などのレスキュー CD を使う必要があります。

まず、パーティション情報(テーブル)をもう一度書き出します:

ms-sys --partition /dev/sda1

次に Windows 2000/XP/2003 MBR を書き込みます:

ms-sys --mbr /dev/sda  # Read options for different versions

それから新しいブートセクタ(ブートレコード)を書き込みます:

ms-sys -(1-6)          # Read options to discover the correct FAT record type

また、ms-sys は Windows 98, ME, Vista, 7 の MBR を書き込むことができます、ms-sys -h を見て下さい。

参照