☰
PVE 老 Windows 补完记:让 XP 和 98 真正用好 SPICE,声音和鼠标终于舒服了
2026/10/21 11:32:16 网站建设 项目流程

引子

前面我已经在 PVE 上分别安装过Windows XP SP3和Windows 98 SE,也写过一篇《PVE 上用 SPICE:统一连接 Debian、Arch 和 Windows 11 桌面》。

那时候两台老 Windows 的定位其实很明确:先把系统装好,尽量采用它们熟悉的硬件,能够正常启动、关机、联网,运行当年的软件就足够了。

Windows XP 我最后选择了 RDP。用 Ubuntu 上的 Remmina 连接,不但鼠标流畅,声音也能通过 RDP 重定向传回来。Windows 98 则解决了 SeaBIOS、PCI、IDE DMA、VMDisp9x 显示驱动等问题,还提前装好了 AC97 3.62 声卡驱动。只是当时为了单独验证设备兼容性,音频 Backend 先选了none,没有把声音送回 Ubuntu。这条链路正好留到本篇补完。

不过使用一段时间后,我还是觉得有一点遗憾。

RDP 的声音属于远程桌面会话,并不是虚拟机自身始终具有的音频输出。想听开机声音、使用 PVE 控制台,或者在 Win98 这种没有 XP 那样方便的 RDP 体验的系统里玩老软件,还是希望有一条更自然的音频链路。

于是这次准备把剩下的事情一次做好:

  • Windows XP 和 Windows 98 都改用 PVE 原生的 SPICE 显示;
  • XP 添加 AC97 声卡;Win98 沿用此前装好的 AC97 3.62 驱动,把音频 Backend 从none改为spice;
  • 解决 noVNC 和 SPICE 中的鼠标控制问题;
  • 再给 XP 找一个真正能够运行、还能向 PVE 报告 IP 的 QEMU Guest Agent。

这次不重装操作系统,只是在原来已经配置好的两台虚拟机上继续完善。下面直接记录最终使用的版本和操作步骤,省略大多数试错过程。


一、实验环境:接着前两篇继续做

我的 PVE 仍然安装在一台 ThinkPad T480 上,版本为Proxmox VE 9.2.11。日常使用的是 Ubuntu Desktop,SPICE 客户端为virt-viewer。

项目Windows XPWindows 98 SE
VM ID152153
原有系统XP Professional SP3,32 位Windows 98 第二版
原有硬件基础SeaBIOS、i440fx、IDE、RTL8139自定义 No-PnP SeaBIOS、i440fx、IDE、RTL8139
本次显示配置SPICE(QXL)SPICE(QXL)
本次音频配置AC97 + SPICE原有 AC97 3.62,Backend 从 none 改为 spice
鼠标USB TabletUSB Tablet
客户机显示驱动SPICE Guest Tools 0.74原有 VMDisp9x 1.2025.0.119b,切换后补齐所需文件
QEMU Guest Agent安装历史兼容版不安装

这里沿用原来 XP 的 1GB 内存、Win98 的 256MB 内存,以及 IDE 磁盘等配置,不再重复创建 VM、安装系统、关闭 Balloon 和 VM Generation ID 的流程。那些内容在前两篇安装文章里已经详细记录。

本文使用的 VM ID 是我自己的编号。读者需要将命令中的152和153改成自己的 VM ID。

这里有一个与上一篇 Win98 文章不同的地方:以前为了保持设备管理器干净,我使用 Standard VGA;这一次为了使用 PVE 原生 SPICE,显示设备改成 QXL,Windows 98 会多发现一个没有兼容驱动的通信设备。这个取舍放到后面说明。

二、为什么要在已经能用 RDP 的 XP 上继续折腾 SPICE?

之前给 Debian、Arch 和 Windows 11 配置 SPICE 时,我已经介绍过它的优势。这里不再重复讲协议原理,只说这次与老 Windows 有关的区别。

