对于很多80后、90后来说,Windows 98承载着太多青春记忆。那个蓝底白字的启动画面,经典的"当当"开机音效,还有纸牌、扫雷这些自带游戏,都是无法复制的时代印记。但真正让我决定在虚拟机里重温Win98的,是去年帮客户维护一个古董级工业控制系统时遇到的困境——那套系统只能在Win98环境下运行,而老旧的物理机已经濒临报废。
在Qemu和VMware这两种主流虚拟机中运行Win98,不仅能解决老旧硬件淘汰的问题,还能带来许多实用价值:
我最初尝试用VMware Workstation 16安装时,发现新版VMware对Win98的支持反而变差了,经常出现画面撕裂和死机。后来转用Qemu后发现,虽然配置复杂些,但稳定性更好,还能模拟出更接近原始硬件的环境。
首先要明确的是,微软早已停止对Win98的支持,但版权仍然有效。建议通过以下合法渠道获取:
我使用的是一张磨损严重的原版光盘,用ImgBurn制作成ISO时发现有几个坏扇区。这里分享个技巧:先用CDRoller扫描光盘,勾选"忽略读取错误"选项,虽然会丢失少量数据,但系统文件通常都有冗余校验。
很多网上流传的Win98镜像缺少引导信息,直接放入虚拟机会报"Non-system disk"错误。解决方法是用UltraISO补全引导文件:
bash复制# 下载引导文件
wget http://example.com/win98.bif
# 用dd命令提取现有ISO的引导信息(如果有)
dd if=original.iso bs=2048 count=1 of=boot.bin
在UltraISO中操作时要注意:
实测发现,用mkisofs命令也能达到同样效果:
bash复制mkisofs -o win98se.iso -b win98.bif -no-emul-boot -boot-load-size 4 -boot-info-table ./win98se
在VMware Workstation中新建虚拟机时,这些设置直接影响安装成功率:
这里有个隐藏坑点:新版VMware默认使用EFI固件,而Win98需要传统BIOS。需要在.vmx配置文件中手动添加:
vim复制firmware = "bios"
安装时最常见的三个问题及解决方案:
安装完成后,立即做这两件事:
VMware Tools对Win98的支持在6.5版本后就被移除了。我找到的替代方案是:
特别提醒:安装驱动时要按特定顺序:
在Windows 10上建议通过Chocolatey安装Qemu:
powershell复制choco install qemu
创建虚拟磁盘时,qcow2格式比raw更省空间:
bash复制qemu-img create -f qcow2 -o cluster_size=64K win98.qcow2 5G
启动参数中最关键的是CPU选择:
bash复制-cpu pentium3,+mmx,+sse # 启用MMX和SSE指令集
通过以下参数可以显著提升运行速度:
bash复制-accel whpx # 使用Windows Hypervisor Platform加速
-device virtio-balloon # 动态内存管理
-usb -device usb-tablet # 更精确的鼠标控制
针对游戏玩家的特别设置:
bash复制-device es1370 # 比sb16更好的声卡模拟
-device cirrus-vga,vgamem_mb=16 # 增加显存
要实现高分辨率需要特殊驱动:
ini复制[display]
drivers=univbe.drv
网络配置建议:
bash复制-net nic,model=rtl8139 -net user # 最稳定的网卡模拟
然后在Win98中安装RTL8139驱动,设置IP为10.0.2.15,网关10.0.2.2
在Qemu中设置共享文件夹:
bash复制-net user,smb=/path/to/share
然后在Win98中映射网络驱动器:
dos复制net use z: \\10.0.2.4\qemu
VMware用户可以直接拖放文件,但要注意:
对于DirectX游戏,需要:
ini复制[Options]
Logo=0
特别针对《红色警戒2》的优化:
bash复制-soundhw sb16 -audio winmm # 解决音效卡顿
在Qemu中管理快照:
bash复制qemu-img snapshot -c baseline win98.qcow2 # 创建快照
qemu-img snapshot -a baseline win98.qcow2 # 恢复快照
VMware的快照要注意:
蓝屏错误0x0000000A:通常是内存冲突,尝试:
ini复制DEVICE=EMM386.EXE NOEMS X=TEST-FFFF
声卡爆音问题:在Qemu中改用:
bash复制-device ac97 # 替代sb16
鼠标漂移:添加这个启动参数:
bash复制-usb -device usb-mouse
最后提醒,Win98的TCP/IP协议栈有严重漏洞,如需联网务必: