1. 先搞清楚:为什么今天还要在 VMware 里跑 Windows Server 2003
如果你在搜索引擎里敲下"VMware 虚拟机 Windows Server 2003 安装教程",大概率不是出于怀旧。我这些年被问到这个问题,基本集中在三种场景里,而且每一种都很实际。
第一种是老业务系统的迁移承接。很多中小制造企业、贸易公司、医疗门诊的进销存或者生产管理系统,底层就是跑在 Windows Server 2003 + SQL Server 2000/2005 上的。原机器是十几年前的工控机或者塔式服务器,硬盘开始出坏道,主板电容鼓包,但软件厂商早就没了,源码也没有,重写一套成本比买台新服务器高得多。最省钱的做法就是把这套系统整体搬进虚拟机里,让它再活几年。
第二种是兼容性测试和软件考古。比如你要验证某个老版本客户端在旧系统上的行为,或者维护一份给客户的老版本安装包,需要反复在干净的 2003 环境里跑安装流程。物理机装一次要半小时,还占地方,虚拟机打完快照,出问题直接回滚,效率完全不是一个量级。
第三种就是学习和实验。想看看老一代的 IIS 6.0、AD 域控、组策略长什么样,或者在隔离环境里分析老样本的行为,虚拟机是最合适的容器。
但这里必须先说清楚一件事:Windows Server 2003 早已停止支持,不再有安全更新。所以在这篇教程的整个流程里,我会反复强调一个原则——把它当成一个隔离的实验箱,而不是一台能上网的生产机器。NAT 模式或者仅主机模式是默认选择,绝对不要给它做端口映射到公网,也不要在上面登录任何有价值的账号。
再说说 2003 这个产品本身。它的家族成员比很多人想象的要多,选错版本会直接影响后面能不能装、能装多少内存。
| 版本 | 32 位内存上限 | 64 位内存上限 | 典型用途 |
|---|---|---|---|
| Web Edition | 2 GB | 不支持 | 只跑 IIS 的轻量场景,限制多 |
| Standard Edition | 4 GB | 32 GB | 最常见,老业务系统主力 |
| Enterprise Edition | 32 GB(PAE) | 1 TB | 需要集群、大内存的场景 |
| Datacenter Edition | 64 GB(PAE) | 1 TB | 少见,一般用不上 |
| Standard/Enterprise R2 | 同左 | 同左 | 多了部分 64 位改进 |
日常我们接触到最多的就是Windows Server 2003 Standard Edition(32 位)和Enterprise Edition(32 位)。如果你手上的软件厂商明确说了"支持 R2",那就用 R2 的镜像;没说的话,用不带 R2 的版本兼容性反而更好,因为 R2 对部分老驱动的签名校验更严格。
还有一点经常被忽略:2003 的安装介质分为零售版、OEM 版和批量授权版。零售版和 OEM 版安装完需要联网激活,虚拟机的硬件一变(比如你改了几核 CPU、换了网卡类型),激活状态可能就掉了。批量授权版不需要激活,在虚拟机里折腾起来省心得多。所以如果你的场景允许,优先选用有正规授权的批量授权介质。这一点千万不要图省事去找来路不明的镜像和序列号,老系统本身已经没有任何安全防护能力了,再叠加一个被篡改过的安装源,等于把整个实验环境的安全底线全交出去。
把上面这些想清楚,再动手,能省掉后面一大半的回滚时间。
2. 开工前的三个决定:镜像、VMware 版本、虚拟机硬件档案
动手之前有三个决定必须提前定下来,它们决定了后面是"一路下一步"还是"反复推倒重来"。我见过太多人卡在第一步就开始怀疑人生。
2.1 安装镜像的准备与校验
镜像这块,最稳的来源是微软官方历史介质库或者你手头合法保有的原始 ISO。拿到之后先做两件事:校验哈希、确认位数。
校验哈希不是形式主义。我遇到过好几次"安装到一半报文件复制失败",排查到最后都是 ISO 下载过程中损坏了几个扇区。Windows 下可以用certutil直接算:
certutil -hashfile D:\ISOs\win2003_st_x86.iso SHA1把结果和来源页面公布的哈希值对一遍,对不上就重新下。这一步花两分钟,能省掉一个小时的无用折腾。
位数这块,如果你用的是 32 位镜像,虚拟机给 2 GB 内存就足够了;64 位镜像在 Workstation 里建虚拟机时要注意客户机类型要选对应的 64 位选项,否则安装程序会提示"这台计算机的 CPU 不支持 64 位"。
2.2 VMware 版本的取舍与授权
关于 VMware Workstation 的版本,直接从 17 起步就行,功能完整、对新宿主系统支持好。有个好消息是,从 2024 年下半年开始,Workstation Pro 对个人用户开放了免费使用,只需要在官网注册一个账号、走一遍个人使用授权流程,就能拿到合法授权。所以真的没必要再去网上找那些来路不明的"密钥最新版",那些东西要么已经失效,要么夹带了别的东西,为一个免费能拿到的授权去承担风险不划算。
顺便说一个热词里出现的问题——"虚拟机没有配置和打开选项"。这个现象有个很典型的原因:你手上的虚拟机是被加密过的,加密虚拟机会在设置界面隐藏一部分选项卡,或者你的 Workstation 是 Player 版本(Player 的功能被大幅裁剪)。确认一下版本右侧标题栏是不是写着 Workstation Pro,再看虚拟机是不是从别人那里拿来的加密包。
如果你之前装过旧版本、卸载不干净导致新版本装不上,官方有个专门的清理工具(VMware Cleanup Tool),跑一遍把残留的驱动、注册表项、虚拟网卡适配器清掉,再装新版本基本就顺了。这个工具的另一个用途是修复"VMnet1 有感叹号"这类虚拟网卡异常。
2.3 虚拟机硬件档案的预先规划
这部分是整篇教程里最容易被跳过、但后果最严重的环节。我把推荐参数整理成一张表,下面会逐条解释为什么。
| 硬件项 | 推荐值 | 说明 |
|---|---|---|
| 内存 | 1024 MB(32 位) | 512 MB 能跑,1 GB 舒服,别给 4 GB |
| 处理器 | 1 核 1 线程 | 老系统吃不满多核,给多了反而可能异常 |
| 硬盘 | 20 GB,单文件 | 单文件性能略好,便于整体搬移 |
| 磁盘控制器 | IDE 优先,LSI Logic 次之 | 避免用 SAS/准虚拟化控制器 |
| 网络适配器 | e1000 | 2003 自带驱动,不装 Tools 也能通 |
| 显示 | 默认,关闭 3D 加速 | 2003 用不上 3D,开着反而添乱 |
| 固件 | BIOS | 不要选 UEFI,2003 不认 |
内存只给 1 GB,不是抠门。32 位系统的地址空间要分给内核、显存映射和各种设备,给到 4 GB 反而可能出现内存识别不全或者驱动异常。给 1 GB,系统跑得轻快,宿主机也轻松。
CPU 给 1 核,是因为 2003 的调度器对多核的优化有限,而且部分老软件的授权按 CPU 核数计费,你给 4 核反而会触发授权警告。
网络适配器选e1000(也就是 Intel PRO/1000 MT)是关键一招。原因很简单:Windows Server 2003 的安装介质里内置了 e1000 的驱动,装完系统不装 VMware Tools 网卡就能用。如果你选了 vmxnet3 或者 e1000e,2003 里既没有内置驱动,装 VMwar Tools 又可能因为版本对不上而失败,最后就是"网卡上挂着感叹号"的经典局面。
磁盘控制器这块,如果你的客户机类型选对了,Workstation 会自动给你配 LSI Logic,2003 装的时候能认出来。但为了完全规避 F6 加载驱动的麻烦,我个人的习惯是直接改成 IDE。IDE 在现代硬件上性能确实弱一点,但老业务系统的 IO 压力本来就不大,稳定压倒一切。
3. 新建虚拟机:向导里那些默认值为什么不能照抄
新建虚拟机这一步,绝大多数人都是"一路下一步",然后卡在安装阶段。问题就出在向导的默认值是按现代系统优化的,直接套到 2003 上会踩坑。
3.1 客户机操作系统类型到底选哪个
Workstation 的新建向导里,客户机操作系统需要选两层:系统和版本。系统选 Microsoft Windows,版本一定要选 "Windows Server 2003" 或者 "Windows Server 2003 x64",不要选 "其他 Windows"。
这个选择直接决定了两件事:一是 Workstation 自动分配的虚拟硬件组合(网卡型号、磁盘控制器型号),二是它对虚拟机件的若干"兼容性开关"(比如是否禁用某些 CPU 特性)。选了 "Windows Server 2003",Workstation 会自动给你配 e1000 网卡和 LSI Logic 控制器,而且默认给你选 32 位或 64 位。选了 "其他",它可能给你配 vmxnet3,后面就有得折腾了。
如果你手上是从别人那里拿到的 .vmx 文件,打开后发现网卡类型不对,可以直接改配置文件。用文本编辑器打开 .vmx,找到这几行:
ethernet0.virtualDev = "vmxnet3" scsi0.virtualDev = "lsilogic"把vmxnet3改成e1000,保存后重新开机即可。改之前记得先完全关机,不要在有快照的状态下改。
3.2 内存、CPU、磁盘容量怎么给才合理
内存 1 GB、CPU 1 核,前面解释过原因。这里重点说磁盘。
磁盘容量给 20 GB 起步。为什么不是 8 GB 或 40 GB?8 GB 装完系统再打几个补丁就满了,2003 的补丁包累积起来体积不小;40 GB 以上对老业务系统来说纯属浪费宿主机空间,而且 2003 的 chkdsk 在大容量卷上跑得非常慢。20 GB 是个甜点值,装完系统加一套业务软件,一般还能留一半空间。
磁盘文件类型选单个文件。分裂成多个 2 GB 文件的优势是方便拷到 FAT32 分区,但现在谁还用 FAT32 做 U 盘?单文件在读写性能上略好,而且你整体搬移虚拟机目录的时候不用管那一堆.s001.s002分片文件。
有一个细节要注意:新建向导里的"立即分配所有磁盘空间"不要勾。勾了会立刻在宿主机上占满 20 GB,而且虚拟机磁盘不再自动增长。不勾的话它是按需增长,实际可能只用 5 GB。但在正式投入使用前,建议手动做一次磁盘整理(VM 菜单里的"管理 > 清理磁盘"),让块分配更连续。
3.3 网络、显示与那些容易被忽略的开关
网络模式的选择,取决于你的用途:
- 仅主机模式(Host-only):虚拟机只能和宿主机通信,完全隔离。适合分析、测试、断网实验。这是老系统最安全的模式。
- NAT 模式:虚拟机可以通过宿主机上网,但外部无法主动连进来。适合需要打补丁、需要下载老软件的场景。
- 桥接模式:虚拟机直接获得局域网 IP。除非你清楚自己在做什么,否则不要选,一台没有任何补丁的老系统接入局域网,风险完全不可控。
显示这块,把"加速 3D 图形"的勾去掉。2003 的图形栈不支持现代 3D 加速,开着它只会让 VMware Tools 的显示驱动安装多一层不确定性。分辨率默认 800x600 就行,装完 Tools 之后再往回调。
还有两个向导之外、但必须检查的开关:
在虚拟机设置的"选项"标签页里,把"共享文件夹"临时关掉。2003 上的 HGFS 共享文件夹依赖 VMware Tools,如果 Tools 还没装上,开着它会让资源管理器偶尔卡住。
在"高级"里确认固件类型是BIOS。2003 的安装程序不认 UEFI,如果你不小心改成了 UEFI,开机会直接跳到 EFI Shell,安装程序根本起不来。
这些开关平时没人会注意,但它们恰好就是"为什么别人能装我装不了"的答案来源。
4. 安装过程中的关键节点:从分区到第一次登录
虚拟机建好、ISO 挂上,点"开启此虚拟机",真正的流程才开始。这一段我把几个必须停下来想一想的节点单独拎出来讲。
4.1 启动与安装程序的应答阶段
开机后会有一段黑底白字的自检画面,紧接着出现 "Press any key to boot from CD",这句话只停留两三秒,一定要眼疾手快按一下回车,否则它会跳到"没有可引导设备"的错误页面。
如果你错过了一次,不用重启虚拟机,直接在菜单里选"虚拟机 > 电源 > 重新启动客户机"再来一次。
安装程序加载驱动文件需要一两分钟,这段时间屏幕是黑的或者显示一行 "Setup is loading files..."。别慌,这不是死机,是老系统加载速度就这样。如果你的宿主盘是机械硬盘,这一步可能要等三到五分钟,耐心点。
接下来有个很多人会忽略的选项:按 F6 加载第三方 SCSI 驱动。如果你老老实实按前面说的用了 IDE 控制器,直接跳过;如果你用了 LSI Logic,2003 内置驱动能认出来,也可以跳过。只有当你看到"找不到硬盘"的时候,才需要回来处理这件事——而处理方式通常是改控制器类型,而不是真去 F6 加载驱动(因为你现在手上根本没有对应的软盘镜像)。
4.2 分区那件事:那个"8 MB 未划分空间"
到了分区界面,你会看到一个 20 GB 的未划分空间。按 C 创建分区,输入容量,回车。
接下来这个坑,必须提前打预防针:安装完之后你会发现磁盘管理里多出一块 8 MB 的未分配空间,怎么都删不掉、也用不上。
这不是故障,是 Windows Server 2003 安装程序的固有行为。它会在系统盘末尾保留一小块空间,用途是支持后续的动态磁盘转换。你不用管它,200 MB 也别管,它不影响任何使用。
分区格式选 NTFS。2003 也支持 FAT32,但没有理由用它——NTFS 支持权限控制、更大的单文件、更好的容错,老业务系统通常也依赖 NTFS 权限来隔离用户数据。
格式化过程会走一遍完整格式(不是快速格式),20 GB 大概需要一两分钟。这一步别断电,也别手贱点关闭虚拟机。
4.3 网络组件、授权信息与管理员密码
文件复制完成后,系统会自动重启,然后进入图形化的收尾阶段。这里有几个地方要注意。
网络设置这一步如果出现,建议选"典型设置",然后到系统里再手动调 IP。自定义设置里那些组件选项对新手不友好,容易把 TCP/IP 关掉。
授权信息这里需要输入姓名、单位,如果你用的是批量授权介质,还会要求填授权数量(一般填 999 之类,具体按你的授权来)。这一步请务必使用你合法持有的授权信息,老系统本身已经没有安全防护了,再用来源不明的授权信息,等于在裸奔的机器上再开一扇门。
管理员密码这一步,很多人图省事直接留空。千万不要留空。业务系统里很多老软件、老脚本会通过网络访问这台机器,空密码一旦被扫到,后果自己承担。设一个符合复杂度要求的密码,写在自己的记录里。
如果密码设置得比较简单,会弹出一个提示框说密码不符合复杂度要求,但你可以点"是"继续。不过还是建议按要求设,反正测试环境里也没人天天登。
4.4 第一次登录之后立刻要做的几件事
登录进桌面之后,先别急着装软件。我个人的清单是这样:
- 确认网络适配器正常。打开"网络连接",看"本地连接"是不是处于连接状态。如果显示"网络电缆被拔出"或者有黄色感叹号,说明网卡型号选错了,回到前面 3.1 节去改 .vmx。
- 手动设 IP。NAT 模式下,网关一般是
192.168.x.2(x 取决于你的 VMnet8 网段),DNS 用宿主机的或者公共 DNS。仅主机模式类似,网关是 VMnet1 的地址。 - 关掉关机事件跟踪。这是 2003 里非常烦人的一个默认设置——每次关机都会弹出一个"关机原因"的对话框。关掉的方法:开始菜单运行
gpedit.msc,定位到"计算机配置 > 管理模板 > 系统",找到"显示关闭事件跟踪程序",设为"已禁用"。
# 也可以在命令行直接改注册表,重启生效 reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Reliability" /v ShutdownReasonOn /t REG_DWORD /d 0 /f- 打第一个快照。系统干净、网卡正常、IP 配好,这个状态值得存下来。快照名字写"干净系统 + 日期",别叫"快照1"。
做完这四件事,这个虚拟机就已经是一个可用的底座了。后面装业务软件、调参数,随时可以回到这个点。
5. VMware Tools 这道坎:装不上、脚本报错、蓝屏的排查链路
到这一步,很多人第一次遇到真正的硬骨头。VMware Tools 在 2003 上的安装,是整篇教程里踩坑密度最高的环节。
5.1 为什么新版 Tools 在 2003 上装不上
VMware Tools 的每个版本都有明确的客户机系统支持范围。官方兼容性表里,能覆盖 Windows Server 2003 的最后一档是 10.1.x 系列。从 10.2 之后,新版本的最低要求已经抬到了 Windows Vista / Server 2008 这一代,往上的 11.x、12.x 更不用说。
你在 Workstation 17 里点"虚拟机 > 安装 VMware Tools",挂载的是随 Workstation 一起分发的那个 ISO,版本通常是 12.x。拿着它去 2003 里点 setup.exe,大概率会遇到两种情况:安装程序直接弹"此安装程序不支持此操作系统",或者开始安装了,进度条走到一半突然报脚本错误然后回滚。
所以正确的做法是:去官方归档里找 10.1.x 版本的 VMware Tools,用它提供的 ISO 挂载安装。挂载方式是在虚拟机设置里把 CD/DVD 指向那个老版本 ISO 文件,而不是走菜单里的"安装 VMware Tools"。
5.2 "继续运行脚本未能在虚拟机中成功运行"的完整排查
这个报错在热词里出现过,是 2003 装 Tools 最典型的拦路虎。它的完整信息一般是"继续运行脚本未能在虚拟机中成功运行。如果您在此虚拟机中配置了共享文件夹……"下面跟着几个选项。
我按实际排查顺序列一下:
| 排查顺序 | 检查项 | 处理方式 |
|---|---|---|
| 1 | Tools 版本是否匹配 | 换 10.1.x 版本 ISO 重试 |
| 2 | 共享文件夹是否开启 | 虚拟机设置里临时禁用共享文件夹 |
| 3 | .NET Framework 是否缺失 | 装 .NET Framework 2.0 SP1 后再装 Tools |
| 4 | Windows Installer 版本过低 | 先装 Windows Installer 3.1 |
| 5 | 是否以管理员身份运行 | 用管理员账号登录后手动执行 setup.exe |
| 6 | 临时目录权限 | 确认%TEMP%可写,或换个管理员账号 |
按经验,前两条能解决八成的案例。共享文件夹这个因素特别隐蔽——Tools 安装程序在配置 HGFS 组件时,会去尝试挂载宿主机的共享目录,如果宿主机的共享路径带了某些特殊字符,或者权限对不上,脚本就会在中途挂掉,然后弹出这个报错。你在虚拟机设置里把共享文件夹那一栏先关掉,装完 Tools 再打开,问题往往就没了。
如果前两条都排除了,基本就是运行环境的问题。2003 出厂时的 .NET Framework 版本很老,而 Tools 的部分组件(尤其是拖放和共享组件)依赖 .NET 2.0。先手动装上 .NET Framework 2.0 SP1,再重装 Tools,成功率会高很多。
还有一个小技巧:不要用自动播放弹出的那个安装界面,手动进光驱目录,找到setup.exe,右键"以管理员身份运行"。自动播放那条路径有时候会以受限权限启动,导致关键服务注册失败。
5.3 Tools 装完之后能带来什么
装好 Tools 之后,你能获得这些实际收益:
- 显示驱动。分辨率可以调到 1024x768 甚至更高,鼠标不再有那种"粘滞感",操作体验提升一大截。
- 时间同步。虚拟机和宿主机的时间自动对齐,避免老软件因为时间漂移出现奇怪的授权或者日志问题。
- 关机/重启的优雅通知。关虚拟机时系统会走正常的关机流程,而不是直接断电,降低文件系统损坏概率。
- 拖放与复制粘贴。这个在 2003 上支持是有限的,特别是大文件的拖放经常失败,但复制粘贴文本基本可用。
共享文件夹(HGFS)我是建议谨慎使用的。老业务系统对文件锁的处理本来就脆弱,通过 HGFS 挂载的目录在网络中断或者快照回滚后可能出现句柄失效。真要传文件,我更推荐下面第 6 章里说的 HTTP 方式。
6. 装好只是开始:网络连通、磁盘扩容、快照与日常维护
虚拟机跑起来不等于事情结束。日常维护里有三件事,几乎每个人都会遇到。
6.1 宿主机与虚拟机的三条数据通道
传文件这件小事,在老系统上得讲究方法。我按可靠性排个序:
第一条通道:HTTP 临时服务。在宿主机上开一个临时 HTTP 服务,把要传的文件放在目录里,然后在 2003 的 IE6 里访问宿主机 IP 下载。
# 宿主机上进入要共享的目录,然后 python -m http.server 8000这样做的好处是不依赖任何 Tools 组件,走的是标准 TCP/IP,最稳。IE6 打开http://192.168.x.1:8000就能看到文件列表。缺点是 IE6 对某些现代网页会崩,但纯静态文件列表它完全能应付。
第二条通道:共享文件夹。方便,但前面说了有句柄风险,适合传临时的小文件。
第三条通道:ISO 挂载。把文件打包成 ISO,通过虚拟光驱挂载。适合传大文件或者需要保持打包结构的东西。缺点是要重新生成 ISO,比较麻烦。
还有一个经常被提到的场景:主机访问虚拟机上的网站。比如你在 2003 上跑了 IIS,想从宿主机浏览器访问。如果虚拟机网络是 NAT 模式,宿主机直接用虚拟机的内网 IP 访问就行;如果是仅主机模式也一样。但如果你需要从局域网其他机器访问,就必须做端口转发,而这一步我强烈建议你三思——一台没有补丁的 2003 暴露在局域网上,等于给整个内网开了个口子。
6.2 虚拟磁盘扩容之后,2003 里看不到新空间
这是个特别经典的坑。你在宿主机上把虚拟磁盘从 20 GB 扩到 40 GB,开机进 2003,打开磁盘管理,发现后面那 20 GB 确实是"未分配",但你右键 C 盘,"扩展卷"这个选项根本不存在。
原因是:Windows Server 2003 的磁盘管理器不支持扩展系统卷,这个功能是到 Server 2008 才加进来的。2003 自带的diskpart也没有extend命令。
解决办法有两条:
方案一:用第三方分区工具挂载操作。下载一个 GParted Live ISO,挂到虚拟机的光驱,从它启动,在图形界面里把未分配空间合并到 C 盘。这个操作对分区表的改动比较底层,动手之前一定先给虚拟机做快照,出问题直接回滚。
方案二:不扩 C 盘,新建一个数据盘。如果你的目的是存放业务数据,其实没必要扩 C 盘,直接再挂一块虚拟磁盘,在 2003 里初始化、分配盘符,把数据目录迁过去。这样做风险最小,而且符合"系统盘和数据盘分离"的良好习惯。
我个人的建议是方案二,除非你的软件强制要求装在 C 盘且占用巨大。
6.3 快照策略与"上次意外关机"提示的真实含义
快照不是备份。这句话要说三遍。快照保存的是磁盘在某个时刻的状态差异,它依赖原始磁盘文件。如果原始 vmdk 损坏了,所有快照一起完蛋。正确的做法是:用快照做"临时回滚点",用完整复制虚拟机目录做"真正的备份"。
快照的层数也要控制。三层以内是安全的,超过五层性能会明显下降,超过十层基本就没法用了。所以流程应该是:干净系统打一个,装完主要软件打一个,之后每次改配置前打临时快照,改动验证通过后立刻删除临时快照并重新打一个合并后的。不要一路打下去。
关于热词里的"虚拟机上次意外关机"——这个提示的意思是 VMware 检测到虚拟机没有走正常关机流程(可能是宿主机断电、任务管理器强杀进程、或者直接点了关闭虚拟机)。它给你两个选项:重试、或者继续。继续不会损坏数据,但如果虚拟机上有正在写的数据库,可能会造成文件损坏。
还有一个跟它相关的经典坑:有时候 VMware 还会问你"我已复制该虚拟机 / 我已移动该虚拟机"。
- 选"我已移动":保留原来的 UUID 和 MAC 地址。适用于你把虚拟机整体搬到另一台机器、但希望它保持"同一台机器"身份的场景。
- 选"我已复制":VMware 会重新生成 UUID 和 MAC 地址。适用于你要基于这份拷贝创建一台"新机器"的场景。
选错的后果是:选成"我已复制",网卡 MAC 变了,2003 里会认成一块新网卡,原来的 IP 配置可能失效,某些按 MAC 授权的软件也会失效。所以搬移虚拟机的时候,除非你确实要复制出一台新机器,否则一律选"我已移动"。
7. 我踩过的几个坑与绕坑姿势
最后把几个零散但很值得说的坑集中讲一下,这些在标准文档里基本不会写,但实际操作中遇到的概率不低。
第一个:安装过程中出现 ACPI 蓝屏(0x000000A5)。表现是安装程序刚加载完驱动,就蓝屏报 ACPI 相关错误。原因是 Workstation 传递的 ACPI 表信息对 2003 来说太新了。绕坑方式是在安装程序最开始出现 "Press F6" 那一屏时,按下 F7(不是 F6),安装程序会跳过 ACPI 检测,用标准 PC 模式安装。代价是关机不会自动断电,但系统能装上去、能跑,这个代价完全可以接受。这个技巧知道的人不多,但真的能救急。
第二个:老软件装完之后系统时间乱跳。装了 Tools 之后时间同步默认开启,但有些老软件对时间的容差很小,宿主机的时区或者夏令时一变化,软件就报错。可以在虚拟机设置的"选项 > VMware Tools"里把"将客户机时间与主机同步"关掉,然后在 2003 里手动配一个内网 NTP 源,或者干脆让它自己走。
第三个:卸载 VMware 之后虚拟网卡残留。表现为网络连接里看到 VMnet1、VMnet8 挂着感叹号,或者重装 VMware 时报"无法在更新服务器上找到组件,请联系技术支持"。这时候用官方的 Cleanup Tool 清一遍,然后重装,比手动删注册表靠谱得多。
第四个:IE6 打开现代网站直接崩。这不是故障,是 IE6 本来就不支持那些页面。如果你需要在老系统上获取网络资源,用命令行工具更省事。2003 自带ftp客户端,也可以手动放一个老版本的 curl 或者 wget 进去,比 IE6 稳得多。
第五个:C 盘空间莫名消失。2003 的%SystemRoot%下会积累大量补丁卸载目录($NtUninstallKBxxxx$)和日志文件。跑一次磁盘清理,或者手动删掉那些卸载目录,能腾出好几个 GB。删之前确认你不再需要卸载那些补丁。
第六个:新版本 Workstation 里新建的虚拟机硬件版本太高。Workstation 17 默认用 hardware version 21,对 2003 来说太新了。虽然大多数情况下能跑,但如果遇到奇怪的驱动问题,可以在虚拟机设置的"选项 > 高级"里把硬件兼容性降到 Workstation 10 或 12 这一档再试。降档之后记得确认网卡类型没被改回 vmxnet3。
把这篇流程走一遍,你手上应该有一台能正常跑、能联网(在受控范围内)、能传文件的 Windows Server 2003 虚拟机了。我个人这么多年折腾下来最大的体会是:老系统的"脾气"其实很稳定,所有的不稳定都来自我们拿着现代的习惯去套它——给它少一点内存、少一点核心、老一点的硬件型号、老一点的 Tools,它反而跑得比什么都听话。