BootCampについて

1. ブートの仕組み

 Intel Macにおけるブートの仕組みは下記の通りである。

① 電源投入するとブートROMによるPOST処理後、システムファームウエアのEFI(Extensible Firmware Interface)がGPTパーティションのHFS+ファイルシステムにアクセスする。

② EFIはボリュームヘッダのFinderInfoを読み取り、blessされたディレクトリのCINDを取得し、カタログノードを検索、blessされたディレクトリに格納されたファイルタイプがtbxiというマシン起動に利用するブートローダboot.efiを読み取り実行する。その後、カーネル(march_kernel)やデバイスドライバをロードし、OSを立ち上げる。


また、ハードウエアを最下層とし、アプリケーション層を最上層として眺めると各階層は下図の通り分けられる。

■ Boot Campの提供

 ブートROM以外は全くPCと同一になったIntel Macでは、Windows XPが動作するのではないかと熱心なユーザにより検証がされ、OS側のファイルを一部改竄する方法で起動が確立された。しかしながら、EFIのフレームワークには、EFI未対応のOSを動作可能にするCSM(Compatibility Support Module)という機構が用意されており、アップルはEFIへのBIOS互換機能の追加という形でWindowsを動作させる機能を提供した。これが、0SX 10.5で正式機能となったBoot Campである。

 更に、同時に提供されたBoot Campアシスタントでは、OSXとWindowsのマルチブートを提供する為に、HFS+のジャーナル機能でディスク領域を動的に変更し、FAT32領域を確保するだけでなく、ディスクの先頭セクタにマスターブートレコード(MBR)互換のデータを書き込む。

 この時書き込まれるデータは合計512byteで、内訳は下図の通り、ブートストラップローダ(446byte)、起動可能なパーティションのアドレスを示すパーティションテーブルエントリ(16byte)x4、Boot Signatureの2byte(MBRが有効であることを示すMagic Numberで0xAA55)である。


 なお、Windows XPはMBRパーティションからしか起動することができない。その為、Boot Campアシスタントが、GPTパーティションとしてフォーマットしたディスクの先頭にMBR互換レコードを書き込むことは非常に重要である。

① Windowsの起動は、EFIが提供するブートセレクタを呼び出して指定するか、起動ディスクユーティリティでWindowsを指定する。Windowsが指定されると、EFI内ではBIOS互換部分に処理が移り、ディスク先頭に書き込まれたMBRのブートスラップローダを実行する。

②' ブートストラップローダは、後続のパーティションテーブルの1〜4を検索し、起動可能な領域(1つに限られる)があれば、その領域の先頭位置をテーブルから取得し、BIOSにその位置を知らせて、メモリにロードし、ロードした先頭セクタ(ブートセクタ/パーティションブートレコード)に制御を移す。ブートセクタに書き込まれたイニシャルプログラムローダは、ブートファイル群のntldrを起動し、boot.iniに記載された該当フォルダのカーネル(ntoskrnl.exe)をロードし、OSを立ち上げる。
(追記. 2009/10/25 上記はXPまでのプロセスでVista以降はWinloadがカーネルを起動)


■結論

 Boot Campの正体は、EFIに追加されたBIOS互換機能のことで、現在発売されているIntel Macならハードウエアとして最初から持っている機能である。

 Boot Campアシスタントは、FAT32領域の動的確保と、MBRパーティションからしか起動できないWindows XP以前のOSとのマルチブートを実現する仕組みでしかない。また、Boot Campインストーラは単なるドライバ及びユーティリティ集でしかなく、OSXとのマルチブートが不要の場合、どちらも必須ではない。

 従って、OSXのメディアや別のディスクにインストールしたOSXから起動し、ディスクユーティリティで該当ディスクをMBRパーティションとしてフォーマットすれば、単なるIntel PCとしてWindowsをインストールできる。ただし、この場合、MBRパーティションでフォーマットされたディスクにはOSXをインストールすることはできない。

 また、Apple Remote ReceiverなどApple純正のハードウエアを除けば、各ベンダからドライバを入手できる為、Boot Campでドライバを用意していないOSも動作する。

 つまり、MacがIntel PCと異なることを主張しているのは、EFIと独自の外観(筐体)のみであると言える。




2. BootCampサポート外のOS