PVE Web 的 noVNC 最大优势是方便。打开网页就能看见虚拟机屏幕,非常适合安装和排障,但它不负责把客户机的音频传到浏览器。

RDP 则是 Windows 提供的远程桌面服务。XP 的 RDP 可以把声音重定向到 Ubuntu,但那是登录到一个远程桌面会话,与观察虚拟机本身的控制台并不完全一样。

SPICE 的思路更接近远程使用一台有显示器、键盘、鼠标和声卡的虚拟电脑:

Windows XP / Windows 98 │ ├── 显示设备:QXL / VGA 兼容路径 ├── 音频设备:Intel AC97 └── 键盘、鼠标 │ ▼ PVE / QEMU SPICE Server │ ▼ Ubuntu remote-viewer │ ├── 桌面画面 ├── 鼠标、键盘 └── Ubuntu 扬声器 / 耳机

最重要的是:选择 PVE 原生的SPICE (qxl)后,Server 由 PVE 自动管理,不需要自己启动 SPICE Server。

我之前考虑过通过自定义 QEMU 参数自行启动 SPICE Server,后来发现这样反而增加维护成本。既然 PVE 原生就能完成,直接使用它更简单。

这次也顺便把三个经常混淆的概念区分开:

名称主要作用
SPICE / QXL虚拟机显示及 SPICE 显示通道
SPICE Guest Agent(vdagent)剪贴板、鼠标/显示集成等桌面增强
QEMU Guest Agent(QGA)让 PVE 查询客户机状态、IP、执行管理命令

还有一点:SPICE 音频不依赖 SPICE Guest Agent。只要 Windows 的虚拟 AC97 声卡驱动正常,QEMU 的音频 Backend 又选择了 SPICE,就可以走这条音频链路。这对没有成熟 SPICE Agent 的 Windows 98 尤其重要。

三、Ubuntu 安装 remote-viewer

在 Ubuntu 主力机执行:

sudo apt update sudo apt install virt-viewer

安装完成以后,PVE Web 中选中虚拟机:

VM → Console → SPICE

浏览器会下载一个临时连接文件。一般是.vv文件;有时 Chrome 下载的文件可能没有这个后缀,也不影响使用。

例如:

remote-viewer ~/Downloads/pve-spice.vv

文件名以实际下载的为准。这份连接文件包含临时连接信息,所以不用为了做所谓的“永久快捷方式”再额外维护一套脚本。

我最终的使用习惯仍然是:noVNC 用于安装、维护和排障,remote-viewer 用于日常桌面操作及音频。


四、Windows XP:换成 QXL,再添加 AC97

先正常关闭 VM 152,然后进入:

VM 152 → Hardware

将Display修改为:

SPICE (qxl)

再选择:

Add → Audio Device

配置:

Device:AC97 Backend Driver:spice

最终在 PVE Shell 中可以看到:

vga: qxl audio0: device=AC97,driver=spice

这里继续使用 AC97,而不是给 XP 配新的 Intel HDA 声卡。AC97 与这个年代的 Windows 比较匹配,也不需要为了音频去更换 IDE、网卡、CPU 等原有配置。

启动 XP 后,它会发现新的虚拟显卡和通信设备。对应的典型硬件 ID 是:

PCI\VEN_1B36&DEV_0100 → QXL 显卡 PCI\VEN_1AF4&DEV_1003 → VirtIO Serial Controller

这两个设备都能使用下面的旧版 SPICE Guest Tools 一次安装,不必在设备管理器里分别寻找驱动。

1. 下载适合 XP 的 SPICE Guest Tools 0.74

XP SP3 不能简单使用今天最新的 Windows Guest Tools。我这次实际验证可用的是:

SPICE Guest Tools 0.74

官方历史目录:Index of /download/windows/spice-guest-tools

这个安装包提供 QXL、VirtIO Serial 及 SPICE vdagent 等组件。由于 XP 上的旧浏览器访问现代下载网站不方便,我在 Ubuntu 下载 EXE 后直接制作 ISO:

