VirtualBox-XP guest虚拟机看不到多个内核/多个处理器


13

环境:

  • 主机操作系统:Win7 Pro 64bit
  • 来宾操作系统:WinXP 32bit
  • VirtualBox版本:4.1.4r74291
  • 处理器:启用虚拟化的英特尔酷睿i7 2630QM

问题:

我需要客户机系统使用多个内核。我已经在VirtualBox中启用了以下选项:

  • IO APIC(主板选项卡)
  • PAE / NX(“处理器”选项卡)
  • VT-x / AMD-V(加速)
  • 嵌套分页(加速)

系统子菜单上的所有其他选项均已关闭。“处理器”滑块设置为8。

问题是来宾系统正常运行,但是只有一个处理器/核心可见。

Answers:


7

XP有2种不同的HAL,分别用于多处理器和单处理器。如果在虚拟环境中只有一个处理器的情况下安装XP,则可能必须更改HAL或重新安装。

您可以在Microsoft的支持网站上找到有关如何更改HAL的说明。

您需要选择ACPI多处理器选项。


很好的Microsoft网站说WinXP应该自动更改HAL-我没有。奇怪的是,当我检查设备管理器时,有8个处理器,但是在任务管理器中,我只能看到1个。因此,我重新安装了系统和tadam-一切正常。谢谢!
lbednaszynski 2011年

24

我有一个类似的问题,我偶然发现了这个问题:http : //www.nforcershq.com/forum/updating-the-hal-for-multiprocessor-support-t70331.html

devcon从Microsoft下载了该实用程序并发出了以下命令:

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

然后我重新启动,现在XP可以看到所有4个核心。

启动前请备份映像,以防系统无法启动!


4
这对我来说很好。我得到了Virtual Box VM,终于看到了第二个CPU。
CadentOrange 2012年

2
快速,简便,在WinXP SP3上完成。
Fiasco Labs 2013年

1
简短而正确的答案,谢谢!有两次为我工作。注意:执行完此操作后,我无法启动Win XP,直到我将虚拟机实际设置为具有1个以上的CPU。另外,您可以稍后添加更多的CPU,它们将被正确检测到。
jlh 2014年

因此,如果我正确理解的话,那么在进行这种破解之后,VM将无法再使用1个CPU @jlh正常工作了?
Sopalajo de Arrierez,2015年

3

核心问题(双关语)是Windows XP包含两个内核:单核和多核。可能是,客户机OS在安装期间仅检测到1核,而Windows XP客户机则在单核hal和内核上运行。请按照以下说明启用多核hal和内核引导。

这对我有用(VirtualBox XP Pro)...

1)进入c:\ windows(您的安装路径),搜索sp3.cab。用7-zip打开这个cab文件(尽管资源管理器可能能够以本机打开文件,如果它随后无法从sourceforge下载7-zip)。

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

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

3)编辑c:\ boot.ini

注意:您将需要取消选中“只读”属性,以便保存更改。完成后,请重新设置为只读。

复制如下所示的行:

多(0)磁盘(0)rdisk(0)分区(1)\ WINDOWS =“ Microsoft Windows XP Professional” / fastdetect / NoExecute = OptIn

使复制的条目如下所示:

多(0)磁盘(0)rdisk(0)分区(1)\ WINDOWS =“ Microsoft Windows XP MultiCore” / fastdetect / NoExecute = OptIn /kernel=ntkrnlmp.exe /hal=halmacpi.dll

现在,您可以使用双引导选项来利用单核或多核(如果成功,TaskManager将显示两个CPU图形)。如果多核启动并正常工作,则可以从boot.ini中删除单个核条目。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.