尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
PVE 装 Windows XP:用老硬件配置重温经典
前段时间我陆续在 PVE 上安装了 Debian、Arch Linux、Windows 11、FreeBSD 等系统。折腾到这里突然产生了一个很单纯的想法既然虚拟化环境都搭好了为什么不装一台 Windows XP 怀旧一下Windows XP 发布于 2001 年距离今天已经过去二十多年。但有意思的是真正把它装进 PVE 之后会发现XP 其实依然可以非常流畅地运行。当然前提是不要试图给它塞进太多现代虚拟硬件。这次实验最后采用的思路非常简单SeaBIOS i440fx qemu32 IDE Disk RTL8139 1 GB RAM RDP没有 VirtIO Disk没有 QEMU Guest Agent也没有折腾 SPICE。最终效果反而非常舒服。一、为什么还要折腾 Windows XP当然不是为了真的把 Windows XP 当作日常操作系统。更多是几个原因。第一是怀旧。Windows XP 几乎代表了整个 PC 时代非常特殊的一段记忆蓝天白云壁纸 经典开始菜单 Windows Media Player Office 2003 QQ Winamp Flash VC6 各种老游戏对于很多人来说这可能就是第一次真正长期使用 PC 的时代。第二是老软件兼容。有些十几二十年前的软件、开发环境、游戏在现代 Windows 上反而越来越难运行。例如Visual C 6.0 早期 Delphi 老版 Office 老游戏 老驱动工具 一些 ActiveX 软件虚拟机恰好非常适合把这些东西封存在一个独立环境里。第三是 PVE 已经把虚拟化基础设施准备好了。相比为了 XP 再去找一台 Pentium 4 老电脑创建一台虚拟机显然简单得多。二、Windows XP 和现代虚拟机最大的区别现在创建 Windows 11 或 Linux VM通常会优先考虑UEFI Q35 VirtIO SCSI VirtIO NIC QEMU Guest Agent SPICE / QXL Balloon但这些东西对于 Windows XP 来说反而可能成为麻烦。Windows XP 最舒服的方式不是尽量给它最新的虚拟硬件。而是尽量模拟一台 XP 年代真实存在的 PC。因此这次我整体采用的是比较“复古”的配置。三、创建 Windows XP 虚拟机准备好 Windows XP Professional SP3 ISO 后在 PVE 中创建 VM。系统类型选择Microsoft Windows Windows XP / 2003PVE 本身仍然保留了针对 XP/2003 的系统类型。1. BIOS 和 Machine建议BIOS: SeaBIOS Machine: i440fx不要使用OVMF / UEFI Q35Windows XP 原本就是 BIOS 时代的系统。SeaBIOS i440fx 是最省心的组合。四、显卡Default 就够了创建 VM 时Graphic Card 默认是Default一开始我也考虑过找 Cirrus。但当前 PVE 中已经没有必要刻意使用它。因此最终直接保持Graphic Card: Default安装过程和 XP 桌面都没有出现问题。如果遇到显示兼容性问题也可以尝试Standard VGA这里没必要一开始就折腾 QXL。后面会看到我们甚至根本不需要依赖 SPICE。五、硬盘使用 IDE这是 XP 虚拟机非常重要的一点。磁盘采用Bus/Device: IDE我的虚拟硬盘容量设置为64 GB格式使用qcow2Windows XP 原生就认识 IDE Controller因此安装程序可以直接识别硬盘。如果一开始使用 VirtIO SCSIWindows XP 安装镜像通常并没有相应驱动还需要额外加载驱动。对于一台怀旧机来说完全没有必要。所以IDE反而是最简单的方案。Discard 不需要开启这里我没有开启DiscardXP 本身并没有现代 Windows 那样的 TRIM 支持。因此没有必要为了一个基本不会使用的功能增加额外配置。最终就是IDE Disk Discard: Off SSD Emulation: Off把它想象成一块传统机械硬盘即可。六、CPU 和内存CPU 配置Type: qemu32 Sockets: 1 Cores: 2内存1024 MB也就是2 Core 1 GB RAM对于 Windows XP 来说已经相当奢侈。实际运行速度非常快。没必要给4 Core 8 GB RAM CPU hostXP 根本利用不到而且老系统使用现代 CPU 特性反而可能增加兼容问题。七、网络RTL8139网卡选择Model: RTL8139 Bridge: vmbr0而不是 VirtIO。RTL8139 是 Windows XP 年代非常常见的网卡XP 对它的兼容性很好。安装完成后网卡可以直接正常工作。因此整套虚拟硬件实际上已经非常像一台二十年前的 PCCPU qemu32 RAM 1 GB Disk IDE NIC RTL8139 VGA Standard/Default VGA BIOS SeaBIOS Chipset i440fx八、安装 Windows XP之后正常从 ISO 启动。熟悉的蓝色安装界面再次出现Windows Setup选择硬盘、格式化 NTFS然后开始安装。整个过程和二十年前在真实 PC 上装 XP 基本没有区别。区别只是速度快了很多。以前安装 Windows XP 可能需要几十分钟。现在虚拟机里磁盘、CPU 性能都远远超过那个时代的 PC。九、设备管理器里的两个未知设备XP 安装完成后我检查了一下设备管理器基本所有硬件都已经正常识别。但出现了两个未知设备。第一个硬件 IDPCI\VEN_1AF4DEV_1002...这是VirtIO Balloon Device第二个ACPI\QEMUVGID这是QEMU Virtual Machine Generation ID它们都属于现代虚拟化环境中的设备。而对于一台 Windows XP 怀旧机来说实际上都没有什么必要。十、关闭 Balloon DevicePVE VM 默认可能开启Ballooning DeviceBalloon 主要用于动态调整虚拟机内存。但 XP 这里只有固定1024 MB根本没有动态内存的需求。因此直接在 PVE 中关闭 Balloon Device。关闭之后XP 中对应的未知设备自然就消失了。十一、关闭 VM Generation ID另一个ACPI\QEMUVGID是 VM Generation ID。它主要用于让现代操作系统知道虚拟机发生过Snapshot Restore Clone Migration之类的虚拟机状态变化。XP 并不会真正使用它。这个选项目前 PVE Web 页面中没有直接显示所以需要在 PVE Shell 中修改。假设 VMID 为152先确认qm config 152 | grep vmgenid然后关闭虚拟机qm stop 152禁用qm set 152 --vmgenid 0重新启动qm start 152再次进入 Windows XP 后ACPI\QEMUVGID这个未知设备也消失了。至此设备管理器非常干净。十二、QEMU Guest Agent 要不要装我的选择是不装。QEMU Guest Agent 对现代 Windows/Linux VM 非常有价值。例如读取 Guest IP Guest Shutdown 文件系统 Freeze PVE 与 Guest 通信但 Windows XP 已经不属于现代 VirtIO Windows Driver 的主要支持目标。想给 XP 安装 Guest Agent往往还需要寻找非常旧的 VirtIO Driver 和 Guest Agent。对于一台怀旧机而言完全属于为了功能而增加复杂度。所以这次干脆保持QEMU Guest Agent: DisabledPVE 仍然可以启动 VM 关闭 VM 做 Snapshot 做 Backup对我的使用没有什么实际影响。十三、SPICE 要不要折腾这个问题我一开始也考虑过。之前在 Debian、Arch Linux、Windows 11 VM 上使用 SPICE体验确实很好。例如动态分辨率 剪贴板 音频 remote-viewer但 XP 又不同。想要获得完整 SPICE 体验需要寻找能够支持 XP 的旧版本QXL Driver SPICE Guest Tools驱动版本和兼容性都比现代系统麻烦很多。后来我发现其实根本没有必要。因为 Windows XP Professional 自带Remote Desktop也就是 RDP。十四、开启 Windows XP RDP进入我的电脑 → 属性 → 远程勾选允许用户远程连接到这台计算机然后确保 Windows Firewall 中允许远程桌面或者确认 TCP 3389 已经监听netstat -an | find 3389正常会看到0.0.0.0:3389十五、一个容易踩的小坑账户必须有密码我第一次通过 Remmina 登录时遇到了用户名或密码错误一开始还以为是WORKGROUP Domain 用户名格式的问题。实际上原因非常简单Windows XP 本地账户没有设置密码。Windows XP 默认禁止空密码账户通过 RDP 远程登录。给用户设置密码后用户名 密码直接登录即可。甚至不需要COMPUTERNAME\username用户名本身就可以正常使用。十六、Ubuntu 使用 Remmina 连接 XP我的主力机是 Linux因此直接使用Remmina协议RDP服务器填 XP IP192.168.x.x然后Username: pveuser Password: ******即可连接。Windows XP 的 RDP 客户端体验让我有些意外。它比我预想中好很多。鼠标非常流畅窗口刷新也明显比 noVNC 更舒服。所以最后我的方案变成PVE noVNC ↓ 安装 / 故障排查 RDP ↓ 日常使用这样甚至都不需要 SPICE。十七、RDP 还能直接传声音更加意外的是RDP 甚至已经解决了声音问题。在 Remmina 中编辑连接在高级设置里将声音设置为Sound: Local重新连接 XP。然后 Windows XP 中会出现类似Microsoft RDP Audio Driver的音频设备。XP 中播放Windows XP Startup.wav声音会直接从 Ubuntu 主力机扬声器播放出来。也就是说Windows XP ↓ RDP Audio ↓ Remmina ↓ Ubuntu ↓ Speaker这一点非常舒服。甚至没有必要再给 PVE VM 添加AC97虚拟声卡。十八、最后采用的配置最终这台 XP VM 非常简单OS Windows XP Professional SP3 BIOS SeaBIOS Machine i440fx CPU qemu32 1 Socket 2 Core Memory 1024 MB Disk IDE 64 GB qcow2 Network RTL8139 Graphic Default Balloon Disabled VM Generation ID Disabled QEMU Guest Agent Disabled SPICE Not Used Remote RDP虚拟机结构可以简单理解为Proxmox VE │ ┌─────────┴─────────┐ │ │ SeaBIOS i440fx │ Windows XP SP3 │ ┌──────┼──────┐ │ │ │ IDE RTL8139 VGA │ │ Disk vmbr0 │ LAN │ Ubuntu │ Remmina │ RDP ┌───┴────┐ Video Audio它并没有使用多少现代虚拟化特性。但这恰恰是关键。十九、老系统其实不一定需要“现代化”折腾完成以后我最大的体会反而是对老系统来说最好的虚拟机配置并不一定是最新的虚拟硬件。Windows 11 可以VirtIO QEMU Guest Agent SPICE QXL UEFI Q35但 Windows XP 更适合IDE RTL8139 SeaBIOS i440fx RDP这和真实硬件其实是一样的。很多时候兼容性不是通过不断增加组件解决的。而是尽量减少系统不认识的东西。最终甚至把Balloon VMGenID QEMU Guest Agent SPICE都去掉了。反而得到了一台非常干净的 Windows XP VM。二十、Windows XP 还能用来干什么当然我不会建议把 Windows XP 当作现代日常操作系统。毕竟它已经停止安全更新很多年。但作为隔离的虚拟机它依然非常适合老游戏 老软件 Visual C 6.0 Office 2003 老版浏览器测试 老 Windows 软件兼容实验 软件考古 怀旧尤其配合 PVESnapshot Backup Clone随便怎么玩都不怕。软件搞坏了Rollback即可。这甚至比二十年前真正使用 XP 更舒服。写在最后二十多年前一台能流畅运行 Windows XP 的电脑可能意味着Pentium 4 512 MB / 1 GB RAM IDE HDD 百兆网卡 CRT 显示器今天它只是 PVE 中一个1 GB RAM 2 Core 几十 GB Disk的小虚拟机。但当熟悉的Windows XP启动音乐再次从 RDP 中传出来时还是会有一种非常奇怪的感觉。技术已经跨过了很多代。但有些东西一打开还是一下子回到了二十年前。
RELATED

