y2blog » MacでWin – BootCamp (その2)

10

01

2007

MacでWin – BootCamp (その2)

Windowsをハードディスクから起動させるための条件


EFIのCMS機能によりレガシーなBIOSベースのOSをサポートすることが可能になりましたが、これらのOSをハードディスクから起動できるようにするには、ハードディスクのパーティション構造の違いが問題になります.

ご承知のように、EFI系のシステムでは GUIDパーティション(GPT)形式が用いられており、従来の IBM/PC系のパーティション構造とは大きく異なっています.当然ながらWindowsのようなBIOSベースのOSはGUIDパーティション(GPT)形式には対応できません.そこで、BIOSベースのOSからGUIDベースのハードディスクにアクセスする際に、あたかも従来の IBM/PC系のハードディスク構造であるかのように見せかける必要があります.このための仕組みが Protective MBR と呼ばれる仕組みで、ハードディスクのセクター0をレガシーなBIOSベースのOS用にMBRとして使えるようになっています.

MBR(Master Boot Record)そのものの構造についてはここでは詳しく述べませんが、詳細を知りたければネット上で検索を掛けると直ぐに見つかると思います.Nobusan’s Square : “http://nobumasa-web.hp.infoseek.co.jp/” というサイトに丁寧な記述がありますので、興味のある方はそちらのページをご覧になってください.(リンク切れ)


Windows XPの起動プロセス


MBRの問題に関してはGUIDパーティション側で解決されているので、特に意識しなくても問題は無さそうですが、WindowsのシステムパーティションをGUIDパーティションのどの位置に設けるのかが問題になりそうです.

 

Windowsの起動プロセスを簡単に追ってみましょう.


まず電源ONとともにBIOSが起動し、BIOSに設定されている起動ディスクの MBRを読み込む.MBRにはブートストラップローダーと呼ばれるOSを起動するための簡単なプログラムが記述されており、このブートストラップローダーがMBR上のパーティションテーブルを参照し、アクティブなパーティションを見つけ出す.この後ブートストラップローダーはアクティブパーティション上のブートセクタと呼ばれる領域に書き込まれている別なブートローダー(NTIPL)呼び出し制御を渡す.制御を渡されたNTIPLはさらに別なブートローダ(NTLDR)を呼び出す.NTLDRは”boot.ini”ファイルに記述されたWindows OSの情報を参照して、Windowsの起動を行っている.

このような複雑なプロセスを経てWindowsが起動される訳ですが、Windows用のFAT32/NTFSパーティションを先頭から4つ目以内に作成しておけば、ProtectiveMBR上のパーティションテーブルを通じてレガシーなBIOSベースのOSからでも目的のパーティションにアクセスすることが可能となる筈ですね.

EFIベースのマシンでWindowsなどのレガシーなBIOSベースのOSを動かす場合の問題点がある程度明らかになったので、次回は実際にIntelMac上にWindows XPをインストールして検証してみることにします.

Local Search

Calendar

November 2017
S M T W T F S
« Oct    
 1234
567891011
12131415161718
19202122232425
2627282930  
  • Blogroll

  • Meta