sudo apt install genisoimage genisoimage -o spice-xp.iso \ -J -R spice-guest-tools-0.74.exe

接着到 PVE 的存储页面:

Storage → ISO Images → Upload

上传spice-xp.iso,再到 VM 152 的CD/DVD Drive里挂载这个 ISO。我这里使用的是已有的 IDE 光驱,不需要额外添加设备。

在 Windows XP 中打开「我的电脑」,进入 CD 驱动器,运行:

spice-guest-tools-0.74.exe

按照安装程序完成安装。中间可能出现几次未通过微软徽标测试的驱动签名提示,确认来源后选择继续,最后重启 XP。

再次进入设备管理器,可以看到 QXL 和 VirtIO Serial 已经正常识别;在services.msc中也能检查 SPICE Agent 服务状态。

2. 验证显示、剪贴板和音频

重新从 PVE 下载 SPICE 连接文件,使用 Ubuntu 的remote-viewer打开。

这时 XP 的窗口控制、鼠标和桌面显示已经正常;安装了 SPICE Agent 后,还可以测试 Ubuntu 与 XP 之间的双向文本复制。

音频则进入 XP 的:

控制面板 → 声音和音频设备

设备管理器中,我的声卡已经显示为:

Intel(R) 82801AA AC'97 Audio Controller

选择一个系统事件点击播放,或者直接重新启动 XP。

我最后确实从 Ubuntu 的扬声器听到了 Windows XP 的开机声音。这说明声音不是依赖 RDP 会话重定向,而是已经通过:

XP AC97 → QEMU → SPICE → remote-viewer → Ubuntu

传到了宿主机。

对这台 XP 来说,RDP 仍然可以保留,但以后不再是唯一能听到声音的远程连接方式。


五、XP 和 98 都值得打开的 USB Tablet

按照上面的步骤装完驱动,XP 的remote-viewer基本已经好用了,但我又遇到了一个挺意外的问题:PVE 网页里的 noVNC Console 依然比较卡,特别是移动鼠标、点击和切换窗口的时候。

换到 Win98 测试时还有另一个现象:noVNC 里的鼠标指针和 Ubuntu 的外部鼠标位置不一致,使用起来非常别扭。

最后发现两台虚拟机可以用同一个方法改善:显式打开 USB Tablet。

完整关闭相应虚拟机后,在 PVE 宿主机执行:

# Windows XP qm set 152 --tablet 1 # Windows 98 qm set 153 --tablet 1

确认:

qm config 152 | grep '^tablet:' qm config 153 | grep '^tablet:'

应该看到:

tablet: 1

USB Tablet 使用绝对坐标方式,而传统 PS/2 鼠标主要传递相对位移。在远程桌面窗口里,绝对坐标可以减少宿主机与客户机指针位置不同步的问题。

这里有个值得记录的细节:PVE 使用 QXL/SPICE 时,USB Tablet 在一些配置下默认不会启用。Proxmox 开发邮件列表早在 2014 年就讨论过这一设计,后来社区也有人建议 XP + QXL + noVNC 遇到鼠标问题时打开 Tablet。

我反复测试后发现:

  • XP 的 noVNC 操作感明显改善,鼠标卡顿感大幅降低;
  • Win98 的内外鼠标坐标终于一致;
  • SPICE 下的鼠标使用也更自然。

这不是给 CPU 或显卡加速,因此不应直接认定是“老版 SPICE 性能 Bug”。更可能是鼠标输入、坐标同步和捕获方式影响了实际操作体验。

如果你也在 XP/98 的 SPICE(QXL)模式下遇到鼠标怪问题,我建议把tablet: 1放在最前面检查。这一步比继续换显卡驱动简单得多。


六、Windows 98:保留已有系统,补上 SPICE 显示

Win98 比 XP 更老,不能直接照搬 XP 的驱动安装方法。尤其不要把spice-guest-tools-0.74.exe当成通用 Win98 安装包。

