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

From ArchWiki
Jump to: navigation, search
Line 9: Line 9:
{{Article summary text|マスターブートレコードの概要; パーティションが作られたデータストレージデバイスの最初のセクタ。}}
{{Article summary text|マスターブートレコードの概要; パーティションが作られたデータストレージデバイスの最初のセクタ。}}
{{Article summary heading|概要}}
{{Article summary heading|概要}}
{{Article summary text|{{Boot process overview}}}}
{{Article summary text|{{Boot process overview (日本語)}}}}
{{Article summary heading|関連項目}}
{{Article summary heading|関連項目}}
{{Article summary wiki|GUID Partition Table}}
{{Article summary wiki|GUID Partition Table}}

Revision as of 16:20, 28 December 2012

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 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 by convention (and for ease of installation) is usually installed on the first partition and installs its partition table and reference to its bootloader to the first sector of that partition. If you accidentally install a bootloader like GRUB to the Windows partition or damage the boot record in some other way, you will need to use a utility to repair it. Microsoft includes an boot sector fix utility FIXBOOT and MBR fix utility called FIXMBR on their recovery CDs or sometimes the install CD. Using this method you can fix the reference on the boot sector of the first partition to the bootloader file and fix the reference on the MBR to the first partition respectively. After doing this you will have to reinstall GRUB to the MBR as is intended to in the first place (the GRUB bootloader can be assigned to load the Windows bootloader when defined to).

If you wish to revert back to using Windows, you can use the FIXBOOT command which chains from the MBR to the boot sector of the first partition to restore you normal automatic loading of the Windows operating system.

Of note, there is a Linux utility called ms-sys (package ms-sysAUR in AUR) that can install MBR's. However this utility is only currently capable of writing new MBR's (all OS's and file systems supported) and boot sectors (a.k.a. boot record i.e. equivalent to using FIXBOOT) for FAT file systems. Most LiveCDs do not have this utility by default so it will need to be installed first, or you can look at a rescue CD that does have it like Parted Magic.

First, write the partition info (table) again by:

ms-sys --partition /dev/sda1

Next write a Windows 2000/XP/2003 MBR:

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

Then write the new boot sector (boot record)

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

ms-sys can also write Windows 98, ME, Vista, and 7 MBRs as well, see ms-sys -h.

See also