相关推荐

C++代码实现MATLAB中的normalize函数功能

C++代码实现MATLAB中的normalize函数功能

#include <iostream> #include <vector> #include <cmath> #include <numeric> #include <algorithm> #include <stdexcept> #include <string> #include <cassert>// // 辅助函数 // // 计算算术平均值 double computeMean(…

📅 2026/10/8 2:09:13
微客AI助手踩坑实录:企业微信客服扫码接入一直报错——两种 ID 长一个样却用混了

微客AI助手踩坑实录:企业微信客服扫码接入一直报错——两种 ID 长一个样却用混了

企业微信客服这条接入链路&#xff0c;我们从零跑通花了整整一个下午&#xff0c;其中两个小时的排查完全是被一个"看起来没问题"的链接浪费掉的。这篇把根因和修法复盘清楚&#xff0c;给同样要走这条路的同行省时间。## 事故现场&#xff1a;客户扫码后页面提示无法…

📅 2026/10/8 2:09:13
MPC-HC 媒体播放器配置指南:硬件解码加速与字幕加载的正确姿势

MPC-HC 媒体播放器配置指南:硬件解码加速与字幕加载的正确姿势

MPC-HC 媒体播放器配置指南&#xff1a;硬件解码加速与字幕加载的正确姿势 老旧电脑播 4K 卡成幻灯片&#xff1f;MPC-HC&#xff08;GPL-3.0 开源&#xff0c;clsid2 维护分支&#xff09;是轻量播放器里的常青树&#xff1a;资源占用极低、几乎全格式内置解码、开启硬件加速…