我的 VM 153 在上一篇文章里已经完成了比较多的基础配置:自定义 No-PnP SeaBIOS、PCI/USB 识别、IDE DMA、RTL8139 和 VMDisp9x 等,原来采用的是 Standard VGA。

这一次不动那些已经工作的基础硬件,只在关机后修改:

VM 153 → Hardware → Display → SPICE (qxl)

原先 VM 153 已经有Audio Device: AC97,这次只需要在Hardware → Audio Device → Edit中把 Backend 从none改为spice。如果读者的 Win98 还没有添加声卡,才使用Add → Audio Device,选择 AC97 和 spice。

最终关键配置是:

vga: qxl audio0: device=AC97,driver=spice tablet: 1

1. 重新提供 VMDisp9x 驱动文件

我此前已经安装过 VMDisp9x,使用的安装介质仍是:

vmdisp9x-1.2025.0.119b-driver-3d-win98.iso

下载地址:VMDisp9x v1.2025.0.119 Release。

ISO 本身就已经做好,不需要重新打包。在 PVE 里挂载给 Win98 的虚拟光驱即可。

由于这次把显示设备从 Standard VGA 换成了 QXL,Win98 第一次启动时会重新发现设备,并可能出现:

请插入 VMDisp9x Display Driver for Win9x Disk

或者进入添加新硬件向导。这不代表 SPICE 没有启动,而是 Win98 正在寻找原来安装过的显示驱动文件。把搜索路径指向挂载的 VMDisp9x ISO,按向导补齐所需文件,完成后重启。

注意:能在 QXL/SPICE 配置下进入 Win98 桌面,不代表已经拥有与 XP 一样成熟的原生 QXL 驱动。VMDisp9x 主要为 Win9x 提供虚拟显示设备和 VGA/VESA 等兼容显示能力,QXL 相关支持仍有实验性限制。读者不应强行安装不匹配的设备型号;如果换显卡后显示模式不正确,应先检查实际加载的驱动。

在我的实验里,按上述方式可以让 Win98 继续正常显示,配合前面的 USB Tablet,PVE 网页 Console 和remote-viewer都变得相当好用。

2. Win98 的 AC97:驱动之前就装好了,这次只改 Backend

这里需要接着上一篇 Win98 安装实验说清楚:Windows 98 的 AC97 声卡驱动不是这次才找到的。我此前已经使用 SoftGPU 历史归档项目 提供的AC97 3.62驱动,在 VM 153 中完成安装和设备识别验证。

当时 PVE 的配置特意选择了:

Hardware → Add → Audio Device Audio Device:AC97 Backend Driver:none

为什么先用none?因为我希望先单独确认 Windows 98 能不能正常识别 AC97,不把 SPICE 连接、宿主机音频等因素混在一起。安装后设备管理器中声卡没有黄色感叹号,「控制面板 → 多媒体 → 音频」也能看到正常的播放设备,系统重启、关机都没有因为声卡而出现异常。

此时听不到声音是正常的:none只用来验证 Guest 内部的驱动与设备,并没有建立到 Ubuntu 的音频输出路径。

为了方便第一次配置 Win98 的读者,补充一下我当时安装 AC97 3.62 的具体步骤。下载并解压ac97_362驱动包,在 Ubuntu 中制作 ISO:

sudo apt install xorriso xorriso -as mkisofs \ -o ~/Downloads/ac97_362.iso \ -V ac97_362 \ ~/Downloads/ac97_362

这里假设驱动已经解压到~/Downloads/ac97_362目录。将生成的ac97_362.iso上传至 PVE 的 ISO 存储,挂载到 VM 153 的 CD/DVD。启动 Win98,从光驱运行驱动包里的Setup.exe,完成安装并重启。

先检查两处:

设备管理器 → 声音、视频和游戏控制器 控制面板 → 多媒体 → 音频

