ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Windows Server 2012 R2 安装 VMware Tools 全流程与报错排查指南

Windows Server 2012 R2 安装 VMware Tools 全流程与报错排查指南 接手一台装好 Windows Server 2012 R2 的虚拟机第一件正经事就是装 VMware Tools。别看这是个老生常谈的活我这两年帮人处理过不少虚拟化环境光是这个系统上的 Tools 安装就见过翻车的、卡死的、报脚本错误的乱七八糟的问题一堆。这东西装好了你感觉不到它存在装不好或者没装虚拟机那个体验和性能完全是两回事。所以这篇文章把 Windows Server 2012 R2 安装 VMware Tools 这件事从头到尾捋一遍包括为什么要装、安装前的检查、标准安装流程、装完怎么验证、以及那些经常让人抓狂的报错怎么处理。不管你是刚接触虚拟化的新手还是被各种 Tools 问题折磨过的老手这篇文章应该都能给你一些参考。先说重点结论Windows Server 2012 R2 装 VMware Tools本身不是什么高难度操作但版本选不对、环境没检查、安装过程中走了弯路就会冒出各种稀奇古怪的问题。下面我按自己的实操习惯一步步拆开讲。1. 动手安装前先把这几个问题搞清楚1.1 为什么 Windows Server 2012 R2 对 VMware Tools 尤其敏感先说个经常被忽略的事实Windows Server 2012 R2 已经是 2013 年发布的老系统了它对应的主流支持期早就结束很多新的虚拟化功能、驱动模型都是围着更新的系统转的。但这个系统目前在不少企业内部服务器上仍然大量存在尤其是一些跑数据库、跑 ERP 的老业务不是说换就能换的。这种情况下VMware Tools 的作用就被放大了。它是 VMware 虚拟机和底层虚拟化平台之间的一个“驱动全家桶”核心的组件有这么几块驱动部分包括 SVGA 显示驱动让你能把分辨率调正常、vmxnet3 网卡驱动高性能虚拟网卡、pvscsi 控制器驱动存储性能关键。服务部分比如 VMware Tools 服务负责心跳、日志、时间同步服务VMware Tools 时间同步、内存气球驱动内存回收机制。用户进程部分比如托盘图标程序、复制粘贴拖拽支持虽然对服务器来说这个不重要。没有这套驱动虚拟机也能跑但每次开机画面可能只有 800x600 分辨率、硬盘和网卡的性能发挥不出来、你从 vCenter 里看客户机 IP 可能不正确、执行挂起快照时系统可能不在最佳状态。这就像给汽车装了胎但没打气能开但开着难受。对 Windows Server 2012 R2 这个老系统来说驱动适配的坑比新系统更多因为很多新版 Tools 的主要优化已经不针对它了。所以选对 Tools 版本、用对安装方式比在新系统上要更加讲究。1.2 安装前必须确认的版本匹配关系我这几年最深的体会是很多 Tools 安装问题不是操作不对是版本关系没搞清楚。首先是 VMware Workstation / Fusion / ESXi 的版本和 Tools 的对应关系。不同版本的虚拟化平台自带的 Tools 版本不一样Tools 其实不是一个完全独立发布的东西它是跟随平台版本走的。比如虚拟化平台默认自带的 Tools 版本对 2012 R2 的支持情况VMware Workstation 15.x10.3.x支持良好能正常安装驱动VMware Workstation 16.x11.x支持良好但要注意老版本 16.0 可能有脚本报错ESXi 6.5 / 6.710.3.x / 11.x支持良好建议用 vCenter 统一安装ESXi 7.011.x支持正常但部分老 VM 硬件版本要注意升级ESXi 8.012.x也能装但老系统有时会出现签名或兼容性提示再说个细节VMware 从某个版本开始对 Windows 7、Windows Server 2008 R2、Windows Server 2012 R2 这些老系统不再自动挂载单独的 Tools ISO而是建议直接用平台自带的。你可能会在 Workstation 的菜单里看到一句提示VMware Tools is no longer shipped with VMware Workstation for this guest operating system。碰上这个提示别慌在下文第 4 节对应位置有处理方法。另外安装前最好确认一下系统里有没有 .NET Framework 3.5。Windows Server 2012 R2 默认可能没有完整启用 3.5而 VMware Tools 的某些组件比如 Tools 的 WMI 相关服务依赖它。我建议在服务器管理器里先看一眼没有就装上免得装到一半出问题。提示Windows Server 2012 R2 如果安装了某些精简优化过的镜像GHOST 版、精简版缺了一堆系统组件Tools 安装失败的概率会高很多。尽量用正规渠道的系统镜像。1.3 安装前的系统状态检查清单动手前我会习惯性地过一遍下面这些检查项全部没问题才开始装不然遇到问题你会分不清是系统问题还是 Tools 问题确认系统是完整的 Server 2012 R2不是精简版、不是 N 版、不是评估版评估版延长授权后有时组件不全。关闭杀毒软件和防火墙或者至少把 VMware Tools 安装目录加入白名单。有些杀软会把 Tools 的驱动文件当风险文件隔离导致装完驱动不生效。确认管理员权限安装过程必须用管理员账号执行不然 UAC 弹窗你可能没注意就漏了。确认虚拟机磁盘剩余空间至少留 2GB 以上Tools 本身不大但解压和安装过程需要临时空间。确认虚拟机里没有挂载着其他 ISO 光驱尤其是一些安装镜像避免盘符混乱。备份虚拟机可选对生产虚拟机来说最好是先做一次快照再装 Tools虽然理论上没风险但万一装出问题回滚就方便了。这个清单看着啰嗦但你照做一遍能省掉后面一大半的排查时间。2. Windows Server 2012 R2 安装 VMware Tools 完整流程2.1 挂载 Tools 安装镜像的两种方式进入正题。把 Tools 的 ISO 挂载到虚拟机里有两种常见方式场景不同选择不一样。方式一通过 VMware 平台界面直接挂载最常用在 VMware Workstation 菜单栏点击“虚拟机” - “安装 VMware Tools”。在 vCenter / ESXi 界面里对已开机的虚拟机点击右键 - “客户机” - “安装 VMware Tools”。宿主机是 VMware FusionMac 上就点击菜单栏“虚拟机” - “安装 VMware Tools”。这种方式平台会自动把对应版本的 tools-light.iso 或 windows.iso 挂载到虚拟机的第一个光驱里然后系统里会弹出一个 DVD 驱动器。方式二手动挂载 ISO 文件如果你在 Workstation 里点“安装 VMware Tools”没有反应或者系统弹出了那个“is no longer shipped”的提示可以手动挂载。VMware Workstation 的安装目录下默认会有一个windows.iso# 默认安装路径版本不同文件名可能略有差异 C:\Program Files (x86)\VMware\VMware Workstation\windows.iso在虚拟机设置里选中光驱设备浏览到上面这个 ISO点击确定然后重新连接光驱即可。这样虚拟机会把 ISO 识别为一张光盘安装体验跟方式一完全一样。2.2 安装程序的具体启动与选项选择挂载好 ISO 后进入 Windows Server 2012 R2 虚拟机打开“此电脑”找到 DVD 驱动器。如果只是双击运气好能弹出安装向导运气不好会报错。我推荐右键点击 setup.exe选择“以管理员身份运行”。VMware Tools 安装向导的第一步是欢迎界面直接下一步。第二步是安装类型选择对绝大多数情况选“典型安装”就够了。典型安装会安装完整工具集并自动配置相应服务省心。注意网上有些教程建议选“完全安装”对普通场景没必要。典型安装已经包含所有核心驱动和服务组件自定义安装主要是给那些需要精细控制组件的老手用的。第一次装就老老实实典型安装。然后是安装路径默认在C:\Program Files\VMware\VMware Tools不需要改。如果系统提示 .NET Framework 缺失向导可能会自动安装也可能弹出红色警告这时候先把 3.5 装上再重试。安装过程中会进行一系列驱动安装屏幕可能出现几次黑屏闪烁这是显示驱动在切换正常的。装到一半如果弹出一个“软件安装”安全警告选择“始终信任来自 VMware, Inc. 的软件”然后点“安装”。最后一步让我多说一句安装完成后先不要急着重启等它提示“您需要重新启动虚拟机才能完成安装”选择“是”重启。有些人图省事选择稍后重启结果过几天发现 Tools 服务状态不对还得再倒腾一次。2.3 安装完成后的重启与基础确认重启之后登录系统先从几个地方快速确认一下状态系统托盘区出现一个 VMware Tools 的图标一个灰色或彩色的 VMware 标志右键菜单里能看到“VMware Tools”选项。屏幕分辨率是否已经能调整到比 1024x768 更高的值如果显示驱动正常“屏幕分辨率”设置里会多出很多可选分辨率。打开“服务管理器”WinR输入 services.msc找到VMware Tools服务状态应该是“正在运行”。这些确认完了基本可以判定安装成功了一大半。但离“装得好”还差一步需要做更细致的验证看下一节。3. 安装完成后的验证与系统状态排查3.1 怎么确认 Tools 版本真的生效了很多人看安装成功就以为完事了其实装完确认版本号是有意义的特别是当旧版本遗留、新版本覆盖安装的时候。先看安装日志。VMware Tools 的安装日志在C:\ProgramData\VMware\VMware Tools\vmmsi.log这个日志记录了完整的安装过程如果今后排查问题这是第一个要看的地方。再看已安装版本打开“控制面板” - “程序和功能”找 “VMware Tools”你要看一眼“版本”列的数值。命令行方式更直接。管理员权限打开 CMD执行下面的命令cd C:\Program Files\VMware\VMware Tools .\VMwareToolboxCmd.exe -v这条命令返回的值就是当前 Tools 的版本号比如11.0.5.15389592。把这个版本号和宿主机平台对应的 Tools 版本对照一下基本能确认安装的是不是平台默认版本。有一个经常被忽略的问题是残留的旧版本 Tools。有些虚拟机是从旧平台迁移过来的Tools 版本特别老新版本覆盖安装的时候偶尔会留下些旧服务的注册表项。最简单的判断方法是看“程序和功能”里是否只有一个 VMware Tools 条目然后看一下服务的启动类型是否为自动。如果发现有VMware Tools和VMware Tools (旧名称)同时存在就需要卸载旧的这个放到第 4 节排查部分细说。3.2 驱动层验证显示、网卡和存储Tools 装完最直观的影响是显示驱动变了。打开“设备管理器”WinX设备管理器展开“显示适配器”如果看到的不是 “Microsoft 基本显示适配器” 而是 “VMware SVGA 3D”说明 SVGA 驱动生效了。然后看“网络适配器”部分。如果你用的虚拟网卡类型是 VMXNET3这里会出现 VMXNET3 字样。如果显示的还是Intel PRO/1000 MT说明网卡驱动可能没被替换成高性能版本但这不一定是问题取决于你虚拟机配置用的是哪种虚拟网卡。如果是 E1000E 网卡装不装 Tools 都是这个驱动。磁盘控制器这块更隐蔽。在设备管理器里展开“存储控制器”如果是VMware PVSCSI 控制器说明你走的是高性能存储路径如果显示的是LSI Logic SAS或Intel之类的说明虚拟机配置用的是其他控制器类型。这两种在 Windows Server 2012 R2 上都能正常工作但如果要做性能调优PVSCSI 通常是更好的选择。还有一个经常被忽略的验证点是时间同步。VMware Tools 有一个时间同步功能在 vCenter 里可以配置为“与主机同步”。装完 Tools 后你可以打开VMwareToolboxCmd.exe看看时间同步服务是否正常工作cd C:\Program Files\VMware\VMware Tools .\VMwareToolboxCmd.exe timesync status这个命令会返回时间同步的启用状态。对生产服务器来说时间同步很重要尤其是跑数据库、集群服务的场景时间如果漂移后续会引发连锁问题。3.3 可能的性能优化选项装完 Tools 之后还可以做几个不麻烦的优化对 Windows Server 2012 R2 的虚拟机挺友好开启内存热添加如果平台支持在虚拟机设置里把内存和 CPU 的“热插拔”打开。不过 2012 R2 对 CPU 热插拔支持得不错内存热添加需要系统配合装 Tools 后才能完整支持。改了配置记得先关机再改改完再开机。确认磁盘类型虚拟磁盘如果是 IDE 接口建议在停机后改成 SCSI需要先安装对应的驱动。这事属于迁移改造了不是必须的但如果你确实靠这台机器跑数据库值得重视。关闭不必要的 Tools 组件对纯服务器来说剪贴板共享、拖拽文件这些功能用不上还可能有安全隐患。可以在 VMware Tools 的托盘图标右键 - 设置 里关闭这些选项。不过要提醒一句这些东西属于锦上添花如果你只想让 Tools 正常工作前两节的步骤已经完全够了。不要因为折腾优化把简单问题复杂化。4. 安装和配置过程中最常见的坑与解决实录4.1 “继续运行脚本未能在虚拟机中成功运行” 到底怎么回事这个报错我见得太多了搜索引擎上也是热议词。完整报错大概是这样的VMware Tools 继续运行脚本未能在虚拟机中成功运行。如果您在此虚拟机中配置了自定义脚本请确保其不会干扰到安装。引起这个错误的核心背景是VMware Tools 安装完成后平台会往系统里注入一个“运行脚本”这个脚本负责执行一些后置的配置动作比如更新显卡驱动缓存、启动管理服务、刷新设备状态等。这套机制在较新的 Windows 系统上很安静地就过去了但到了 Windows Server 2012 R2 上某些执行条件不满足脚本就会卡住或失败。我踩过几次坑之后总结出几个最容易触发这个问题的原因.NET Framework 3.5 没启用。Tools 安装过程中的部分脚本要调用 .NET 相关组件系统没有的话脚本会静默失败但安装程序会提示脚本执行异常。杀毒软件拦截了脚本对系统服务的修改。尤其是国产的某些安全软件对服务创建、注册表修改都盯得很紧。系统存在挂起的重启状态。比如 Windows Update 有带重启标记的更新脚本执行过程中检测到系统需要重启就直接中断了。WMIWindows Management Instrumentation服务损坏。Tools 的脚本大量依赖 WMI 查询如果 WMI 存储库出问题脚本怎么跑都白搭。针对这个报错我的处理建议是这样的先别急着重装。打开 VMware Tools 安装目录找到C:\ProgramData\VMware\VMware Tools\vmmsi.log打开后搜索 “error” 关键词定位是哪一步挂掉的。最常见的画面是脚本执行到一半因为权限不足或组件缺失退出。如果日志里没有明确错误那基本可以判定是脚本执行超时。确认系统里 .NET 3.5 已启用、杀软已关、系统无待重启更新然后重新跑一次 VMware Tools 的安装程序选“修复”或者“重新安装”。在我们处理过的环境里这样操作有七成概率能解决。如果还不行就把 Tools 卸载干净重启再重新装一次。用控制面板“程序和功能”里的 VMware Tools 卸载项来卸载不要直接删目录。卸载完重启后系统会有短暂时间没有 Tools 驱动这是正常的。注意如果 WMI 存储库真的损坏最直接的办法是重建 WMI。你在 CMD 里执行winmgmt /salvagerepository或者winmgmt /resetrepository重启后脚本就能正常执行。但这个操作要谨慎会影响系统里所有依赖 WMI 的应用。4.2 “VMware Tools is no longer shipped with VMware Workstation for this guest operating system” 怎么办这个提示在新版 Workstation 上对老系统的用户来说很常见。它的意思是当前 Workstation 版本发行包里不再内置针对该客户机操作系统比如 Windows 7、Windows Server 2012 R2的 Tools 镜像。这并不意味着你的系统不能用 Tools只是需要换个方式去 VMware 官网下载旧版本的 Tools ISO。登录 VMware 下载页面找到对应 Workstation 版本的 Tools ISO手动下载后挂载到虚拟机光驱。如果你能找到另一台机器上有windows.iso或tools-light.iso拷过来手动挂载。这是最轻量的解决办法。如果是 ESXi 环境正常情况下 vCenter 会自动提供 Tools 镜像不需要手动处理。如果客户机策略不允许自动安装就手动点一下“安装 VMware Tools”。另外如果你从 Workstation 16 这样的新版本创建了一台 Windows Server 2012 R2 的虚拟机创建向导里如果没有选择操作系统类型为 Windows Server 2012 R2而选成了其他系统也可能触发提示。检查一下虚拟机设置里的操作系统类型改好了再挂载 Tools。4.3 老虚拟机迁移后 Tools 版本冲突的处理还有一种比较折腾的场景虚拟机从旧平台迁移到新平台Tools 版本太老平台提示需要升级。这时候如果你贪图省事直接点升级某些老版本 Tools 的残留会导致升级到一半就报错。正确处理流程是在“程序和功能”里卸载 VMware Tools选择“删除”重启。重启后检查“设备管理器”如果存在带感叹号的设备先不管。重新挂载新平台的 Tools ISO执行安装。安装完成后重启再验证版本。这个方法比较保守浪费时间但基本不会出幺蛾子。如果你不想卸载直接覆盖安装也能成功但有一个细节要注意覆盖安装时最好也用“管理员身份运行”并且不要勾选掉“保持现有用户配置”之类的选项否则老配置可能和新版本不兼容。4.4 常用排查命令和日志速查表最后整理一份我平时排查 Tools 问题时的速查表希望对你有用排查项操作方式预期结果查询 Tools 版本cd C:\Program Files\VMware\VMware Tools下运行VMwareToolboxCmd.exe -v返回版本号字符串查询服务状态sc query VMTools或 services.msc服务运行中查看安装日志检查C:\ProgramData\VMware\VMware Tools\vmmsi.log和设备管理器无报错、无未知设备查询时间同步状态VMwareToolboxCmd.exe timesync status显示 enabled/disabled检查 Tools 进程任务管理器查看VMwareService.exe和VMwareTray.exe两个进程都在运行卸载残留检查注册表里搜索VMware Tools安装目录检查无残留或可确认清空我通常查服务状态时习惯用sc query VMTools虽然 Windows 服务管理器里显示的名字可能是“VMware Tools”但服务名其实就叫 VMTools。用命令行更快适合远程排查。5. 最后几个小建议装 VMware Tools 这件事本身不难难的是一些环境层面的“隐藏条件”。我个人在实际操作中的体会是Windows Server 2012 R2 上出问题十有八九是系统组件缺失或者版本不匹配真正 Tools 本身的 bug 反而不多。所以如果你卡住了先不要怀疑 Tools 安装包有问题静下心一步一步从环境检查开始排查比反复重装有效得多。另外如果你的环境是 ESXi/vCenter 统一管理的大规模虚拟机建议直接用 vCenter 的“客户机策略”功能做 Tools 升级管理设置自动升级或定时升级避免一台台手动装。对 2012 R2 这样的老系统我一般不会选择“升级时重启客户机”这个选项每次升级都挑维护窗口做尽量减少对线上服务的影响。如果这篇内容帮你解决了一个卡了很久的问题或者你在安装过程中发现了我没提到的新的坑欢迎回来交流。毕竟搞虚拟化这东西很多时候就是靠互相踩坑总结出来的经验。
返回列表