📅 2026/10/8 2:04:12
MORE NEWS

更多资讯

📰

S/4HANA SD信贷管理实战:检查规则配置与订单冻结排查之路

做SAP SD这行的&#xff0c;最怕哪个环节出岔子&#xff1f;在我看来&#xff0c;信贷冻结要是炸了&#xff0c;销售找你、财务找你、老板也找你&#xff0c;订单卡在VKM2里出不去&#xff0c;月底对账还得陪着SAP一起熬。今天这篇继续聊S/4HANA SD里的信贷管理&#xff0c;这是…

📰

VMware创建虚拟机安装RHEL9并配置SSH远程连接的完整实战指南

想在公司电脑上折腾 Linux 服务器&#xff0c;又不敢碰真实硬件&#xff0c;最靠谱的方案就是开个虚拟机练手。我最近正好从零走了一遍“VMware 创建虚拟机 → 安装 RHEL9 → 宿主机用 SSH 连进去”的完整流程&#xff0c;整个过程不算复杂&#xff0c;但有几个坑确实容易让新手…

📰

React Native开发OpenHarmony应用实战:从环境搭建到性能优化

1. 项目概述与技术选型&#xff1a;AnimeHub为什么选择RN开发OpenHarmony应用先交代一下项目背景。AnimeHub是一个面向动漫爱好者的内容聚合应用&#xff0c;主打追番、热播推荐、分类浏览等功能。这个项目从一开始就定了一个目标&#xff1a;不仅要跑在Android和iOS上&#xf…