这是我在上一篇实验里已经验证成功的部分;如果是从上一篇继续操作,不需要重新安装 AC97 3.62。

这次要做的事情反而简单:正常关闭 Win98,进入 PVE 的Hardware → Audio Device → Edit,把原来的配置:

audio0: device=AC97,driver=none

改成:

audio0: device=AC97,driver=spice

保存、启动 Win98,再通过 Ubuntu 的remote-viewer打开 SPICE 会话,在C:\WINDOWS\MEDIA里选择 WAV 文件或者使用控制面板的系统事件测试声音。这样将原来已经验证正常的Win98 → AC97这一半,与本次新增的QEMU → SPICE → Ubuntu音频传输连接起来。

这里还要区分 Windows 98 与纯 DOS:Win98 的 AC97 驱动不能直接解决“重新启动到 MS-DOS 模式”后的数字音效。我曾尝试 QEMU 的 SB16 模拟,DOS 程序能够识别 DSP 4.05,但 DMA/IRQ 测试未通过,FM 音乐也没有正常播放。考虑到本次的主要目标是老 Windows 的远程桌面体验,纯 DOS 的声音就不再继续深入;有需要时可以另用 DOSBox-X。

3. 那个 PCI Communication Device 怎么办?

Win98 在改用 SPICE(QXL)以后,还会出现一个没有驱动的:

PCI Communication Device

如果硬件 ID 为:

PCI\VEN_1AF4&DEV_1003

它就是 VirtIO Serial Controller。PVE/QEMU 会为 SPICE Guest Agent 通信准备这个设备,但 Windows 98 SE 没有找到经过验证、可以直接使用的 VirtIO Serial 驱动和配套 vdagent。

这个未知设备不影响已经工作的显示、USB Tablet 鼠标和 AC97 音频链路。我选择接受这个兼容性限制;如果不想一直看到黄色感叹号,可以在设备属性中将它禁用于当前硬件配置文件。不过设备可能依然留在列表里,显示为禁用状态,不等于真正从虚拟机里删除了硬件。

这与上一篇 Win98 安装文章中“设备管理器没有黄色感叹号”的状态相比,是使用原生 SPICE 所付出的一点小代价。对实际体验而言,我觉得很值得。


七、再给 XP 加上 QEMU Guest Agent:版本选对很重要

到这里两台老 Windows 的 SPICE 部分就已经基本结束了。接下来这一步只针对 XP。

在原来的 XP 安装文章里,我认为 QEMU Guest Agent 没有必要安装。原因是 XP 年代太老,驱动兼容性不确定,而且 RDP 已经满足了使用需要。

这次既然把 VirtIO Serial 装好了,也就顺手研究一下,能不能让 XP 像新系统一样被 PVE 管理。

结果发现:可以,而且连 PVE Summary 中的客户机 IP 都能正常显示。关键是 QGA 必须选对版本。

1. 先在 PVE 打开 QEMU Guest Agent

进入:

VM 152 → Options → QEMU Guest Agent → Edit

勾选:

Use QEMU Guest Agent

保存后完整关闭 XP,再从 PVE 启动虚拟机,让 QEMU 创建 Agent 的专用 VirtIO Serial 通道。

也可以从 PVE Shell 检查:

qm config 152 | grep '^agent:'

一定先做这一步。如果只装了 MSI,却没有在 PVE 开启 QEMU Guest Agent,XP 里的服务可能报 1053,无法正常启动。这是本次最值得避免的一个坑。

2. 下载我验证成功的 QGA 历史安装包

最终使用的是 2018 年的历史版本:

qemu-ga-win-7.5.0-2.el7ev

32 位 XP 使用:

qemu-ga-x86.msi(历史下载目录)

下载目录中选择qemu-ga-x86.msi,不要选x64。这个历史归档同时还有i386命名的文件;这里采用的是我本次实测成功的x86安装包。

与前面一样,在 Ubuntu 将 MSI 打包为 ISO:

