重启 VMware Tools 服务
前言
在 VMware Workstation 的 Windows 虚拟机中,快速切换登录用户(Fast User Switching)、锁屏或断开会话后,经常会出现右下角任务栏的 VMware Tools 托盘图标消失,同时剪贴板共享和文件拖拽/复制完全失效的问题
VMware Tools 主要由两部分组成:
- 后台系统服务 (
VMTools):由 SYSTEM 账户运行,负责底层驱动与宿主机通信 - 用户态托盘进程 (
vmtoolsd.exe -n vmusr):运行在当前登录用户的桌面会话中,专门负责剪贴板监听、分辨率自适应与文件拖拽
切换用户后失效,通常是因为旧会话中的 vmtoolsd.exe 残留并占用了通信管道
解决此问题需要先强杀卡死进程、重启底层服务,再重新在当前用户会话中拉起托盘
Windows
定位 vmtoolsd.exe 安装路径
推荐阅读:检查 CPU 与 Windows 的架构
- 较新版本的 VMware Tools(不论 32 位或 64 位操作系统):
C:\Program Files\VMware\VMware Tools - 较老版本的 VMware Tools(仅 64 位操作系统):
C:\Program Files (x86)\VMware\VMware Tools
重启相关服务与进程
所有的操作都需要管理员身份,执行前请二选一执行以下操作:
- 按下 WIN + X 以打开“高级菜单”,选择“终端管理员”,“Windows PowerShell (管理员)”或“命令提示符(管理员)”
- 按下 WIN + Q 或 WIN + S 以打开“Windows 搜索”,输入
wt.exe(终端)、cmd.exe(命令提示符)或powershell.exe(Windows PowerShell),选择最佳匹配结果并点击“以管理员身份运行”
如果运行的控制台不为 CMD(命令提示符),请输入 cmd.exe 以启动它
在 CMD 中,按顺序输入如下的命令
结束托盘/服务进程:
1 | taskkill.exe /f /im vmtoolsd.exe |
停止 VMware Tools 服务:
1 | net.exe stop "VMTools" |
启动 VMware Tools 服务:
1 | net.exe start "VMTools" |
启动托盘进程(按需执行)
较新版本的 VMware Tools(一般是 VMware Workstation 26H1)(不论 32 位或 64 位的虚拟机操作系统):
1
"C:\Program Files\VMware\VMware Tools\vmtoolsd.exe" -n vmusr
较老版本的 VMware Tools(仅 64 位的虚拟机操作系统):
1
"C:\Program Files (x86)\VMware\VMware Tools\vmtoolsd.exe" -n vmusr
另存为 CMD 脚本一键运行
推荐阅读:显示文件扩展名
新建文本文件,修改扩展名为 .cmd,右键选择“以管理员身份运行”:
较新版本的 VMware Tools(不论 32 位或 64 位操作系统):
1
2
3
4
5
6
7
8
9@echo off
taskkill.exe /f /im vmtoolsd.exe >nul 2>&1
net.exe stop "VMTools"
net.exe start "VMTools"
timeout.exe /t 1 /nobreak >nul
start "" "C:\Program Files\VMware\VMware Tools\vmtoolsd.exe" -n vmusr较老版本的 VMware Tools(仅 64 位操作系统):
1
2
3
4
5
6
7
8
9@echo off
taskkill.exe /f /im vmtoolsd.exe >nul 2>&1
net.exe stop "VMTools"
net.exe start "VMTools"
timeout.exe /t 1 /nobreak >nul
start "" "C:\Program Files (x86)\VMware\VMware Tools\vmtoolsd.exe" -n vmusr
一行命令过
较新版本的 VMware Tools(一般是 VMware Workstation 26H1)(不论 32 位或 64 位的虚拟机操作系统):
1 | taskkill.exe /f /im vmtoolsd.exe & net.exe stop "VMTools" & net.exe start "VMTools" & timeout.exe /t 1 /nobreak >nul & start "" "C:\Program Files\VMware\VMware Tools\vmtoolsd.exe" -n vmusr |
较老版本的 VMware Tools(仅 64 位的虚拟机操作系统):
1 | taskkill.exe /f /im vmtoolsd.exe & net.exe stop "VMTools" & net.exe start "VMTools" & timeout.exe /t 1 /nobreak >nul & start "" "C:\Program Files (x86)\VMware\VMware Tools\vmtoolsd.exe" -n vmusr |