y2blog » Mac EFI環境下でのWindowsのインストール

3

31

2013

Mac EFI環境下でのWindowsのインストール

UEFI対応の64bit版WindowsをMacにインストールしてみた


EFIについてのおさらい


最近のMacintoshのハードウェアはEFI対応になっており、Mac OS X の世界ではIntelチップ以降のMacintoshは全てEFI仕様で作られている.EFIのオプション機能としてレガシーなBIOSにしか対応していない古いOSをサポートするための互換機能があり、Appleが提供するBootCamp方式* によるWindows OS のサポートはこの互換機能を利用している.


(BootCamp 方式: ここではEFIの互換機能を用いて従来のMBR方式でOSを起動する方式を総称して”BootCamp方式”と呼ぶことにする.Appleが提供している “BootCamp Assistant” ツールは単なるパーティショニングとWindowsインストール環境をアシストするためのツールで、このツールがなくても自分でパーティション分割を行って WindowsやLinuxをインストールすることができる.)  

Macintosh(Intel)の起動可能なディスクドライブのパーティション構造はEFIの標準パーティションであるGPT(GUID Partition Table)方式なのだが、Appleは”BootCamp”を発表した際にちょっとした工夫を加えてレガシーなWindows OSを Mac OS X と併存できる仕組みを導入した.この辺の仕組みは “BootCamp” が発表された当時の記事にまとめてあるので、こちらの記事を参考にして欲しい.

・「MacでWin – BootCamp (その1)」 ・「MacでWin – BootCamp (その2)」 ・「MacでWin – BootCamp (その3)」 ・「MacでWin – BootCamp (その4)」 ・「MacでWin – BootCamp (その5)

この記事を書いたときから大部時間が経過しているので、現在の状況とは一部異なる(当時のMacintoshは32bitのEFI環境しかなかった)部分があるが、基本的な仕組みは現在の64bit UEFI環境と変わっていないだろう(多分).


64bit版WindowsでのUEFI対応について


Vista以降の64bit版のWindows は全てUEFI x64マシンに対応しており、純粋にUEFI環境下で問題無くWindowsをインストールし、動作させることが可能な筈だ.私はもう何年もDOS/V系の自作PCから遠ざかっており、UEFI対応のマザーボードを持ち合わせていないので実際に実用的にUEFI環境下でWindowsが使えるかどうかは良く分からない.


Windows系サーバOSは別として、クライアント用のWindowsをUEFI環境下で動かしているコアな人達がどの程度居るのかは皆目不明だが、少なくとも最近のマザーボードやHPなどのビジネス用のノートPCではUEFIに対応しているようだ.


64bit版Windowsを Macintosh にインストールする場合、Macintosh側とWindows側の双方のレガシーMBR互換機能が仇となり、純粋にUEFI環境下のネイティブOSとして機能させることは難しい.折角UEFIという従来のBIOSレガシー環境から脱却出来るはずが、レガシーサポート機能によって最新の機能を利用できないという皮肉な状況になっている.

Win7 Error MSG
GPT形式できちんとフォーマットされているにも拘わらず “GPTではない” とおっしゃる困ったインストーラ

特にWindowsのインストーラは困り物で、ディスクドライブ上に有効なMBRエントリが有る場合、そのディスクドライブがGPTできちんとフォーマットされているにも拘わらず、GPT形式ではないとみなしてインストール作業を拒否してしまう.先ずはGPTのエントリを調べてから、その後でMBRをチェックするのが真っ当なインストーラのチェック手順だと思うが、Microsoftは64bit Windowsでも UEFI は異端児扱いだ.


2.2TB以下のHDDの場合はMBR形式として扱えばWindowsのインストールは可能で有るが、この場合は従来のMBR方式の制限を引きずってのWindowsの運用となってしまう.先日Appleが対応した2.2TB越えのHDDドライブで “BootCamp Assistant” がWindowsをインストールできるようにしたのは、単にHDDのパーティションの構成を工夫してWindowsのインストーラを騙しているだけで、実態は従来のMBR互換機能によるレガシーWindows環境であることに変わりは無い.

Macintoshを純粋にUEFIマシンとしてWindowsをインストールしてみた


 

Windowsをインストールする際に先ず確認しておかなければならないことがある.それは64bit版のWindowsのインストールは2種類の方法を使い分ける必要があり、従来のMBR方式によるインストールモードとUEFI環境でのインストールモードとで最初に起動するブートローダが異なることである.


Macintoshでは起動時に”Option” キーを押し続けることで起動OSを切り替えることができるが、EFIモードでインストールするには “EFI Boot” 側のアイコンを選べば良い.MBRモードの場合は “Windows” を選ぶ.


