大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
系统运维
日常工作中,由于条件以及成本的限制,我们会在自己本地电脑上安装虚拟机装服务器系统,来满足自己工作中对服务器的需求,但是很多时候,我们自己的电脑关机或者重启后,虚拟机并不会自行启动,需要我们手动启动虚拟机,如果我们只有一两台虚拟机,那没什么,启动很快,但是,如果我们有很多台虚拟机呢?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 打开组策略,如下图
在组策略中,依次选择 <用户配置>
在 <登陆 属性> 对话框中添加我们之前写好的启动脚本即可,如下图
设置完之后,我们重启主机,再看看虚拟机有没有启动。
三、总结
在日常工作中,我们解决问题的办法可能不止一种,但往往由于我们所学知识的局限性性,导致我们的思路会很单一,因此,我们就要通过不断的学习,来拓宽我们视界,才能更好的提高我们的深获质量。