VMware WorkStation不能从主机拖动文件到虚拟机原因之一分析

主机操作系统:Win10

虚拟机系统:Win7


安装了VMware Tools,一直都在使用,没出现问题。

某天电脑中病毒了,安装了360进行全盘查杀。查杀结束之后手贱使用了360的系统优化,发现虚拟机要以管理员权限运行才能启动虚拟机,并且无法拖动文件到虚拟机了,重装VMware Tools什么的也无法解决。

后来怀疑是不是虚拟机什么服务没有启动,于是打开系统服务发现VMAuthdService服务虽然设置为自动,但是没有在运行,真是奇葩,其他VM服务都显示正在运行。

所以解决方案就是在运行虚拟机之前需要启动VMAuthdService服务。

那开机不能自动启动,每次都去手动启动这个服务是不是比较麻烦,所以搞个批处理来启动,每次运行VMware之前执行一下批处理就OK了,下面是一个简单的批处理Start.bat:

net start "VMAuthdService"
net start "VMnetDHCP"
net start "VMware NAT Service"
net start "VMUSBArbService"

虚拟机并不经常使用,那这几个服务一直运行肯定会占用资源,不用的时候关闭服务,要使用再打开服务,下面是找到的一个批处理方式,经过简单的修改发现可行,至于批处理代码细节没有去深究,DOS指令功能还是强大的,有时间再去研究一下。

@echo off
for /f "skip=3 tokens=4" %%i in ('sc query VMAuthdService') do set "zt=%%i" &goto :next 
:next 
if /i "%zt%"=="RUNNING" ( echo 服务VMware Authorization Service正在运行 ) else ( echo 服务VMware Authorization Service已停止 ) 
for /f "skip=3 tokens=4" %%i in ('sc query VMnetDHCP') do set "zt=%%i" &goto :next 
:next 
if /i "%zt%"=="RUNNING" ( echo 服务VMware DHCP Service正在运行 ) else ( echo 服务VMware DHCP Service已停止 ) 
for /f "skip=3 tokens=4" %%i in ('sc query "VMware NAT Service"') do set "zt=%%i" &goto :next 
:next 
if /i "%zt%"=="RUNNING" ( echo 服务VMware NAT Service正在运行 ) else ( echo 服务VMware NAT Service已停止 ) 
for /f "skip=3 tokens=4" %%i in ('sc query VMUSBArbService') do set "zt=%%i" &goto :next 
:next 
if /i "%zt%"=="RUNNING" ( echo 服务VMUSBArbService正在运行 ) else ( echo 服务VMUSBArbService已停止 ) 
pause
echo 1:启用VM虚拟机服务及网络连接
echo VMware Authorization Service
echo VMware DHCP Service
echo VMware NAT Service
echo VMware USB Arbitration Service
echo VMware Network Adapter VMnet1
echo VMware Network Adapter VMnet8
echo 2:禁用VM虚拟机服务及网络连接
choice /c:12 /m "根据选项请选择..."
if errorlevel 2 goto two
if errorlevel 1 goto one
:one echo 正在启用服务...
net start "VMAuthdService"
net start "VMnetDHCP"
net start "VMware NAT Service"
net start "VMUSBArbService"
echo 正在启用网络连接...
netsh interface set interface \"VMware Network Adapter VMnet1\" enable
netsh interface set interface \"VMware Network Adapter VMnet8\" enable
echo 网络连接VMware Network Adapter VMnet1、VMware Network Adapter VMnet8启动成功...
echo 按任意键退出...
pause>nul
exit
:two echo 正在禁用服务服务...
net stop "VMAuthdService"
net stop "VMnetDHCP"
net stop "VMware NAT Service"
net stop "VMUSBArbService"
echo 正在禁用网络连接...
netsh interface set interface \"VMware Network Adapter VMnet1\" disable
netsh interface set interface \"VMware Network Adapter VMnet8\" disable
echo 网络连接VMware Network Adapter VMnet1、VMware Network Adapter VMnet8禁用成功...
echo 按任意键退出...
pause>nul
exit


你可能感兴趣的:(vmware,dos,批处理)