重启 VMware Tools 服务

前言

在 VMware Workstation 的 Windows 虚拟机中,快速切换登录用户(Fast User Switching)、锁屏或断开会话后,经常会出现右下角任务栏的 VMware Tools 托盘图标消失,同时剪贴板共享和文件拖拽/复制完全失效的问题

VMware Tools 主要由两部分组成:

  1. 后台系统服务 (VMTools):由 SYSTEM 账户运行,负责底层驱动与宿主机通信
  2. 用户态托盘进程 (vmtoolsd.exe -n vmusr):运行在当前登录用户的桌面会话中,专门负责剪贴板监听、分辨率自适应与文件拖拽

切换用户后失效,通常是因为旧会话中的 vmtoolsd.exe 残留并占用了通信管道
解决此问题需要先强杀卡死进程、重启底层服务,再重新在当前用户会话中拉起托盘

Windows

定位 vmtoolsd.exe 安装路径

  • 较新版本的 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