「Master Boot Record」の版間の差分
4行目: | 4行目: | ||
[[en:Master Boot Record]] |
[[en:Master Boot Record]] |
||
[[es:Master Boot Record]] |
[[es:Master Boot Record]] |
||
+ | [[hu:Master Boot Record]] |
||
[[it:Master Boot Record]] |
[[it:Master Boot Record]] |
||
[[ru:Master Boot Record]] |
[[ru:Master Boot Record]] |
||
− | {{Related articles start |
+ | {{Related articles start}} |
{{Related|Arch ブートプロセス}} |
{{Related|Arch ブートプロセス}} |
||
{{Related|GUID Partition Table}} |
{{Related|GUID Partition Table}} |
2015年8月19日 (水) 21:01時点における版
マスターブートレコード (MBR) はストレージデバイスの最初の 512 バイトのことです。MBR はパーティションではありません; OS のブートローダとストレージデバイスのパーティションテーブルのために予約された領域です。MBR を置き換える比較的新しいものに GUID Partition Table があり、Unified Extensible Firmware Interface の仕様の一部になっています。
ブートプロセス
ブートには複数の段階があります。今日多くの PC は BIOS と呼ばれる、一般にシステムボード上の ROM チップ内にあるファームウェアによってシステムデバイスを初期化します。システムデバイスが初期化されると、BIOS は最初に認識されるストレージデバイス (ハードディスクドライブ、ソリッドステートドライブ、CD/DVD ドライブ、USB ドライブ...) の MBR にあるブートローダか、デバイスの最初のパーティションを読み込みます。それからプログラムを実行します。ブートローダはパーティションテーブルを読み込み、OS のロードを始めます。一般的な GNU/Linux ブートローダには GRUB や Syslinux などがあります。
歴史
MBR は短いアセンブリコード (イニシャルブートローダ – 446 バイト)、4つのプライマリパーティション (それぞれ 16 バイト) を持つパーティションテーブルと標識 (ブートシグニチャ、0xAA55) によって構成されています。
"形式的な" Windows/DOS MBR ブートローダは唯一の active パーティションを持つパーティションテーブルをチェックし、パーティションの X セクタを読み込んでから OS にコントロールを移します。Windows/DOS ブートローダは Linux カーネルをロードできるように設計されていないので、Arch Linux パーティションをブートすることはできません。(GRUB が安全に無視する) active な primary パーティションだけ動作します。
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
(他の OS のフルインストールが必要な時などに) MBR を消去するには最初の 446 バイトだけをゼロで埋めます(その後のデータにはパーティションテーブルが含まれます):
# dd if=/dev/zero of=/dev/sda bs=446 count=1
Windows ブートレコードをリストアする
Windows は慣例として(インストールを楽にするために)初めのパーティションにインストールされ、パーティションの最初のセクタにあるブートローダにパーティションテーブルとリファレンスをインストールします。GRUB などのブートローダを偶然にも Windows のパーティションにインストールしてしまうなど何らかの理由でそのブートレコードを破壊すると、それを修復するためのユーティリティを使う必要があります。Microsoft はブートセクタの修復ユーティリティである FIXBOOT
や FIXMBR
という名前の 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
を見て下さい。
TestDisk MBRCode
公式リポジトリの testdisk は独自の コード を使って (Windows を起動できるようにする) MBR を書き出します。このパッケージはインストールメディアにも含まれています。