この方法は最新の “Windows 8” では有効だったが、Windows 7 では一番新しい SP1版を用いてもインストーラのEFI起動はできなかった.恐らくWindows 7 のEFIブートローダプログラムがMacintoshのEFI環境に対応できていないのだろう.試しに Windows 8 のEFIブートローダ部分だけを無理矢理Windows 7のインストーラUSBメモリに組み込んで見たが、上手くWindows 7のEFIモードのインストーラを起動させることはできなかった.現状では Windows 8 しかEFIブートできないようだ.


Windows 7 のEFIブートローダがMacintoshのブートセレクタの画面上に現れたり現れたりしなかったりする現象に悩まされたが、どうやら Windows 7 では最初に検出されたドライブ(”/dev/disk0″)にMBRが含まれているとEFIブートローダが表示されないようだ.今回テストに用いたマシンはFusion Drive構成のため、再起動や電源ON時に内蔵SSD, 内蔵HDDのどちらが先に起動準備が整うかで、ディスクドライブの割り当てが “/dev/disk0”, “/dev/disk1” のどちらかに割り振られていた.尚、Windows 8 の場合はMBRの存在如何に関わらず常に EFIブートローダが表示されるようだ.

Win8 DVD Contents
Windows 8 JP Enterprise版のDVDのEFIブートローダプログラム

Mac Original Boot Selector
起動時に “Option” キーを押し続けてブートセレクタを呼び出す(”EFI Boot” を選ぶと EFIモードでインストール)
EFI Install Initial Screen
EFIインストールモード時の画面は高解像度で表示される
MBR Install Mode
MBRインストールモード時の画面は従来のVGA解像度で表示される

 


無事 Windows 8のEFIモードのインストーラが起動でき、インストール作業が順調に進むかと思いきや、EFIモードでは “MBRが含まれているのでインストールできない” と連れないメッセージとともにまたもやインストールが拒否されてしまった.OS X の “DiskUtility” で予めFAT32パーティションを作成してあったので、疑似MBR(”Hybrid MBR”と呼んだ方が良いかも)エントリが含まれていたようだ. 純粋に HFS+パーティション だけでパーティショニングしておけば大丈夫そうだが、MBRレコードのパーティションテーブルのエントリが一つだけの所謂 “Protective MBR” でなければいけないようだ.


MBR Detection Error
有効なMBRエントリが存在するとEFIモードにも拘わらずインストールできない



有効なGPT形式の状態を保持するには、最初のパーティションテーブルのエントリを書き換えて、ディスク全体を保護するようにセクタの数値を書き換え、2〜3番目のエントリを消去すれば有効な”protective MBR”セクタになるのだが、計算が面倒なので全部ゼロで埋めてディスク全体を無効化してしまうことにした.
無効化するのは簡単で、ddコマンドで次の様にセクタ#0をゼロで埋めれば良い.


Windows 8 のEFIインストール


今回は3TB HDD側にWindowsのインストーラで64GB程度をWindows 8用に確保し、その後に残りの領域をNTFSの1つのボリュームを作成した後、Mac OS X 側で”Diskutil”コマンドを用いてこのボリュームをMac OS X用のパーティションに分割した.Windows 8 のインストール後に、Mac OS X をリストアすることでWindows 8(EFIモード)とMac OS X とのマルチブート構成を採ることができる.


Windows 8 インストールの様子を撮り忘れたので画像は省略するが、通常のDOS/V機のインストール作業と何ら変わることはない.



Win8 EFIモード
一応Windows 8をEFIモードで動かすことが可能になった

 

以上で Mac OS X と Windows 8(EFIモード)のマルチブート構成は完成したが、rEFItをブートセレクタとして利用する場合は Windows 8 が作成した実態の良く分からない複数のパーティションが見えてしまうので、可能ならこれらの隠しパーティションはrEFItのブートセレクト画面からは見えなくしたいところだ.尚、Macintoshの標準のブートセレクタ画面からはこれらの隠しパーティションは見えない.


現状では Windows 8 の64bit版しかこの方法が使えないが、Windows 7のEFIモードのインストーラを何とかMacintoshで起動できるようにすれば同じようにWindows 7でも同じ事が出来るはずだ.


Windows 8 はとても使う気になれないので、この実験が終わった段階で速攻でWindows 7をMBRモードでインストール(BootCamp方式)しなおした.結局UEFIもメジャーになることなくこのままPCの衰退と共に消え去っていくことだろう.

Local Search

Calendar

August 2017
S M T W T F S
« Jul    
 12345
6789101112
13141516171819
20212223242526
2728293031  
  • Blogroll

  • Meta