QEMU/Windows 98
有不能在 Wine 或较新版本的 Windows 上运行的旧软件吗? 如果你有一个 Windows 98 安装光盘,你可以将操作系统安装到 QEMU 虚拟机中。 光盘应该是针对通用系统的。 如果你从 OEM(如惠普或戴尔)那里获得了你的副本,他们可能没有包含 QEMU 可能需要的驱动程序。
如果光盘包含启动软盘,你可能需要使用它;一些光盘并非设计为直接启动,仅包含安装操作系统所需的材料。 如果你只有一个不可启动的光盘,可以先安装 FreeDOS 来代替它,它可以运行安装程序。 你需要将你的 Windows 98 光盘刻录到 ISO 镜像。 假设它已命名为 win98.iso
并放在同一个文件夹中,然后可以将其弹出并放回它的盒子里。
你需要为硬盘创建镜像。 这是你将 Windows 安装到的位置,我们将使用 QEMU 原生的 qcow2
格式。 常用的尺寸为 512 MB(512M
)和 1 GB(1G
),但超过 2 GB 的任何尺寸都可能会提示安装程序询问有关大型文件系统支持的问题,在这种情况下,你需要允许它。
qemu-img create -f qcow2 w98.qcow2 512M
值得注意的是,如果你的主机系统有足够的内存将整个镜像存储在 RAM 中,安装和使用速度可以大大提高。 在 Windows 上,这可以通过 ImDisk 虚拟磁盘驱动程序在挂载原始镜像文件并将镜像复制到挂载的驱动器时完成。
如果你有一个可启动的安装光盘,安装 Windows 的初始命令可能看起来像这样
qemu-system-x86_64 -cdrom win98.iso -boot order=d,menu=on -drive file=w98.qcow2 -m 512 -device sb16 -display sdl
否则,可以将启动磁盘镜像作为软盘提供给虚拟机。 以下选项可以添加到指令系统从它启动
-drive if=floppy,file=boot_disk.img,format=raw -boot once=a
-cdrom
允许我们使用 ISO 镜像。 也可以使用virsh
将物理驱动器转发到文件,但从硬盘读取数据通常更快。-boot
允许我们指定order
为d
,即 CD,或a
,即第一个软盘驱动器。once
定义仅在系统第一次启动时使用的启动顺序,在支持的情况下。menu=on
通过按 Escape 启用手动选择启动设备。-drive
允许我们使用我们刚刚创建的硬盘镜像。-enable-kvm
使用内核 VM 在 x86 中打开硬件加速。 KVM 在关闭来宾时会导致 Windows 主机出现问题,甚至在某些情况下会阻止其启动。 如果发生这种情况,你可以安全地将其从命令中删除。-m
分配来宾的 RAM。 在这种情况下,我们使用 512,但超过它对 Windows 9x 来说可能很危险。-device
允许我们添加一个设备驱动程序,在本例中,是 Creative SoundBlaster 16 声卡(sb16
),以获得音频。 标准 Windows 98 光盘附带了它的驱动程序,如果你在安装过程中没有使用这个标志,就需要扫描它。-display
允许我们使用替代显示引擎,而不是 GTK+。 在这种情况下,我们使用 Simple DirectMedia Layer,因为它与全屏支持的冲突较少。 你可以按 Ctrl+Alt+F 进入和退出全屏模式,以及 Ctrl+Alt 让 QEMU 抓取或释放键盘输入,并 像往常一样调用监视器。
安装完成后,你可以无需光盘启动,这意味着 -cdrom
、-boot
和启动磁盘标志可以安全地删除。
SE[需要引证] 可能在安装 Q239887 更新(004756us8.exe)之前无法正常关闭,从而降低文件系统的性能。
一些程序需要比 Windows 98 默认提供的 16 色更高的色深。
QEMU 模拟的默认显卡通过 VBE 2.0 支持 32 位色深和分辨率,但 Windows 98 没有提供支持它的驱动程序。
可以使用的非商业许可 免费软件驱动程序。
请参阅 2006 年存档的快照,以获取 DirectX 下载。