Windows设置VMwareworkstation虚拟机开机启动

系统运维

日常工作中,由于条件以及成本的限制,我们会在自己本地电脑上安装虚拟机装服务器系统,来满足自己工作中对服务器的需求,但是很多时候,我们自己的电脑关机或者重启后,虚拟机并不会自行启动,需要我们手动启动虚拟机,如果我们只有一两台虚拟机,那没什么,启动很快,但是,如果我们有很多台虚拟机呢?10 台,20 台,甚至更多,难道我们还要手动一个个开机吗?那真是太让人头疼,又太浪费时间。下面,我们就讲下,如何让虚拟机在我们自己的主机开机时自动启动。

麟游网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联从2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联

一、VMware workstation 虚拟机开机自启动的原理

要说 VMware workstation 虚拟机开机自启动,在 VMware workstation 图形界面是找不到设置方法的,但是图形界面找不到设置方法,不代表它就没有设置方法。

要设置开机自启动,首先,我们得了解下 VMware workstation 所提供的命令行工具 vmrun 。

1、我们进入到 VMware workstation 的安装目录,找一下 vmrun.exe 文件,如下图,正式这个工具,为我们提供了虚拟机的自启动方法。

2、将 VMware workstation 的安装目录添加到系统的环境变量,如下图,按照途中的顺序,依次操作即可

注意:在第 5 步时,需要找到自己的 VMware workstation 的安装目录,然后添加到这里。

3、在 DOS 界面中查看 vmrun 命令的语法格式及参数

MicrosoftWindows[版本10.0.17134.471]
(c)2018MicrosoftCorporation。保留所有权利。

C:\\Users\\CaoBo>vmrun

vmrunversion1.17.0build-10952284

Usage:vmrun[AUTHENTICATION-FLAGS]COMMAND[PARAMETERS]



AUTHENTICATION-FLAGS
--------------------
Thesemustappearbeforethecommandandanycommandparameters.

-T(ws|fusion||player)
-vp
-gu
-gp



POWERCOMMANDSPARAMETERSDESCRIPTION
-----------------------------------
startPathtovmxfileStartaVMorTeam
[gui|nogui]

stopPathtovmxfileStopaVMorTeam
[hard|soft]

resetPathtovmxfileResetaVMorTeam
[hard|soft]

suspendPathtovmxfileSuspendaVMorTeam
[hard|soft]

pausePathtovmxfilePauseaVM

unpausePathtovmxfileUnpauseaVM



SNAPSHOTCOMMANDSPARAMETERSDESCRIPTION
--------------------------------------
listSnapshotsPathtovmxfileListallsnapshotsinaVM
[showTree]

snapshotPathtovmxfileCreateasnapshotofaVM
Snapshotname

deleteSnapshotPathtovmxfileRemoveasnapshotfromaVM
Snapshotname
[andDeleteChildren]

revertToSnapshotPathtovmxfileSetVMstatetoasnapshot
Snapshotname



GUESTOSCOMMANDSPARAMETERSDESCRIPTION
--------------------------------------
runProgramInGuestPathtovmxfileRunaprograminGuestOS
[-noWait]
[-activeWindow]
[-interactive]
Complete-Path-To-Program
[Programarguments]

fileExistsInGuestPathtovmxfileCheckifafileexistsinGuestOS
Pathtofileinguest

directoryExistsInGuestPathtovmxfileCheckifadirectoryexistsinGuestOS
Pathtodirectoryinguest

setSharedFolderStatePathtovmxfileModifyaHost-Guestsharedfolder
Sharename
Hostpath
writable|readonly

addSharedFolderPathtovmxfileAddaHost-Guestsharedfolder
Sharename
Newhostpath

removeSharedFolderPathtovmxfileRemoveaHost-Guestsharedfolder
Sharename

enableSharedFoldersPathtovmxfileEnablesharedfoldersinGuest
[runtime]

disableSharedFoldersPathtovmxfileDisablesharedfoldersinGuest
[runtime]

listProcessesInGuestPathtovmxfileListrunningprocessesinGuestOS

killProcessInGuestPathtovmxfileKillaprocessinGuestOS
processid

runScriptInGuestPathtovmxfileRunascriptinGuestOS
[-noWait]
[-activeWindow]
[-interactive]
Interpreterpath
Scripttext

deleteFileInGuestPathtovmxfileDeleteafileinGuestOS
Pathinguest

createDirectoryInGuestPathtovmxfileCreateadirectoryinGuestOS
Directorypathinguest

deleteDirectoryInGuestPathtovmxfileDeleteadirectoryinGuestOS
Directorypathinguest

CreateTempfileInGuestPathtovmxfileCreateatemporaryfileinGuestOS

listDirectoryInGuestPathtovmxfileListadirectoryinGuestOS
Directorypathinguest

CopyFileFromHostToGuestPathtovmxfileCopyafilefromhostOStoguestOS
Pathonhost
Pathinguest

CopyFileFromGuestToHostPathtovmxfileCopyafilefromguestOStohostOS
Pathinguest
Pathonhost

renameFileInGuestPathtovmxfileRenameafileinGuestOS
Originalname
Newname

typeKeystrokesInGuestPathtovmxfileTypeKeystrokesinGuestOS
keystrokestring

connectNamedDevicePathtovmxfileConnectthenameddeviceintheGuestOS
devicename

disconnectNamedDevicePathtovmxfileDisconnectthenameddeviceintheGuestOS
devicename

captureScreenPathtovmxfileCapturethescreenoftheVMtoalocalfile
Pathonhost

writeVariablePathtovmxfileWriteavariableintheVMstate
[runtimeConfig|guestEnv|guestVar]
variablename
variablevalue

