多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

VMware虚拟机安装Windows Server 2003全流程避坑

VMware虚拟机安装Windows Server 2003全流程避坑 隔三差五就有人来问我都这个年代了怎么还在 VMware 虚拟机里折腾 Windows Server 2003。我一般先反问一句你是要跑一套只能在 2003 上活的老业务系统还是单纯想搭个干净的练手环境这两种需求做法其实不太一样。这篇就按我自己反复装过十几遍的经验把 VMware 虚拟机安装 Windows Server 2003 的完整流程拆开讲一遍从版本选择、VMware 新建虚拟机向导里每一个参数怎么填到装完系统后最容易翻车的 VMware Tools再到底层网络怎么打通。适合手上有一台配置还过得去的电脑、需要兼容老软件或者准备学一学老版本活动目录的读者也适合纯粹想搞明白虚拟机工作原理的朋友。全程不需要你有多深的系统功底跟着走一遍就行但中间有几个坑如果没人提醒真的能耗掉你一整个晚上。1. 动手之前先想清楚为什么要装 Server 2003为什么要用虚拟机很多教程一上来就甩一堆截图让你点下一步下一步结果装到一半发现磁盘找不到或者装完了 Tools 装不上再回头翻文章又找不到答案。我的习惯是先花十分钟把为什么捋清楚后面遇到问题才知道该往哪个方向查。1.1 三类真实需求先对号入座第一类是老业务系统迁移。不少中小企业早年的 ERP、进销存、财务软件、门禁考勤系统都是基于 Windows Server 2003 加 SQL Server 2000/2005 那套环境跑起来的厂商可能已经不存在了升级无从谈起。这种情况下最稳妥的办法就是把整台老服务器搬进虚拟机物理机坏了也不怕。第二类是学习与研究。Windows Server 2003 是很多人接触服务器操作系统的入门版本它的活动目录结构、组策略界面、IIS 6 的配置逻辑跟后来的 2008、2012 一脉相承但更简单拿来做教学环境反而清爽。学生党想练手 AD 域、DNS、DHCP 这一套2003 的资源占用是最低的。第三类是特定软件的运行依赖。有些老版本的开发工具、编译环境、加密狗驱动、工业控制上位机软件只在 2003/XP 这一代内核上认证过装到 Win10 上直接报错。这种情况你没办法绕只能给它配一台专属机器。这三类需求有一个共同点都是低频、低负载、长期存在的场景。正好是虚拟机的强项。1.2 虚拟机而不是物理机的四笔账有人会问直接找台旧电脑装不行吗行但四笔账算下来不划算。第一笔是硬件账。老系统对硬件的挑剔程度远超你想象。Windows Server 2003 是 2003 年发布的产品它的安装程序对当时的 SATA 控制器、NVMe 固态、新芯片组基本没有内置驱动你拿一台新配的主机去装很可能卡在安装程序找不到硬盘这一步而且物理机上你还得去 BIOS 里折腾 AHCI/IDE 兼容模式甚至要自己集成驱动进安装盘。虚拟机里这些全是软件模拟的改个下拉框就完事。第二笔是成本账。一台常开的物理机按一年算电费和噪音都是实打实的。虚拟机平时挂起或者关机用的时候再开功耗几乎可以忽略。第三笔是快照账。这是虚拟机最舒服的地方。老系统的补丁、驱动、软件安装过程很容易把环境搞坏物理机上搞坏了重装一遍两小时起步虚拟机里装之前打个快照搞砸了三十秒回滚跟什么都没发生过一样。第四笔是隔离账。Windows Server 2003 早就停止安全更新了它的定位应该是内网隔离的实验环境绝对不该直接暴露在公网上。虚拟机可以很方便地配上仅主机模式或者 NAT 模式跟物理网络做切割。1.3 版本与授权先把这页看明白再点下一步Windows Server 2003 的版本比现在复杂得多当年微软的策略是按功能卖钱同一个年份的 2003 至少有这么多分支Web 版、标准版、企业版、数据中心版还分 32 位和 64 位x64 版本是 2005 年之后才推出来的叫 Windows Server 2003 x64 Edition内核其实是 2003 SP1 那一代。给你一张对照表按用途挑就行。版本适用场景32 位内存上限我的建议Web Edition只跑 IIS 网站2GB功能限制多不推荐Standard Edition通用场景、域控、文件服务4GB绝大多数人的选择Enterprise Edition集群、需要大内存的场景32GBPAEAWE老业务系统迁移常用Datacenter Edition超大规模、分区64GB学习用没必要x64 Edition需要 64 位应用或超过 4GB 内存受版本限制老软件兼容性反而差慎选我自己装了这么多次默认就选 32 位的 Standard Edition 或者 Enterprise Edition。原因是老软件、老驱动基本都是 32 位的x64 版的兼容性反而更差而 32 位系统在虚拟机里给 1GB 内存就已经跑得很流畅了那点内存上限根本碰不到。再说授权这块必须说明白。Windows Server 2003 需要一个合法的产品密钥才能继续安装企业版、标准版的密钥不通用。VMware Workstation 本身是商业软件官方提供限期试用长期使用请购买正版授权。网上流传的那些来路不明的密钥生成器和注册机我不建议你碰——这类工具往往是捆绑木马的重灾区为了一台实验机把宿主机搭进去太不划算。顺便提一句汉化包。VMware Workstation 官方是有简体中文界面的安装的时候选中文或者在菜单里切换语言即可。第三方打包的虚拟机汉化包我见过不少里面塞浏览器主页劫持和推广软件是常态没必要为了省几个英文单词去冒这个险。至于虚拟机汉化包下载 26H1这类关键词本质上是同一批资源在换文件名反复传播识别方式很简单凡是需要你先关注再解压、或者压缩包里带 exe 引导程序的一律不用。2. 环境准备清单镜像、软件、目录一个都别省准备工作做扎实后面至少能省一半时间。我按顺序列一下。2.1 宿主机硬件与 VMware 版本的底账宿主机的门槛其实很低但有几个数字要注意。处理器方面近五年的主流 CPU 都没问题四核起步就够。真正需要留意的是宿主机必须在 BIOS/UEFI 里打开硬件虚拟化Intel 的叫 VT-xAMD 的叫 SVM/AMD-V这个开关不打开虚拟机要么跑不起来要么慢得像幻灯片。任务管理器里性能标签页右下角会写虚拟化已启用/已禁用一眼就能确认。内存方面如果你只跑这一台 2003 虚拟机8GB 内存的宿主机完全够用宿主机自己吃 3~4GB虚拟机分 1GB剩下的余量很舒服。如果你打算同时开两三台做域环境实验建议 16GB 以上。硬盘方面2003 系统的干净安装大概占 1.5~2GB加上补丁和软件20GB 的虚拟磁盘绰绰有余但考虑到快照会额外占空间我一般留 40GB 的余量。VMware Workstation 的版本我个人建议用Workstation Pro 16 或者 17。这两代对老客户机系统的支持都还在客户机操作系统列表里能直接找到 Windows Server 2003 的条目。有个细节要提醒Workstation Player免费版和 Pro 版菜单项不一样Player 的功能被裁掉了一大截如果你发现虚拟机设置里某些选项找不到或者压根没有编辑虚拟机设置的入口先确认自己装的是不是 Player。热词里那个vmware 17 虚拟机没有配置和打开选项我遇到的情况十有八九是装成 Player 了或者试用期到了功能被限制。安装 VMware 的时候有一个坑如果你之前装过其他版本的 VMware 或者没卸载干净新版本可能直接安装失败。这时候官方有个清理工具VMware 的 cleanup tool专门用来把注册表项、驱动、虚拟网卡残留清干净跑一遍再装成功率会高很多。卸载的时候也养成习惯先在网络连接里确认虚拟网卡 VMnet1、VMnet8 是否还在正常卸载应该一起消失如果它们留下了并且带感叹号那就是驱动层面的残留需要清理工具出手。2.2 安装镜像的版本选择与校验镜像这块你需要的是一个 Windows Server 2003 的安装 ISO。这里说的获取指的是使用你自己手上合法授权的安装介质。企业里如果有批量授权渠道直接找 IT 部门要个人学习的话微软的评估版渠道和历史上的 MSDN 订阅是正路。拿到 ISO 之后别急着挂载先做两件事。第一件是确认位数和版本。文件名里通常会带 x86 或 x64以及 Standard/Enterprise 之类的字样。别装错了装错了后面全白费。第二件是校验哈希。用系统自带的 certutil 命令算一下 SHA-1 或 MD5跟来源提供的值对比。命令很短certutil -hashfile D:\ISO\win2003_std.iso SHA1如果哈希对不上说明文件在下载或者拷贝过程中损坏了。这种镜像我见过不少是下载到一半断网续传没接上装系统的时候会在复制文件阶段报安装程序无法复制文件 xxx报错文件名每次都不一样特别迷惑人。其实根源就是 ISO 坏了。另外如果你的 ISO 是不含 Service Pack 的 RTM 原始版建议你顺手把 SP2 也准备好。原因后面第 4.2 节会讲跟 137GB 那个老限制有关。2.3 虚拟机目录规划与文件命名这个细节很多教程不提但它影响你半年后还能不能管得清。我的习惯是在一个容量充足的盘上建一个统一目录比如D:\VMs\然后每台虚拟机一个子目录命名格式是用途-系统-序号比如D:\VMs\Lab-AD-2003-01\。不要把虚拟机文件放在桌面、C 盘或者中文路径特别深的目录里原因有三个一是 C 盘容易被系统更新和临时文件挤爆虚拟机一旦磁盘不足会直接挂起二是路径里的中文和空格在某些老工具链下会出问题三是备份的时候不方便整体打包。在建虚拟机之前就把目录建好然后名称和位置两个字段分开填——名称是虚拟机在 VMware 库里显示的名字位置是真正的存放路径。这两者可以不一样别被向导绕晕。3. 新建虚拟机向导里每一个选项都在决定后面顺不顺从这一步开始我会把为什么这么选讲透。你在别处看到的教程可能只说选这个但不知道原因的话遇到变体就懵了。3.1 为什么必须走自定义高级打开 Workstation文件菜单选新建虚拟机会让你选典型还是自定义高级。选自定义。理由很直接典型模式会用一套自动化规则帮你决定磁盘控制器、固件类型、虚拟磁盘格式而它对老系统并不总是友好。比如典型模式可能给你配上 SATA 或者 NVMe 控制器Windows Server 2003 的安装程序压根没有这些控制器的驱动结果就是安装程序找不到硬盘。自定义模式多花你一分钟但每一个参数都在你手里。3.2 固件类型与硬件兼容性硬件兼容性这一项默认会跟随你当前 Workstation 的版本号。这里不用纠结保持默认即可它只影响你能不能把虚拟机挪到别的版本上跑。真正要盯的是固件类型。向导中段会让你选BIOS或者UEFI。必须选 BIOS。Windows Server 2003 的内核完全不支持 UEFI 引导你选了 UEFI开机就是一行黑底白字告诉你找不到引导设备而且这个错误信息毫无提示性新手根本猜不到是固件的问题。如果向导里没让你选固件有些版本是建完之后在设置里改那就建完虚拟机后进编辑虚拟机设置→选项→高级把固件类型改成 BIOS。3.3 处理器、内存、网络适配器怎么给这一步的取值逻辑我整理成表你照着填就行。项目推荐取值为什么这么给处理器数量1 个处理器1~2 个核心2003 对多核调度不敏感核心给多了反而干扰老软件的授权校验内存512MB ~ 1024MB32 位标准版上线 4GB但 2003 自己只要 256MB 就能跑1GB 是舒适线网络类型先用 NAT需要隔离改仅主机建虚拟机阶段先给个能通网的装完再按需求调整I/O 控制器类型LSI Logic并行见下一节这是关键虚拟磁盘类型SCSI配 LSI Logic 控制器时选 SCSI声卡移除服务器系统默认不启用音频服务给了也是浪费关于内存我多解释一句。有些人觉得老系统越少内存越原汁原味给 256MB。这样装是能装但装补丁和打 SP2 的时候你会等得非常痛苦因为安装程序要在内存里解压大量文件内存不够就会疯狂读写虚拟磁盘。给 1GB快得多而且 2003 用 1GB 和用 256MB 的稳定性没有任何区别。关于处理器核心数还有一个现实问题如果你的宿主 CPU 主频特别高、核心特别多极少数情况下 2003 的安装程序会在中途某一步卡住不动。这时候的规避办法就是回到虚拟机设置把处理器减到 1 个处理器 1 个核心再重装一遍。这个现象不是 2003 独有的同代的 Windows 2000 也有类似脾气属于老系统对新硬件的水土不服。3.4 磁盘控制器这一步选错安装百分百找不到硬盘这是整篇教程里最重要的一节我把它单独立出来讲。向导走到选择磁盘类型那一步会给你几个选项IDE、SCSI、SATA、NVMe。它们背后对应的是不同的虚拟控制器芯片而 Windows Server 2003 的安装程序里内置驱动只覆盖其中一部分。先说结论选 SCSI然后在下一步的控制器型号里选 LSI Logic注意不是 LSI Logic SAS。原因在于Windows Server 2003 的安装介质里内置了 LSI Logic 53C1030 系列驱动文件 symmpi.sys和 BusLogic 的控制器的驱动。而LSI Logic SAS这个型号的驱动是到了 Vista/Server 2008 那一代才随系统提供的2003 的光盘里没有。如果你选了 SAS安装程序在探测硬盘阶段会直接告诉你没有找到任何磁盘驱动器你会卡在分区界面进不去。同理SATA 和 NVMe 这两种控制器也不是 2003 那一代的产物虽然某些版本能勉强识别但风险远高于收益。IDE 是可以用的兼容性最好只是性能比 SCSI 差一截。如果你实在拿不准用 IDE 也能装成功只是磁盘读写会明显慢一些。万一手快选错了怎么办不用重装整台虚拟机。虚拟机关机状态下进编辑虚拟机设置选中硬盘移除然后重新添加一块硬盘重新走一遍类型选择就行。系统盘里的数据当然会没但如果是在安装前发现等于零成本。3.5 虚拟磁盘容量与文件拆分容量给 40GB。这个数字不是随便定的2003 干净安装占 2GB 左右加上 SP2 和各种运行库大概到 4GB再装几个老业务系统10GB 以内绰绰有余。40GB 是为了给快照留出膨胀空间——快照文件会随着系统运行不断增长如果磁盘余量不够虚拟机可能因为磁盘空间不足直接暂停那场面挺吓人的。关于将虚拟磁盘存储为单个文件还是拆分为多个文件两者对性能影响微乎其微主要区别在管理上单个文件方便整体拷贝和备份多个文件每个 2GB在某些老文件系统上更友好。现在都 2024 年了直接选单个文件省心。建完之后别急着开机先检查一遍配置固件是不是 BIOS控制器是不是 LSI Logic网络是不是连上了光驱里有没有挂上 ISO。这四项对了再按开机键。4. 系统安装从挂载 ISO 到第一次登录4.1 挂载镜像与引导顺序进入虚拟机设置选中CD/DVD选使用 ISO 映像文件把路径指向你的 2003 安装镜像。这里有个小复选框一定要勾上启动时连接。不勾的话虚拟机开机时虚拟光驱里是空的直接就找不到引导设备。如果开机后出现Operating System not found或者直接进了 BIOS 界面按这几个顺序排查光驱里是不是没挂 ISO、光驱的启动时连接是不是没勾、启动顺序里 CD-ROM 是不是排在硬盘前面。VMware 开机时按 F2 可以进虚拟 BIOS在 Boot 标签页里把 CD-ROM Drive 调到最上面。顺利的话你会看到黑底白字的一行Press any key to boot from CD...这时候手要快按任意键。如果错过了这几秒它会转头去引导硬盘然后告诉你找不到操作系统你又得重启一次。4.2 分区、格式化与 137GB 那道坎安装程序加载完驱动会进到分区界面。40GB 的空间我一般分两个区系统盘 20GB数据盘 20GB。系统盘单独一个分区的好处是日后系统崩了需要重装数据盘的东西还在。格式化选NTFS快速格式化就行。不要选 FAT32原因有两个FAT32 单文件上限 4GB老业务系统里动不动就是几个 G 的数据文件而且 FAT32 不支持文件权限控制服务器上没有权限系统等于裸奔。这里要专门讲那个137GB 的老坑。Windows Server 2003 的原始发布版本RTM也就是没打 SP 的版本对 ATA 磁盘只支持 28 位 LBA 寻址理论上限就是 137GB。真正的问题是安装程序在分区界面允许你划出超过 137GB 的分区但装好之后超过 137GB 的那部分空间一旦被写入就会造成数据损坏症状是文件莫名损坏、磁盘检查报大量错误、严重时直接分区表损坏。规避办法很明确安装时单个分区不要超过 137GB或者直接使用已经集成 SP1/SP2 的安装镜像SP1 之后这个限制就解除了。我自己的做法更保守不管装哪个版本系统盘一律给 20~40GB数据盘单独建这样既避开了历史坑管理也清爽。4.3 安装中会碰到的几个选项分区完成开始复制文件之后安装程序会走一遍问答流程有几个地方值得说。区域和语言设置默认是美国英语。如果你需要中文环境这里先不用改装完系统之后再装中文语言包或者在控制面板里切换比在安装阶段改更稳。产品密钥填入你自己合法拥有的密钥填错或者不填安装程序会提示你继续但系统会有 30 天的激活宽限期。别指望跳过——宽限期到了系统会进入减少功能模式只能登录不能正常用。管理员密码这一步千万不能图省事直接留空留空在某些配置下会导致后续无法通过远程方式登录。设一个强度中等偏上的密码记下来别用 123456。网络设置安装阶段会问典型还是自定义这里选典型就行装完系统后我们再去手动配 IP比在安装阶段配清楚得多。工作组还是域先选工作组域的事等系统跑起来再说。复制文件、安装网络、重启整个过程在虚拟机上大概 20~40 分钟取决于宿主机的磁盘速度和 ISO 是否完整。中间会重启两三次每次重启前记得不要再按键盘让它自己走。4.4 第一次进桌面之后立刻要做的六件事装完看到那个蓝天白云的登录界面别急着一顿操作先把这六件事做了。第一件登录方式。Server 2003 默认要求按 CtrlAltDelete 才能登录但你在虚拟机里按这三个键截获的是宿主机。正确的组合键是CtrlAltInsert或者从 VMware 菜单里选发送 CtrlAltDel。Workstation 里还有个增强型虚拟键盘功能打开之后很多组合键都能正确送到虚拟机里值得开一下。第二件装 SP2 和后置补丁。Server 2003 的最后一个服务包是 SP2建议装。装完之后 Windows Update 能不能连上得看运气2003 时代的更新组件跟现在的更新目录协议已经不匹配了很多时候会报各种连接错误。我的建议是别死磕在线更新直接去找 SP2 的离线包再补几个关键的后置补丁就行。第三件装 Windows Installer 3.1。这一条是给下一步装 VMware Tools 铺路的非常重要我在第 5 章会详细讲。第四件改计算机名。默认名字是一串随机字符改成有意义的名字比如 LAB-2003-01。改完需要重启。别等装完一堆软件再改那时候改会牵扯到一堆注册表项。第五件关掉不必要的服务。Server 2003 默认开了不少服务器才需要的服务比如打印机服务、无线配置服务。做实验环境的话用不到的直接停掉并禁用能省不少资源。第六件打快照。系统刚装完、还没装任何业务软件的时候是这台虚拟机最干净的出厂状态。这时候打一个快照命名成系统初装完成以后无论搞成什么样回滚到这里都只要几十秒。这一条是我认为整篇教程里性价比最高的建议。5. VMware Tools2003 上最容易翻车的一段系统装好了但屏幕分辨率调不了、鼠标有点飘、主机和虚拟机之间复制粘贴不行——这些都是没装 VMware Tools 的症状。而在 2003 这台老客户机上装 Tools 的过程比装系统本身还容易出问题。5.1 为什么新版 Tools 在 2003 上装不上先讲原理。VMware Tools 是跟着 Workstation 版本一起迭代的新版的 Tools 面向的是 Windows 7 及以上、现代 Linux 这些客户机系统它依赖的服务、运行库、驱动接口都是新标准。而 Windows Server 2003 的内核停留在 5.2很多东西对不上。具体到实操最典型的拦路虎是Windows Installer 的版本。Server 2003 自带的 Windows Installer 是 2.0 版本而现代版本的 VMware Tools 安装程序要求 3.0 以上。你直接双击 tools 安装包它会在解压之后报错退出或者更常见的是弹出一句无法在更新服务器上找到组件。请联系 VMware 技术支持或您的系统管理员。看到这句话很多人第一反应是我的 VMware 出问题了跑去重装 Workstation、换版本、找客服其实完全是白费功夫。真相是 Tools 的安装程序在往回找它需要的那个 Windows Installer 组件找不到就报这个错。解决办法是把 Windows Installer 3.1 先装上。这个组件是微软官方发布的独立更新包不需要联网装完之后再跑 Tools 安装程序前面那一堆错误基本都会消失。5.2 用 winPreVista.iso 手动安装的正确姿势还有一个更省事的办法绕开新版 Tools直接用旧版的。VMware Workstation 的安装目录里其实备了好几套 Tools 镜像专门给不同年代的客户机用。你去安装目录默认在C:\Program Files (x86)\VMware\VMware Workstation\下面翻会看到类似这些文件windows.iso # 给 Windows 7 及以上 winPreVista.iso # 给 Vista 之前的老 Windows包括 2003、XP、2000 linux.iso freebsd.isowinPreVista.iso就是给 Windows Server 2003 准备的。PreVista这个词拆开就是Vista 之前。为什么要手动挂载而不是直接点菜单里的安装 VMware Tools因为菜单那个动作会让 Workstation 根据你配置的客户机操作系统类型去挑 ISO。如果你当初建虚拟机时操作系统类型选的是Windows Server 2016很多人会随手选个新的它挑给的就是windows.iso装上去当然失败。手动挂载winPreVista.iso可以完全跳过这套自动判断。手动挂载的步骤虚拟机设置 → CD/DVD → 使用 ISO 映像文件 → 指向winPreVista.iso→ 勾上启动时连接。如果客户机正在运行改完设置后进系统打开我的电脑光驱图标会刷新出来。进到光驱目录找到setup.exe双击。这时候它会问你典型安装还是自定义安装选典型。中间会弹驱动签名警告在 2003 上这个警告是正常的因为 Tools 里的驱动签名时间戳早于系统的信任链点仍然继续即可。安装过程大概一到两分钟最后会提示重启。这个重启必须做不重启的话显示驱动和鼠标驱动都不会生效你会以为装失败了。5.3 那两个经典报错到底卡在哪热词里出现了两个报错我单独拆一下。报错一无法在更新服务器上找到组件。请联系 VMware 技术支持或您的系统管理员。前面说了根因是 Windows Installer 版本过低。处理顺序先在 2003 里装 Windows Installer 3.1重启再跑 Tools 安装程序。如果还是报同样的错检查一下是不是挂了windows.iso而不是winPreVista.iso。这两个检查做完还没解决的概率极低。报错二VMware Tools 继续运行脚本未能在虚拟机中成功运行。这个提示一般出现在安装接近尾声的时候是 Tools 安装程序在客户机里执行一个后置脚本失败了。它通常会附带一句如果您在此虚拟机中配置……之类的后续说明。大多数情况下这个报错可以忽略因为失败的是收尾动作核心的驱动和服务已经装好了。判断标准很简单重启之后看屏幕分辨率能不能调到 1024×768 以上、鼠标能不能在主机和虚拟机之间自由穿梭、能不能从主机拖文件进虚拟机。这三项都 OK那就说明装成功了那个提示只是没拿到完成的回执而已。实在不放心的话可以进控制面板 → 添加删除程序看看列表里有没有 VMware Tools 这一项有就说明装上了。还有一个排查方向把这个报错跟系统的脚本宿主服务联系起来。有些精简版或者经过优化的 2003 镜像会把 Windows Script Host 关掉导致所有基于脚本的收尾动作都失败。开回来再装一次就行。5.4 装完之后的验收清单装完 Tools 重启之后按这张清单逐项验收。验收项期望结果不达标的处理分辨率可以调到宿主机分辨率的整数倍卸载 Tools 重装鼠标无需按 CtrlAlt 释放即可移出虚拟机窗口检查鼠标驱动是否加载拖拽文件主机桌面文件可直接拖进虚拟机检查隔离设置是否开启复制粘贴文本双向可用检查 Tools 的剪贴板服务时间同步虚拟机时间跟宿主机一致手动开启 Tools 时间同步共享文件夹设置里配置的共享目录能在网络位置看到见下一章6. 网络打通让主机、虚拟机和局域网互访系统能用了接下来是网络。这一块的需求差异很大我做实验时最常碰到的三种场景是虚拟机要能上外网打补丁、主机要能访问虚拟机上跑的网站、虚拟机和同一台宿主机上的其他虚拟机要能互相通信。6.1 三种网络模式怎么选VMware 提供三种基础网络模式理解它们的区别比背参数重要得多。桥接模式Bridged虚拟机相当于直接接在你家/公司局域网上的另一台电脑会从路由器拿到一个和宿主机同网段的 IP。优点是对外完全透明局域网里其他机器能直接访问它缺点是它会占用局域网 IP而且在公司网络里可能被网管的安全策略拦掉。NAT 模式虚拟机躲在一个虚拟路由器后面通过宿主机共享上网。虚拟机会拿到一个私有网段默认是 VMnet8的 IP能往外访问但外面主动进不来——除非你在 NAT 设置里配端口转发。这是最省心的模式出门在外换个网络环境也不用重新配。仅主机模式Host-only只连 VMnet1 这张虚拟网卡虚拟机只能跟宿主机以及同一宿主机上的其他虚拟机通信完全没有外网出口。做隔离实验、测试病毒样本、搭纯内网域环境选这个。一句话选法日常实验用 NAT隔离实验用仅主机需要被局域网其他机器访问用桥接。顺便说一下热词里那个vmnet1 有感叹号。这是宿主机网络连接里那张虚拟网卡出问题的典型症状通常是驱动没装好或者被安全软件拦了。处理办法是先禁用它再启用不行就卸载虚拟网卡后重启让 VMware 的服务重新生成。都无效的话用前面提过的清理工具彻底清一遍再重装 Workstation。6.2 给 2003 配一个固定的 IPNAT 模式和仅主机模式下的虚拟机如果 IP 是靠自动分配每次重启都可能变主机侧访问起来就很烦。建议直接配静态 IP。以 NAT 模式为例默认网段是 192.168.x.0/24网关通常是 192.168.x.2DHCP 分配范围一般从 192.168.x.128 开始。所以你可以取一个范围外的地址比如 192.168.x.10避免跟自动分配撞车。具体网段去编辑 → 虚拟网络编辑器里看选 VMnet8下面会写清楚子网地址和 NAT 网关。拿到这些信息后在 2003 里操作控制面板 → 网络连接 → 本地连接 → 属性 → Internet 协议(TCP/IP) → 属性填上 IP、子网掩码、默认网关和 DNS。DNS 这里有个小提醒。如果你只是想让虚拟机能解析域名上网DNS 填宿主机所在网络的下发 DNS或者填一个公共 DNS 都行。但如果这台虚拟机同时还要当域控制器用DNS 必须指向它自己这是活动目录的硬性要求填错了域就建不起来。这个坑我见过太多次症状是域控装完了但客户端加不进域。6.3 主机访问虚拟机上的网站NAT 端口转发实操这个需求特别常见你在 2003 上跑了个 IIS想让宿主机浏览器直接打开它。NAT 模式下有个很优雅的解法叫端口转发。操作路径是编辑 → 虚拟网络编辑器 → 选中 VMnet8 → 点NAT 设置 → 添加。填四个字段字段填什么说明主机端口8080宿主机上用哪个端口访问别跟已占用的冲突类型TCP网页走 TCP虚拟机 IP 地址192.168.x.10就是刚才给 2003 配的静态 IP虚拟机端口80虚拟机里 IIS 监听的端口保存之后在宿主机浏览器里访问http://127.0.0.1:8080就能打开 2003 上的网站了。这里有三个容易翻车的点。第一虚拟机 IP 必须固定如果还是自动获取转发规则就指向了一个不存在的地址。第二要先确认 2003 本身的防火墙放行了 80 端口Server 2003 的防火墙默认是开的很多时候你转发规则配得一点没错就是被防火墙挡了。第三改动虚拟网络设置需要管理员权限如果点应用没反应检查一下是不是以管理员身份运行的 Workstation。另外提一句仅主机模式VMnet1下不需要端口转发因为宿主机可以直接用虚拟机的 IP 访问网关和转发这套规则不适用。6.4 共享文件夹与 SMB1 的现实问题主机和虚拟机之间传文件最方便的是 VMware 的共享文件夹功能在虚拟机设置里开启指定宿主机的一个目录就行。但这里有个隐藏的门槛很多人会卡住。Windows Server 2003 在网络文件共享上用的是SMB1 协议。而宿主机如果是 Windows 10 或者 Windows 11SMB1 客户端默认是关闭的——这是微软出于安全考虑做的改动。结果就是你在 2003 里访问宿主机共享目录会提示找不到网络路径或者网络名无效反过来宿主机访问 2003 的共享也是一样的结果。处理办法有两个方向。一个是打开宿主机的 SMB1 客户端支持在启用或关闭 Windows 功能里能找到简单直接但要清楚这么做会降低宿主机在这方面的安全性只建议在隔离的实验环境里这么干。另一个方向是绕开 SMB直接走 VMware Tools 的拖拽和复制粘贴或者用共享文件夹映射——共享文件夹走的是 VMware 自己的驱动通道跟 SMB 协议没关系不受这个限制。我的建议是优先用 VMware 共享文件夹把它当成宿主机和虚拟机之间的专用通道。要注意的细节是共享文件夹默认对所有人可读写涉及敏感数据的时候在设置里改成只读。7. 常见问题与排查技巧实录前面把流程讲完了这一章把这些年踩过的坑集中整理一下。我做成了速查表遇到问题直接对号入座。7.1 安装阶段报错速查表现象最可能的原因处理方式开机显示 Operating System not found光驱没挂 ISO / 没勾启动时连接挂载 ISO 并勾选启动时连接调整引导顺序安装程序找不到硬盘磁盘控制器选了 SAS/SATA/NVMe关机移除硬盘重加选 SCSI LSI Logic蓝屏 0x0000007B磁盘控制器驱动不匹配同上这个是驱动不匹配的经典代码复制文件阶段报无法复制 xxxISO 文件损坏重新校验哈希并重新获取镜像安装到某一步长时间卡住宿主 CPU 核心数过多降到 1 处理器 1 核心重试分区界面划不出超过 137GB 的空间RTM 版本限制用集成 SP1 及以上的镜像或分区不超过 137GB虚拟机开机直接进 BIOS引导顺序或 ISO 未挂载按 F2 进虚拟 BIOS 调整启动顺序再补充一句关于 0x0000007B 的。这个蓝屏代码在物理机时代基本等同于BIOS 里硬盘模式被改了在虚拟机里对应的是同样的逻辑引导阶段加载的控制器驱动跟实际硬件对不上。所以你在虚拟机里看到它第一反应就应该是回去检查控制器型号而不是去研究系统文件损坏。7.2 装完之后的疑难杂症症状一鼠标移不进虚拟机窗口要按 CtrlAlt 释放。这是 Tools 没装或没生效的典型表现。先确认 Tools 装完之后有没有重启没重启的话装完也白装。症状二时间总是不对差几个小时。2003 的时间同步依赖 VMware Tools 的时间同步功能在虚拟机设置的选项标签里有专门的开关。如果开着还是不准检查时区设置是不是选成了别的时区。时间不对还有个副作用访问 HTTPS 网站会报证书错误因为证书有效期校验过不去。症状三主机访问虚拟机的网站打不开。按这个顺序查虚拟机的 IP 是不是固定了、IIS 服务是不是在跑先在虚拟机里用自己的浏览器访问 127.0.0.1 试、2003 的防火墙是不是放行了 80 端口、NAT 转发规则的 IP 是不是写对了。四步走完基本能找到。症状四提示上一次虚拟机意外关机问你要不要继续。这个是宿主机直接断电或者强制结束进程导致的。选继续让虚拟机自己走一遍磁盘检查就行。如果反复出现去检查宿主机的电源管理和硬盘状态。症状五硬盘空间不够用虚拟机被自动挂起。这是快照惹的祸。快照文件会随着你对虚拟机的每一次写操作而增长用得久了几十 GB 都正常。解决办法是定期把没用的快照删掉——注意是删除不是恢复到快照后者是回滚前者才是真正释放空间。7.3 我踩过的坑和绕行方案第一个坑是操作系统类型选错。我早期为了图快建虚拟机时随手选了Windows Server 2016结果 Tools 怎么装都装不上折腾了两个小时才发现是类型选错导致挂载的 ISO 不对。教训是建虚拟机时操作系统类型一定要按真实系统选它决定了 VMware 后续一系列自动化行为。第二个坑是快照留着不删。有段时间我习惯性地每做一步就打一个快照积累了七八层。后来虚拟机动不动就卡磁盘占用从 20GB 涨到了 90GB。快照是链式结构层数越多每次写操作要处理的元数据越多性能下降非常明显。教训是快照只保留有意义的几个节点用完就删。第三个坑是用 2003 自带浏览器上网。Server 2003 自带的 IE6 放在今天基本打不开任何现代网页勉强打开也是一堆脚本错误。别浪费时间在这上面需要下载东西就用宿主机下好再通过共享文件夹传进去。第四个坑是虚拟机目录删不干净。有人想彻底删掉一台虚拟机直接去文件夹里删了目录结果 VMware 库里还留着一条灰色的记录点也点不开删也删不掉。正确的顺序是先在 VMware 界面里右键虚拟机 → 从磁盘中移除或者先移除再从磁盘删除确认库里的条目没了再去删文件夹。顺序反了就得手动去改配置文件。第五个坑是给 2003 联网打补丁。前面提过2003 的在线更新体验很差经常报无法连接到更新服务器或者无法在更新服务器上找到组件这类错误让人误以为是系统坏了。我的做法是彻底放弃在线更新全部走离线补丁包。教训是老系统的在线更新这条路基本堵死了别在上面耗时间。8. 快照、备份与长期维护虚拟机装好了怎么把它长期维护好这部分很多人忽略但真出事的时候差别巨大。8.1 快照什么时候打、怎么删我的原则是三打系统初装完成打一次、装完所有基础运行库和驱动打一次、每装完一个重要的业务软件打一次。这三次快照构成了你的回滚阶梯出问题的时候可以逐级往回退而不用一步退到出厂状态。快照描述一定要写清楚。我见过有人打了七八个快照名字全是快照 1快照 2过一个月自己都不知道哪个是哪个。写成系统初装完成、SP2 运行库装完、业务系统 A 安装完成一眼就能认出来。删除快照的时机是确认当前状态稳定、不打算再回滚到某个旧节点的时候。删除操作会先把快照里的改动合并进主磁盘所以删除大快照需要时间和磁盘余量别在磁盘快满的时候做。8.2 备份最省事的做法虚拟机最好的地方就是整机就是一个文件夹。虚拟机关机之后把整个目录拷到另一块硬盘或者移动硬盘上就是一份完整的备份恢复的时候直接拷回来、在 VMware 里打开这个目录里的 vmx 文件就行。要提醒的是备份前一定要先关机不能在挂起状态下备份挂起状态的内存镜像文件很大而且恢复条件苛刻。另一个细节是快照文件也要一起备份否则恢复出来的还是主磁盘的状态快照链会断掉。如果目录特别大可以用压缩工具打包虚拟磁盘文件vmdk的压缩比通常还不错因为里面大量是未使用的扇区。8.3 这台机器别连公网这一条我想单独强调。Windows Server 2003 早已停止安全更新这意味着它上面任何新发现的漏洞都不会有官方补丁。把它直接暴露在公网上等于把一个没有门的房间摆在街上。我的建议是能不用桥接就不用桥接能用仅主机模式就用仅主机模式。确实需要它上网打补丁或者下载东西的时候临时切到 NAT做完立刻切回来。虚拟机设置里的网络适配器有个很实用的选项叫已连接和启动时连接取消勾选就相当于拔了网线但不删配置用起来很方便。如果一定要给局域网里的其他机器访问在宿主机或者路由器层面做访问控制别让它拿到一个公网可达的地址。这些操作不需要多高深的技术但能把风险降一个数量级。我自己这些年装过的 2003 虚拟机少说也有十几台最深的体会是老系统的安装难点从来不在系统本身而在于它和现代硬件、现代软件之间那一层又一层的代沟。磁盘控制器是一次代沟Tools 的版本是一次代沟SMB 协议是一次代沟在线更新又是一次。你只要在每一个代沟前面提前知道该往哪边绕整个过程其实非常顺。最后分享一个小习惯每次装完一台新的实验机我会在宿主机的虚拟机目录里放一个 txt 文件把这次用到的镜像版本、控制器型号、IP 规划、产品密钥的存放位置记下来。半年后回头再碰这台机器的时候这份笔记能省掉大把重新摸索的时间。
返回列表