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

From ArchWiki
Jump to: navigation, search
m
m
Line 20: Line 20:
 
== ブートプロセス ==
 
== ブートプロセス ==
  
ブートには複数の段階があります。今日多くの PC は [http://en.wikipedia.org/wiki/BIOS BIOS] と呼ばれる、一般にシステムボード上の ROM チップ内のファームウェアによってシステムデバイスを初期化します。システムデバイスが初期化されると、BIOS は最初に認識されるストレージデバイス(ハードディスクドライブ、ソリッドステートドライブ、CD/DVD ドライブ、USB ドライブ...)の MBR にあるブートローダか、デバイスの最初のパーティションを読み込みます。それからプログラムを実行します。ブートローダはパーティションテーブルを読み込み、OS のロードを始めます。一般的な GNU/Linux ブートローダには [[GRUB]] や [[Syslinux]] などがあります。
+
ブートには複数の段階があります。今日多くの PC は [http://en.wikipedia.org/wiki/BIOS BIOS] と呼ばれる、一般にシステムボード上の ROM チップ内にあるファームウェアによってシステムデバイスを初期化します。システムデバイスが初期化されると、BIOS は最初に認識されるストレージデバイス(ハードディスクドライブ、ソリッドステートドライブ、CD/DVD ドライブ、USB ドライブ...)の MBR にあるブートローダか、デバイスの最初のパーティションを読み込みます。それからプログラムを実行します。ブートローダはパーティションテーブルを読み込み、OS のロードを始めます。一般的な GNU/Linux ブートローダには [[GRUB]] や [[Syslinux]] などがあります。
  
 
== 歴史 ==  
 
== 歴史 ==  
Line 50: Line 50:
 
== Windows ブートレコードをリストアする ==
 
== 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 {{Ic|FIXBOOT}} and MBR fix utility called {{Ic|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 [[GRUB#Bootloader installation|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).
+
Windows は慣例として(インストールを楽にするために)初めのパーティションにインストールされ、パーティションの最初のセクタにあるブートローダにパーティションテーブルとリファレンスをインストールします。GRUB などのブートローダを偶然にも Windows のパーティションにインストールしてしまうなど何らかの理由でそのブートレコードを破壊すると、それを修復するためのユーティリティを使う必要があります。Microsoft はブートセクタの修復ユーティリティである {{Ic|FIXBOOT}} {{Ic|FIXMBR}}という名前の MBR の修復ユーティリティを彼らのリカバリ CDに(時にはインストール CD にも)入れています。これを使えば最初のパーティションのブートセクタにあるリファレンスと最初のパーティションの MBR にあるリファレンスを修復できます。その後 MBR [[GRUB#Bootloader installation|GRUB を再インストール]]する必要があります(GRUB ブートローダに Windows ブートローダをロードさせることができます)。
  
If you wish to revert back to using Windows, you can use the {{Ic|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.
+
もし Windows だけを使うように戻したいならば、{{Ic|FIXBOOT}} コマンドを使って MBR とパーティションのブートセクタに鎖をかけて、自動で Windows OS がロードするように戻すことができます。
  
Of note, there is a Linux utility called {{Ic|ms-sys}} (package {{AUR|ms-sys}} 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 {{Ic|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 [http://partedmagic.com/ Parted Magic].
+
また、{{Ic|ms-sys}} という名の Linux ユーティリティ (AUR の {{AUR|ms-sys}} パッケージ)MBR をインストールすることができます。しかしながらこのユーティリティは今のところ新しい MBR (全ての OS とファイルシステムがサポート) とブートセクタ (別名ブートレコード、すなわち {{Ic|FIXBOOT}} と同じ機能) FAT ファイルシステムでしか書き出せません。ほとんどの LiveCD にはこのユーティリティはデフォルトでは入っていませんので、まず LiveCD にインストールするか、[http://partedmagic.com/ Parted Magic] などのレスキュー CD を使う必要があります。
  
First, write the partition info (table) again by:
+
まず、パーティション情報(テーブル)をもう一度書き出します:
  
 
  ms-sys --partition /dev/sda1
 
  ms-sys --partition /dev/sda1
  
Next write a Windows 2000/XP/2003 MBR:
+
次に Windows 2000/XP/2003 MBR を書き込みます:
  
 
  ms-sys --mbr /dev/sda  # Read options for different versions
 
  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 -(1-6)          # Read options to discover the correct FAT record type
  
{{Ic|ms-sys}} can also write Windows 98, ME, Vista, and 7 MBRs as well, see {{Ic|ms-sys -h}}.
+
また、{{Ic|ms-sys}} Windows 98, ME, Vista, 7 の MBR を書き込むことができます、{{Ic|ms-sys -h}} を見て下さい。
  
 
==See also==
 
==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 16:46, 28 December 2012

概括 help replacing me
マスターブートレコードの概要; パーティションが作られたデータストレージデバイスの最初のセクタ。
概要
Template:Boot process overview (日本語)
関連項目
GUID Partition Table
Unified Extensible Firmware Interface
Arch Boot Process

マスターブートレコード (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 を見て下さい。

See also