2.1 Windows 7 製品版(RTM)

 2009/8/6に開発者向けにWindows 7の製品版(Release To Manufacturfing:RTM)がMSDNおよびTechNet Plusからダウンロード可能になった。日本語版(ローカライズ版)は8/15からダウンロード可能になる予定である 。公開予定が早まり、8/12 7:00からダウンロード可能になった。

 早速、英語版の64bit Ulimateエディション及び日本語ランゲージパックを入手したのでMac miniにインストールした。

 ただし、ダウンロードできるものは英語版のため、日本語化する為には、インストール後にランゲージパックを追加する必要がある。ローカルパックは日本語用のテーマなどで言語リソースファイルでは無いため、日本語化には不要である。

 通常は英語でインストールを行い、日本語の言語パックを導入し日本語化するのだが、今回は、英語版のディスクイメージに、日本語ランゲージパックのlp.cabをWAIKのdismを使用して統合し、あらかじめ日本語リソースが含まれるイメージを使用して、インストールを行った。 


 なお、WindowsはMUIという形でWindows XPから多言語対応(I18N)しており、MUI英語環境に日本語リソースを追加することで英語版Windowsで日本語を扱えるようになっている。OSXは最初から多言語対応しているのは言うまでもない。

  • インストール直後(基本的なドライバは含まれている)

 基本的なドライバはOSに含まれており、NVIDIAのサイトからnForceドライバと最新のグラフィックスドライバ、Realtekからオーディオドライバのみダウンロードし、インストールした。

<インストールしたドライバ>
1. nVIDIA
  • nForce Driver 15.35(nForce Driverにグラフィックスドライバも含まれるが185.85と世代が古い)
  • GeForce/ION Driver Release 190.03
2. Realtek
  • High Definition Audio Codecs Vista, Windows7 Driver (32/64 bits) Driver R2.29
■ドライバインストール後(HDCPはXPでは非対応だが、7/Vistaでは対応)

■結論

 各種ベンチマークやエクスペリエンスを取得したが、SSD化しているとは言え、Vistaよりも軽くなっていることは実感できる。

 現時点で既にBoot Camp更新を待つ必要がなく、Windows 7を使用できると言える。Boot Camp Managerについても、BootCamp64.msiのファイル内のLaunch Conditionを削除すれば導入することができ、問題なく動作した。

 Vistaの改良版リリースである為、βやRC版の頃からそうであったが、動作については極めて安定している。

 また、EFIファームウエアアップデート1.2を実行した後は、メモリを8GB搭載しても安定動作をした。

2.2 Windows 7のサポート(2009/12/14)

 Boot Camp および Windows 7 に関してでBoot CampのアップグレードとWindows7のサポートが告知されているが、iMac、Mac Book Pro、Mac Proの一部の機種がサポート対象外となっている(2009年年末までにアップデート予定)。


最終更新日: 26 10月, 2009
記事: HT3920
アップルは、年末までに Mac OS X Snow Leopard で Boot Camp を使って Microsoft Windows 7 (Home Premium、Professional、および Ultimate) をサポートできるようにします。このサポートのためには Boot Camp へのソフトウェアアップデートが必要です。

 Early 2009 Mac minでは現時点で問題なくWindows 7が動作しているので特に大きな影響はないが、Mac Proなどがサポート対象外となっているのは意外である。

 また、Late 2009 iMacにはRadeon 4670、4850が採用されているが、Windows 7に収録されているドライバでは画面がブラックアウトしてしまう不具合があり、インストール完了には標準ドライバを削除する必要がある。過去にも、DVI接続のRADEON9600等で、XP SP2をインストールして標準ドライバがロードされた直後、ブラックアウトや無限再起動を繰り返す不具合があり、マイクロソフト標準ドライバは鬼門だったが、Windows 7でも同じことを繰り返しているのは残念である。

 回避策としては、インストール最中に画面がブラックアウトしたら、メディアから修復インストールで起動し、コマンドプロンプトから該当のディスプレイドライバを削除すれば良いが、この回避策は万人向けとは言えない。


cd Windows¥System32¥drivers
del atikmdag.sys

 根本的にはBootCampアシスタントで、ATIの不具合のあるディスプレイドライバを削除したメディアを作成(更に、Apple製品で必要となるドライバも追加できるとなお良い)できるようにしないと回避できないと予想する(vLiteなどで古いドライバを削除し、必要となるドライバを追加した統合メディアをあらかじめ作成するイメージ)。

 最近はdiskpartコマンドを使用して、インストールUSBメモリを作成することが主流となっているので、BootCampアシスタントで対応しないようであれば、下記の手順で問題のあるドライバを削除したUSBメモリを用意した方が簡単である。

1. ImageX(DISM)コマンドを使用してインストールイメージ(install.wim)をマウント
2. ATIのディスプレイドライバ(atikmdag.sys)を削除
3. インストールイメージをコミットアンマウント
4. diskpartを使ってインストールUSBメモリを作成


 (追記:2010/1/8)
 記事HT3920(英語)において、Windows 7への対応は”2009年末までに”(the end of year)となっていたが、2009年内にはリリースできず、"準備出来次第”(as soon as it's ready)と2010/1/6に表記が改められた。なお、日本語ドキュメントは更新されておらず、年末までの表記で留まっておりお粗末である。

 (追記:2010/1/9)
 ”年末までに”から”準備が整い次第”の表記に日本語ドキュメントも更新された。

