web-dev-qa-db-ja.com

VirtualBox-XPゲストは複数のコア/複数のプロセッサを認識しません

環境:

  • ホストOS:Win7 Pro64ビット
  • ゲストOS:WinXP 32ビット
  • VirtualBoxバージョン:4.1.4r74291
  • プロセッサー:仮想化が有効なIntel Core i7 2630QM

問題:

複数のコアを使用するにはゲストシステムが必要です。 VirtualBoxで次のオプションを有効にしました。

  • IO APIC(マザーボードタブ)
  • PAE/NX(プロセッサタブ)
  • VT-x/AMD-V(高速化)
  • ネストされたページング(高速化)

システムサブメニューの他のすべてのオプションがオフになります。 「プロセッサー」スライダーは8に設定されています。

問題は、ゲストシステムは正しく実行されますが、1つのプロセッサ/コアしか表示されないことです。

13
lbednaszynski

XPには、マルチプロセッサとシングルプロセッサに使用される2つの異なるHALがあります。インストールした場合XP仮想環境にプロセッサが1つしかなかった場合、HALを変更するか再インストールする必要があります。

HALを変更する方法については、Microsoftの サポートサイト に記載されています。

ACPIマルチプロセッサオプションを選択する必要があります。

7

私は同様の問題を抱えていました、そして私はこれに遭遇しました: http://www.nforcershq.com/forum/updating-the-hal-for-multiprocessor-support-t70331.html

Microsoftからdevconユーティリティ をダウンロードし、次のコマンドを発行しました。

  1. devcon sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_mp !acpiapic_up
  2. devcon update c:\windows\inf\hal.inf acpiapic_mp

次に再起動すると、XPは4つのコアすべてを表示できます。

システムがもう起動しない場合に備えて、開始する前にイメージのバックアップを作成してください

25
dawez

コア(しゃれを意図した)の問題は、Windows XPにシングルコアとマルチコアの2つのカーネルが含まれていることです。おそらく、ゲストOSはインストール中に1コアしか検出せず、Windows XPゲストはシングルコアhalとカーネルで実行されています。マルチコアhalとカーネルでの起動を有効にするには、以下の指示に従ってください。

これは私のために働いた(VirtualBox XP Pro).。

1)c:\ windows(インストールパス)に移動し、sp3.cabを検索します。このcabファイルを7-Zipで開きます(ただし、sourceforgeから7-Zipをダウンロードできない場合は、Explorerでファイルをネイティブに開くことができる場合があります)。

2)a)Extract halmacpi.dll to c:\windows\system32

b)Extract ntkrnlmp.exe to c:\windows\system32

3)c:\ boot.iniを編集します

注:変更を保存できるように、読み取り専用プロパティのチェックを外す必要があります。完了したら、読み取り専用に戻します。

次のような行をコピーします。

multi(0)disk(0)rdisk(0)partition(1)\ WINDOWS = "Microsoft Windows XP Professional"/fastdetect/NoExecute = OptIn

コピーしたエントリを次のようにします。

multi(0)disk(0)rdisk(0)partition(1)\ WINDOWS = "Microsoft Windows XP MultiCore"/fastdetect/NoExecute = OptIn /kernel=ntkrnlmp.exe/hal = halmacpi .dll

これで、シングルコアまたはマルチコアを利用するためのデュアルブートオプションがあります(これが成功した場合、TaskManagerは2つのCPUグラフを表示します)。マルチコアが起動して正常に動作する場合は、boot.iniからシングルコアエントリを削除できます。

3
James