企业需求:
虽然Windows下的vmware workstation在企业里面相对应用的少,但是也会有存在使用的可能性,今天一个朋友和我说,现在公司里面搞了一个服务器装了一个vmware workstation里面有很多虚拟机,但是发现有一个问题,就是在关闭宿主机的时候,里面的虚拟机不能够正常开关机,造成内部系统或数据损坏,而且每次宿主机自动启动以后,不登录系统人为启动对应的虚拟机,虚拟机不会自动启用,这很是麻烦,怎么解决了?
经过查看一此相关资料与官方知识库,做了一系列的测试,成功的测试出了上续需求,在这里共享出现,希望有需要的朋友可以试一下。
解决方法:
Windows 2003 OR XP 虚拟机在寄宿主机关机之前关闭虚拟机
执行“gpedit.msc”,逐级打开“本地计算机策略”-->“计算机配置”-->“Windows设置”-->“脚本”,在窗口右栏中点击“关机”,把需要执行的关机或挂起命令写入一个 .bat 批处理程序中,添加到这里即可。
需要说明的是,系统关机脚本的执行时机是系统注销所有用户登录后、系统关机之前,因此,对于从Windows登录用户界面启动的虚拟机,这些命令是不会起作用的,因为在用户注销的时候,Windows系统已经自动停止了用户的虚拟机进程。
Windows7虚拟机在寄宿主机关机之前关闭虚拟机
在win7环境中,在执行关机脚本之前,win7会强制终止所有非系统进程,关机脚本还是不会发生作用。这是可以修改如下设置:
执行“gpedit.msc”,逐级打开“本地计算机策略”-->“计算机配置”-->“管理模板”-->“系统”-->“关机选项”,将“关闭会阻止或取消关机的应用程序的自动终止功能”策略启用,即可让我们设定的用于关闭虚拟机的Windows关机脚本生效。
相关脚本:
1、系统自动启动VMware虚拟机
"C:\Program Files\VMware\VMware Workstation\vmrun.exe" -T ws start "D:\system\Windows XP Professional\Windows XP Professional.vmx"
2、系统自动关闭VMware虚拟机
"C:\Program Files\VMware\VMware Workstation\vmrun.exe" -T ws stop "D:\system\Windows XP Professional\Windows XP Professional.vmx" soft
3、系统自动挂起VMware虚拟机
"C:\Program Files\VMware\VMware Workstation\vmrun.exe" –T ws suspend "D:\system\Windows Server 2003 Enterprise Edition\Windows Server 2003 Enterprise Edition.vmx"
4、系统自动重启VMware虚拟机
"C:\Program Files\VMware\VMware Workstation\vmrun.exe" -T ws reset "D:\system\Windows XP Professional\Windows XP Professional.vmx“
5、系统自动暂停VMware虚拟机
"C:\Program Files\VMware\VMware Workstation\vmrun.exe" -T ws pause "D:\system\Windows XP Professional\Windows XP Professional.vmx"
6、系统自动暂停恢复VMware虚拟机
"C:\Program Files\VMware\VMware Workstation\vmrun.exe" -T ws unpause "D:\system\Windows XP Professional\Windows XP Professional.vmx"