最終更新日: 08 1月, 2010
記事: HT3920
アップルは、Mac OS X で Boot Camp を使って Microsoft Windows 7 (Home Premium、Professional、Ultimate) を使用できるようにします。この場合、Boot Camp へのソフトウェアアップデートが必要になります。このアップデートは準備が整い次第リリースする予定です。

 (追記:2010/1/20)
 Windows7に対応したBoot Camp 3.1が公開された。ATI Radeonを搭載しインストール中に画面がブラックアウトするiMac Late 2009のインストールに対処する為、別途USBメモリを用意し、そこにWindows7に対応したドライバを入れておき、OSインストーラがそれを参照し自動応答(AutoUnattended.xml)するようユーティリティを提供している。

 (追記:2010/02/02)
 完全保存版・MacにWindows 7をインストールしよう
 * BootCamp3.1収録のnVIDIAグラフィックスアダプタのドライバは、「デスクトップカラー設定の調整」の”デジタルバイブランス”の項目がデフォルトの50から90になって色合いがおかしくなっており、デフォルトに戻す必要がある。



3. Tips

1. Windows 7のGoogle ChromeでGyaoを視聴する (2009/11/21)

 今まで、Yahoo!動画、Gyaoのストリーミング動画はDRM付のWindows Media Video形式で配信されていた為、Mac OSXでは再生できかなった。しかしながら、Yahoo!動画とGyaoの統合で2009年秋から、Silverlight形式に動画フォーマットが変更され、Macでも視聴ができるようになった。

 一方、Windows版のSafariはSilverlightには対応しておらず、IEかFireFoxでしか再生ができない。だが、Silverlightはver 4からGoogle Chromeへの対応を表明した。

 Google ChromeはSafariと同じWebレンダリングエンジンのWebkitを採用しており(User Agent文字列はSafariを返す)、Safariと同等の表示ができるだけでなく、JavaScriptも独自のV8エンジンで高速に処理できる。そこで、Windows7においてSafariの代わりにGoogle Chromeを使用し、Silverlight 4(ベータ)と組み合わせて、Gyaoが視聴できるか試みた。
 ベータ版であるが、Silverlightは問題なく導入できる。しかしながら、Gyaoの視聴判定ページでは未対応となってしまいこのままでは視聴できない。

 視聴判定では、OSは『Windows 2000 SP4以降、XP SP2以降またはVista』、ブラウザは『Internet Explorer 6.0以降またはFirefox 3以降』であるかどうかをチェックしている。そこで、判別に使用しているGoogle ChromeのUser Agent文字列を変更する。

 Google ChromeのUser Agent文字列は起動オプションで変更できる為、OSはVistaを表すNT6.0(Windows7はNT6.1)、ブラウザはFirefox 3を表すFirefox 3.0を指定すれば判定チェックをクリアし、視聴が可能になる。

  • Gyao視聴に対応したショートカット
C:\Users\Macmini\AppData\Local\Google\Chrome\Application\chrome.exe --user-agent="Mozilla/5.0 (Windows; U; Windows NT 6.0; ja-JP) Gecko/2009011913 Firefox/3.0.15"

 もちろん、IEを使用すれば何の苦労もなく視聴ができるが、IEのレンダリングエンジンはバージョン間で互換性が無いだけでなく、Web標準からもかけ離れており、またJavaScriptの動作も遅い為、管理人は使用を避けている。

2. ラジオを聴く (2010/03/16)

 3/15の深夜0時から試験放送開始(試験期間は8/31までの予定)になったIPラジオ、raikoは、プレイヤー部分がFlashで作成されており、Flashに対応したブラウザが提供されているプラットフォームであれば視聴ができる。

 例えば、Windows/Mac OS Xのブラウザから使用できるが、使用してみるとブラウザと常に連動してしまい、ラジオプレイヤーとして独立して使うことができず不便である。そこで、専用プレイヤーのように独立したウィンドウで再生するradikoプレイヤー(Version 0.5以降推奨)が有志の手で開発された。これを用いることで、ウィジェット的に単体プレイヤー(Adobe AIRを使ったアプリケーション)として使用できるようになっている。

 *TV画面のキャプチャは黒になっているが、これは著作権保護のため

 なお、試験放送期間中は、関東地区・関西地区サービスの対象地域外からは視聴ができない。

【関東地区】
(配信地域:東京都、神奈川県、千葉県、埼玉県)
  • TBSラジオ
  • 文化放送
  • ニッポン放送
  • ラジオNIKKEI
  • インターFM
  • TOKYO FM
  • J-WAVE
【関西地区】
(配信地域:大阪府、京都府、兵庫県、奈良県)
  • ABCラジオ
  • MBSラジオ
  • ラジオ大阪 OBC
  • FM COCOLO
  • FM802
  • FM OSAKA



最終更新:2010年03月23日 18:14