readVariablePathtovmxfileReadavariableintheVMstate
[runtimeConfig|guestEnv|guestVar]
variablename

getGuestIPAddressPathtovmxfileGetstheIPaddressoftheguest
[-wait]



GENERALCOMMANDSPARAMETERSDESCRIPTION
-------------------------------------
listListallrunningVMs

upgradevmPathtovmxfileUpgradeVMfileformat,virtualhw

installToolsPathtovmxfileInstallToolsinGuest

checkToolsStatePathtovmxfileCheckthecurrentToolsstate

deleteVMPathtovmxfileDeleteaVM

clonePathtovmxfileCreateacopyoftheVM
Pathtodestinationvmxfile
full|linked
[-snapshot=SnapshotName]
[-cloneName=Name]



TemplateVMCOMMANDSPARAMETERSDESCRIPTION
------------------------------------------
downloadPhotonVMPathfornewVMDownloadPhotonVM





Examples:


StartingavirtualmachinewithWorkstationonaWindowshost
vmrun-Twsstart"c:\\myVMs\\myVM.vmx"


RunningaprograminavirtualmachinewithWorkstationonaWindowshostwithWindowsguest
vmrun-Tws-guguestUser-gpguestPasswordrunProgramInGuest"c:\\myVMs\\myVM.vmx""c:\\ProgramFiles\\myProgram.exe"


CreatingasnapshotofavirtualmachinewithWorkstationonaWindowshost
vmrun-Twssnapshot"c:\\myVMs\\myVM.vmx"mySnapshot


RevertingtoasnapshotwithWorkstationonaWindowshost
vmrun-TwsrevertToSnapshot"c:\\myVMs\\myVM.vmx"mySnapshot


DeletingasnapshotwithWorkstationonaWindowshost
vmrun-TwsdeleteSnapshot"c:\\myVMs\\myVM.vmx"mySnapshot


EnablingSharedFolderswithWorkstationonaWindowshost
vmrun-TwsenableSharedFolders"c:\\myVMs\\myVM.vmx"

①、验证标志(AUTHENTICATION-FLAGS):

-T 代表目标类型,ws 表示工作站(即 Workstation ),一般使用此参数即可,其他很少使用,就不做解释了。当然还有 server、esx、vc 等等,这里没有列出。

②、电源指令(POWER COMMANDS):

start:开启虚拟机

stop:关闭虚拟机

reset:重置虚拟机

suspend:挂起虚拟机

③、快照指令(SNAPSHOT COMMANDS):

listSnapshots:列出虚拟机的快照数量及名称

snapshot:为虚拟机创建快照

deleteSnapshot:删除虚拟机的快照

revertToSnapshot:从一个快照恢复虚拟机

④、常用命令(GENERAL COMMANDS):

list:列出正在运行的虚拟机的数量及名称

upgradevm:升级虚拟机的文件格式,虚拟硬件

installTools:在 Guest 中安装工具

checkToolsState:检查工具状态

deleteVM:删除一个虚拟机

clone:克隆虚拟机

这里只介绍这么多命令,其他的命令很少用到,就不多做解释。

言归正传,我们要设置虚拟机开机自启动,就要使用上面 start 命令。那么,此命令如何使用呢,格式时这样的:

vmrun -T ws start "c:\\my VMs\\myVM.vmx"

"c:\\my VMs\\myVM.vmx" 该目录为虚拟机的工作目录

我们可以在这条命令后面加上 nogui ,表示无图形界面启动,而默认的启动模式是 gui 模式,即有图形界面启动。

vmrun -T ws start "c:\\my VMs\\myVM.vmx" nogui

最后,我们将该命令修改为自己的虚拟机工作目录后写到批处理文件中(如下图),添加开机启动脚本或者计划任务。

@echooff&setlocalenabledelayedexpansion
vmrun-Twsstart"I:\\Documents\\VirtualMachines\\centos\\centos.vmx"nogui

附上关机脚本:

@echooff&setlocalenabledelayedexpansion
vmrunlist>vmlist.txt
for%%iin(vmlist.txt)do(
set"f=%%i"
for/f"usebackqdelims="%%jin("!f!")doset/an+=1
for/f"delims="%%min('"type"!f!"|more/E+1&cd.2^>!f!"')doset/ax+=1&if!x!leq!n!echo;%%m>>!f!
set/an=0,x=0
)
for/f"delims="%%ain(vmlist.txt)do(
vmrun-Twsstop"%%a"nogui
)
pause

二、Windows 中设置虚拟机开机自启动

在 Windows 中设置虚拟机开机自启动又两种办法

①、用计划任务来实现。

创建计划任务:

如图,我们将计划任务的设置为使用高权限运行,触发器设置为在系统启动时触发,而操作是启动批处理脚本。

计划任务创建完成后,我们可以将自己的主机重启,看看我们的虚拟机是否有自动开机。

②、用组策略来实现

在 <运行> 中输入 gpedit.msc 打开组策略,如下图

在组策略中,依次选择 <用户配置> <脚本(登陆/注销)>,双击 <登陆>,如下图

在 <登陆 属性> 对话框中添加我们之前写好的启动脚本即可,如下图

设置完之后,我们重启主机,再看看虚拟机有没有启动。

三、总结

在日常工作中,我们解决问题的办法可能不止一种,但往往由于我们所学知识的局限性性,导致我们的思路会很单一,因此,我们就要通过不断的学习,来拓宽我们视界,才能更好的提高我们的深获质量。


网页题目:Windows设置VMwareworkstation虚拟机开机启动
网址分享:http://pwwzsj.com/article/chojgg.html