genisoimage -o qemu-ga-x86.iso \ -J -R qemu-ga-x86.msi

上传到 PVE、挂载给 XP,打开虚拟光驱运行qemu-ga-x86.msi。如果 XP 此前已经安装过另一版 QGA,先在「添加或删除程序」中卸载旧版,避免服务文件混用。

安装完成后进入:

运行 → services.msc → QEMU Guest Agent

确认服务启动,启动类型为自动。它是后台服务,不会打开普通的图形程序窗口。

3. 在 PVE 端验证:IP 终于出现了

在 PVE Shell 执行:

qm agent 152 ping qm agent 152 info qm agent 152 network-get-interfaces

其中ping成功可能什么也不输出,属于正常现象;info会返回支持的命令;network-get-interfaces则可查询客户机网卡。

我最初试过virtio-win-0.1.141.iso自带的 QGA。它能成功建立通信,但实际版本居然只有0.12.1,supported_commands里没有guest-network-get-interfaces,所以 PVE Summary 始终无法显示 XP IP。

换成上面这份qemu-ga-win-7.5.0-2.el7ev的安装包之后,服务正常运行,而且PVE Summary 终于能够显示 XP 的 IP 地址。

更重要的是,整个过程只安装独立的 QGA,并没有覆盖原先已经正常工作的 QXL、VirtIO Serial 或 SPICE Agent。

这也说明一个问题:XP 并不是完全不能使用 QEMU Guest Agent,关键是找到合适的历史版本,而不是机械地使用最新版或某张旧 ISO 内碰巧自带的版本。


八、最终配置与实际体验

最后在 PVE Shell 中检查两台虚拟机:

qm config 152 | grep -E '^(vga|audio0|tablet|agent):' qm config 153 | grep -E '^(vga|audio0|tablet|agent):'

XP 关键配置:

vga: qxl audio0: device=AC97,driver=spice tablet: 1 agent: 1

Win98 关键配置:

vga: qxl audio0: device=AC97,driver=spice tablet: 1

注意,以上只列出本文新增或修改的关键配置,并不是完整的 VM 配置,也不要求其他硬件跟我完全一样。

最终两台系统的体验可以概括成:

功能Windows XPWindows 98 SE
PVE 原生 SPICE 连接正常正常
remote-viewer桌面操作正常正常
USB Tablet 鼠标定位已改善已改善
AC97 驱动 / SPICE 音频已听到 XP 启动声AC97 3.62 驱动已实测正常;本次将 Backend 改为 spice,播放效果按客户端试听确认
SPICE Agent正常无成熟 Win98 方案
QEMU Guest Agent正常,PVE 可显示 IP不安装
设备管理器QXL、VirtIO Serial 正常留有一个可禁用的 VirtIO Serial 未知设备

这样配置以后,Windows XP 可以继续使用 Remmina/RDP,也可以通过 SPICE 连接;Windows 98 则有了更合适的虚拟桌面连接方式。PVE 网页里的 noVNC 也保留着,遇到问题随时可以打开。

对于 XP 和 Win98 这种已经停止安全维护的老系统,我仍然只把它们当作隔离的怀旧、软件兼容和技术实验环境,不会放到公网直接提供服务。

九、安装完后,怎样快速判断是哪一层出了问题?

这次实验真正需要排查的地方其实不多。遇到异常时,先把显示协议、客户机驱动、音频设备、鼠标输入和 Agent 管理通道分开看,比把所有问题都归结为“SPICE 不兼容”有效得多。

能打开 remote-viewer,但 Windows 显示分辨率很低

先检查 PVE 的 Display 是否确实是 QXL,再检查客户机当前加载的显示驱动。XP 可以在设备管理器里确认 QXL 驱动;Win98 则应检查 VMDisp9x 实际使用的兼容显示路径。尤其不要因为已经出现桌面,就认为显卡驱动完整安装成功。Win98 若只能使用基本 VGA 显示,先保证稳定,再考虑增加分辨率。