📰

m3u8转MP4全攻略:从HLS原理到在线工具与ffmpeg实战

最近总有朋友拿着一张m3u8链接跑来问我&#xff1a;这东西到底怎么下载&#xff1f;浏览器打开要么乱码&#xff0c;要么明明能播却找不到下载按钮。每次我都要从m3u8是什么讲起&#xff0c;讲完对方还是似懂非懂。后来我发现&#xff0c;与其劝人折腾ffmpeg命令、装一堆软件&a…

📰

开源视频流服务器选型与部署实战:四大主流方案对比与延迟优化

做直播、做监控、做视频点播&#xff0c;说到底绕不开“视频流服务器”这个中间层。我这些年帮团队和客户搭过不少流媒体环境&#xff0c;结论很直接&#xff1a;商业产品能干的活儿&#xff0c;目前主流、免费且开源的视频流服务器几乎都能干&#xff0c;定制空间反而更大&…

📰

Whisper vs Vosk:Python离线语音识别方案与工程实践

最近圈里总有朋友问我同一个问题&#xff1a;Python做语音识别到底该上哪个库&#xff1f;网上搜来搜去&#xff0c;翻来覆去就是whisper和vosk这两个名字&#xff0c;可真到动手的时候&#xff0c;很多人连环境都搭不起来&#xff0c;更别说搞清楚两个框架到底怎么分工了。我这…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