2011年4月18日

VMware Player上のWindwos XPモードでマルチコアを有効にする

Windows 7のProfessional/Ultimate/Enterprise SKUで使用できるWindows XP モードVMware Playerにインポートして使用することができます。このときホスト側のCPUがマルチコアで、かつVMware Playerの設定でVMに複数のCPUコアを割り当てる設定にしてあっても、XPモードのHALがシングルプロセッサにのみ対応した状態のため、実際にはシングルコアでしか動作しません(Virtual PC上のXPモードがシングルプロセッサのみをサポートしているためと考えられます)。そこでHALを入れ替えることでマルチコアを有効にする方法を説明したページを見つけました。

VMware Player 3の XP Mode をマルチコアで動かす方法

要約:
  1. %systemroot%\Driver Cache\i386\sp3.cabに格納されているhalaacpi.dllおよびhalmacpi.dllを%systemroot%\system32にコピー
  2. boot.iniの起動オプションに
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional (ACPI/APIC)" /noexecute=optin /fastdetect /hal=halaacpi.dll
    を追加してシャットダウン
  3. VMの設定でプロセッサコア数を2に変更
  4. VMを起動してオペレーティングシステムの選択で下の項目("Microsoft Windows XP Professional (ACPI/APIC)")を選択して起動
  5. ハードウェアの変更が自動的に検出されドライバのインストール後に再起動を求められるので再起動
  6. オペレーティングシステムの選択で今度は上の項目("Microsoft Windows XP Professional")を選択して起動
  7. タスクマネージャでCPUが2つになっていることを確認
  8. boot.iniの起動オプションに追加した"Microsoft Windows XP Professional (ACPI/APIC)"を削除


このページの説明ではHALを入れ替えることなくVMのCPU割り当てを2以上にするとBSODになる、とされていますが、手元のAMD Phenom II X6環境では単純にシングルコア動作になるだけでした。

参考: VMware PlayerおよびXPモードに関する記事のリンク

Windows Server Insider 検証 - @IT
Windows XP Modeとディスク管理機能 - @IT

1 件のコメント:

匿名 さんのコメント...

おかげさまでXP Modeの仮想マシンにCPU2個を割り当てることができました。ありがとうございました。