Windows 声音控制面板正常,却在 Ubuntu 上听不到声音

首先确认 PVE 的audio0后端是不是spice;其次确认使用的是remote-viewer,而不是 noVNC;最后在 Windows 里检查音量、静音和默认播放设备。尽量使用系统自带的 WAV 文件测试,不要一开始就上复杂播放器或游戏。特别是 Win98,AC97 3.62 在backend=none下已验证驱动正常,但none本来就不会向 Ubuntu 输出声音;需要改为spice才能测试回传。

noVNC 鼠标错位或者感觉明显卡顿

先查看tablet: 1,不要急着更换 QXL、重装系统。它不一定提升画面刷新帧率,但对鼠标定位的改善可能非常明显。Win98 如果一直检测不到 USB Tablet,还要回头确认原来那篇安装文章中解决的 PCI/USB 枚举问题没有重新出现。

XP 的 QEMU Guest Agent 服务启动失败

先看 PVEOptions是否已经启用 QGA,并在完整关机后重新启动 VM。能qm agent 152 ping但 Summary 看不到 IP,则进一步检查qm agent 152 info:如果没有guest-network-get-interfaces,就说明 Agent 本身不提供这条命令,不需要去重新配置 RTL8139 网卡。

还有一个小经验:碰到驱动版本问题,优先记录具体版本、设备硬件 ID 和实际错误信息,不要直接在 XP/98 上安装所谓“最新驱动包”。对二十多年前的系统来说,“驱动更老、但正好匹配”,经常比新版本更有用。


十、写在最后:老系统不必完美,但应该用起来舒服

把 XP 和 Win98 装进 PVE 时,我最早的想法只是怀旧:看一看熟悉的桌面,打开当年的应用程序,体验一下二十多年前使用电脑的感觉。

装好之后才发现,能启动只是第一步。真正影响体验的,往往是鼠标能不能自然移动、窗口是否流畅、声音能不能传回来,以及管理时能不能直接获取客户机信息。

这次没有重新安装系统,也没有为了修复老设备去修改 QEMU 源码。主要做的就是几项调整:

PVE 原生 SPICE(QXL) + AC97 / SPICE Audio + USB Tablet + XP 的旧版 SPICE Guest Tools + XP 的 QEMU Guest Agent

其中最有意思的两个发现,一个是tablet: 1对 XP 和 Win98 的鼠标体验改善非常明显;另一个是 Windows XP 上竟然还能找到正常工作的 QEMU Guest Agent,并让 PVE 成功显示 IP。

当然,Win98 的 VirtIO Serial 没有合适驱动,纯 DOS 的 SB16 声音也没能在这次 PVE/QEMU 实验中实现。但这些已经不影响我的主要使用目标,实在没必要为了几个边角功能无限折腾下去。

回头看,之前那篇 XP 文章选择“不装 SPICE、不装 QGA”,并不是错了。那是当时以最小兼容配置为目标的一种合理方案;而这次是在已知稳定基础上,找到了进一步完善体验的办法。

对老系统来说,最好的配置不是虚拟硬件最多,也不是设备管理器一定零感叹号,而是兼容性、便利性和维护成本之间的平衡。

二十多年以后,再打开 Windows XP 和 98,熟悉的桌面依然在那里。只是如今它们住进了 PVE,显示和鼠标已经能通过 SPICE 更自然地控制;XP 的开机声音也已传到 Ubuntu,而 Win98 则是在此前验证好的 AC97 3.62 基础上,补齐 SPICE 音频输出路径。

这就已经很有意思了。


参考资料与下载

  • SPICE 官方下载页面
  • Windows SPICE Guest Tools 0.74
  • VMDisp9x v1.2025.0.119 下载页面
  • SoftGPU 历史归档:Windows 9x AC97 3.62 等驱动
  • QEMU Guest Agent 7.5.0-2.el7ev 历史下载目录
  • Proxmox 开发邮件列表
  • Proxmox Support Forum

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询