bochs 中文文档 下载 App

Windows XP 在 Bochs 里的 SMP 双核体验与驱动配置

bochsrc 推荐配置

Windows XP 需要比 Win9x 更高的配置:

romimage: file=BIOS-bochs-latest, address=0xfffc0000
vgaromimage: file=VGABIOS-lgpl-latest-cirrus.bin

# Pentium 4 双核(SMP)
cpu: model=pentium4, count=2, ips=15000000, quantum=250

memory: guest=256, host=256

# 硬盘 2GB flat(bximage 创建)
ata0-master: type=disk, path="winxp.img", mode=flat, cylinders=1632, heads=255, spt=63

ata1-master: type=cdrom, path="winxp-sp3.iso", status=inserted
boot: cdrom, disk

vga: extension=cirrus, update_freq=5
pci: enabled=1, chipset=i440fx, slot1=cirrus, slot2=usb_uhci, slot3=e1000

keyboard: keymap=us
mouse: enabled=1
display_library: wx

usb_uhci: enabled=1
usb_mouse: enabled=1

e1000: enabled=1, mac=00:40:3c:00:00:02, ethmod=slirp

log: bochsout.txt
panic: action=ask

为什么要双核 + E1000

安装流程

和真实机器一样:

  1. 创建 2GB flat 磁盘(上面 bochsrc 里的 C/H/S 是参考值,bximage 创建时会输出)
  2. 插入安装光盘 ISO(XP SP3 推荐)
  3. Bochs 启动,BIOS 检测到光盘 → 进入 XP Setup
  4. Fdisk 分区 + Format NTFS(XP 默认用 NTFS)
  5. Setup 安装文件复制(Bochs 里复制会比真实机器慢很多——解释执行的代价)
  6. 硬件检测 + 驱动安装(XP 自动识别 Cirrus VGA、E1000、USB、ES1370)
  7. 配置网络、管理员密码、时区
  8. 重启 → 桌面

安装时间在 Bochs 里可能需要 30-60 分钟(真实机器 20 分钟左右)——取决于宿主 CPU 性能。

驱动自动识别情况

设备XP 自带驱动bochsrc 配置
Cirrus VGA✅ 自带(GD5446)vga: extension=cirrus + PCI slot1
E1000 网卡✅ 自带(82540EM)e1000 + PCI slot3
UHCI USB✅ 自带usb_uhci + PCI slot2
ES1370 声卡✅ 自带(AudioPCI)es1370 + PCI slot4
SB16 声卡✅ 自带(ISA)sb16(不插 PCI 槽)
PS/2 键鼠✅ 自带(Bochs 默认模拟)mouse: enabled=1
AHCI SATA✅ 自带(较新)ahci + PCI slot5

Bochs 的硬件枚举非常接近真实 PC——XP 安装程序能正确识别大部分设备、安装对应驱动、自动配置资源。

XP 里的性能

坦率说:XP 在 Bochs 里跑起来很顺畅,但不如 VirtualBox 快。Bochs 的解释执行让整体速度只有真实硬件的 1-5%(取决于宿主 CPU)。

能流畅做的事:

不适合:

Windows Update 和安全补丁

XP 已经停止官方支持。Bochs 里跑 XP 不要直接连公网——XP 没有安全更新,slirp NAT 虽然隔离了外面主动连进来,但里面主动出去还是可能被恶意网站利用。

XP + Bochs 的价值在哪

Bochs 运行 Windows NT 4.0
Bochs 运行 Windows NT 4.0——NT 内核的早期版本

SMP 双核的验证

配置了 cpu: count=2 后,XP 任务管理器里应该能看到两个 CPU 使用图。你可以在 Bochs 里验证双核调度:

  1. XP 里打开任务管理器 → 性能 → 看两个 CPU 历史
  2. Bochs 里运行 cpu quantum=250(默认)
  3. 打开两个计算密集型进程 → 两个 CPU 应该同时高负载

如果只看到一个 CPU 图,说明 XP 安装时只识别了单核——需要在设备管理器里手动更新 CPU 驱动为 ACPI Multiprocessor PC。