bochs 中文文档 下载 App

Windows 95 98 ME 在 Bochs 里的完整安装体验

bochsrc 推荐配置

Windows 95/98/ME 需要的硬件配置:

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

cpu: model=pentium, count=1, ips=15000000           # Pentium (或 pentium2)
memory: guest=64, host=64                            # Win95/98 推荐 64MB

# 硬盘 500MB flat 格式(bximage 创建时输出 C/H/S)
ata0-master: type=disk, path="win98.img", mode=flat, cylinders=1040, heads=16, spt=63

# 光驱用于安装 ISO
ata1-master: type=cdrom, path="win98se.iso", status=inserted

# 先用软盘引导安装盘(或用 ISO + CD-ROM 引导)
floppyA: type=1_44, path="boot.img", status=inserted

boot: cdrom, floppy, disk                            # 先试光盘引导

vga: extension=cirrus, update_freq=5
pci: enabled=1, chipset=i440fx, slot1=cirrus

keyboard: keymap=us
mouse: enabled=1                                     # 开鼠标
display_library: wx

# 可选硬件
sb16: enabled=1, midimode=dummy, wavemode=wav, waveintfreq=44100
ne2k: enabled=1, mac=00:40:3c:00:00:01, ethmod=slirp

log: bochsout.txt
panic: action=ask

关键配置点:

安装步骤概览

  1. 创建空白硬盘:bximage -q -create -mode flat -size 500M -filename win98.img,记下输出的 C/H/S
  2. 配置 bochsrc:按上面的模板写,C/H/S 从 bximage 抄
  3. 启动 Bochs:bochsdbg -q(调试版可以不用,bochs.exe 也可以)
  4. BIOS 自检:看到 Bochs BIOS 输出的硬件信息——应该能检测到 Cirrus VGA、NE2000 网卡、SB16 声卡
  5. 从光盘引导:Win98 SE 安装盘 ISO 是可引导的,会显示 Windows 98 Setup 启动界面
  6. Fdisk + Format:先用 Win98 自带的 Fdisk 对硬盘分区、Format C:
  7. Setup 安装:一步步 Setup 向导,复制文件、检测硬件、配置网络
  8. 重启:安装完 Setup 会提示重启,改 bochsrc 里 boot: disk(拔掉光驱),再启动就进入 Win98 桌面了

可能遇到的问题

安装过程中 Fdisk 报磁盘容量不对

flat 磁盘 C/H/S 参数写错了——bximage 创建时输出的 CHS 必须完整抄到 bochsrc。Fdisk 报告的容量应该和你的磁盘大小一致(±几 MB 误差)。

安装完重启后黑屏

可能的原因:

  1. boot 顺序没改——改成 boot: disk
  2. VGA BIOS 和 VGA 型号不匹配——Cirrus VGA BIOS 配 extension=cirrus
  3. 显卡驱动没装好——开机进 Safe Mode(F8),删除显卡驱动重装

鼠标不能用

bochsrc 里 mouse: enabled=1 必须有。而且 Win98 安装过程中需要检测到 PS/2 鼠标(Bochs 默认模拟的就是 PS/2 鼠标)。如果还是不行,换 USB 鼠标试试(bochsrc 加 usb_mouse: enabled=1)。

SB16 检测失败

Win98 硬件检测会自动识别 SB16——但你需要把 SB16 设为 ISA 模式(不要插到 PCI 槽)。如果还是检测不到,可能是 IRQ 冲突——检查 bochsrc 里有没有其他设备用了 IRQ 5(SB16 默认用它)。

速度太慢

Bochs 跑 Win98 的速度取决于你宿主 CPU 的性能。ips=15000000 大概相当于 Pentium III 1.5GHz——比 Win98 当年运行的机器快得多,但 Bochs 是解释执行,所以实际速度会慢。新的 i7/i9 CPU 上 Win98 在 Bochs 里应该能流畅运行(启动几十秒,打开窗口不卡顿)。

Bochs 运行 Windows 95
在 PowerPC Linux 上通过 Bochs 运行 Windows 95

Windows 95 特殊注意事项

Win95 发布时 32MB RAM 是标配。64MB RAM 下 Win95 有一个内存 bug——会在启动时报"Not enough memory"或者运行不稳定。解决方法:在 CONFIG.SYS 里加:

DEVICE=C:\WINDOWS\EMM386.EXE NOEMS NOVCPI

Win98 没有这个问题。

Windows ME

ME(Millennium Edition)在 Bochs 里的表现和 Win98 类似。ME 是 Win9x 系列最后一代,核心还是 DOS + 16/32 位混合代码,硬件驱动和 Win98 几乎相同。Bochs 里 ME 的兼容性很好。

典型使用场景