環境:
問題:
複数のコアを使用するにはゲストシステムが必要です。 VirtualBoxで次のオプションを有効にしました。
システムサブメニューの他のすべてのオプションがオフになります。 「プロセッサー」スライダーは8に設定されています。
問題は、ゲストシステムは正しく実行されますが、1つのプロセッサ/コアしか表示されないことです。
XPには、マルチプロセッサとシングルプロセッサに使用される2つの異なるHALがあります。インストールした場合XP仮想環境にプロセッサが1つしかなかった場合、HALを変更するか再インストールする必要があります。
HALを変更する方法については、Microsoftの サポートサイト に記載されています。
ACPIマルチプロセッサオプションを選択する必要があります。
私は同様の問題を抱えていました、そして私はこれに遭遇しました: http://www.nforcershq.com/forum/updating-the-hal-for-multiprocessor-support-t70331.html
Microsoftからdevcon
ユーティリティ をダウンロードし、次のコマンドを発行しました。
devcon sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_mp !acpiapic_up
devcon update c:\windows\inf\hal.inf acpiapic_mp
次に再起動すると、XPは4つのコアすべてを表示できます。
システムがもう起動しない場合に備えて、開始する前にイメージのバックアップを作成してください!
コア(しゃれを意図した)の問題は、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からシングルコアエントリを削除できます。