VirtualBox - XP 客户机看不到多个核心/多个处理器

VirtualBox - XP 客户机看不到多个核心/多个处理器

环境:

  • 主机操作系统:Win7 Pro 64位
  • 客户操作系统:WinXP 32位
  • VirtualBox 版本:4.1.4r74291
  • 处理器:Intel Core i7 2630QM,启用虚拟化

问题:

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

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

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

问题是客户系统运行正确,但只有一个处理器/核心可见。

答案1

XP 有 2 种不同的 HAL,分别用于多处理器和单处理器。如果您在虚拟环境只有一个处理器时安装了 XP,那么您可能需要更改 HAL 或重新安装。

您可以在 Microsoft 的支持站点

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

答案2

我遇到了类似的问题,我偶然发现了这一点: 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 个核心。

进行备份启动之前先查看一下图像,以防系统无法启动!

答案3

核心(双关语)问题是 Windows XP 包含两个内核:单核和多核。可能,客户操作系统在安装过程中仅检测到 1 个内核,而您的 Windows XP 客户机正在单核 hal 和内核上运行。按照以下说明启用多核 hal 和内核的启动。

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

1) 进入 c:\windows(您的安装路径),搜索 sp3.cab。使用 7-zip 打开此 cab 文件(尽管 explorer 可能能够本机打开该文件,但如果不能,请从 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 中删除单核条目。

相关内容