服务器 虚拟机自动启动不了怎么办,Windows 设置 VMware workstation 虚拟机开机启动...-程序员宅基地

技术标签: 服务器 虚拟机自动启动不了怎么办  

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

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

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

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

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

5fce16b6425934f5db8fadcabbd7e34c.png

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

6a9518b8f6c84aef61bc48da07ac1e97.png

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

3、在 DOS 界面中查看 vmrun 命令的语法格式及参数Microsoft Windows [版本 10.0.17134.471]

(c) 2018 Microsoft Corporation。保留所有权利。

C:\Users\CaoBo>vmrun

vmrun version 1.17.0 build-10952284

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

AUTHENTICATION-FLAGS

--------------------

These must appear before the command and any command parameters.

-T  (ws|fusion||player)

-vp 

-gu 

-gp 

POWER COMMANDS           PARAMETERS           DESCRIPTION

--------------           ----------           -----------

start                    Path to vmx file     Start a VM or Team

[gui|nogui]

stop                     Path to vmx file     Stop a VM or Team

[hard|soft]

reset                    Path to vmx file     Reset a VM or Team

[hard|soft]

suspend                  Path to vmx file     Suspend a VM or Team

[hard|soft]

pause                    Path to vmx file     Pause a VM

unpause                  Path to vmx file     Unpause a VM

SNAPSHOT COMMANDS        PARAMETERS           DESCRIPTION

-----------------        ----------           -----------

listSnapshots            Path to vmx file     List all snapshots in a VM

[showTree]

snapshot                 Path to vmx file     Create a snapshot of a VM

Snapshot name

deleteSnapshot           Path to vmx file     Remove a snapshot from a VM

Snapshot name

[andDeleteChildren]

revertToSnapshot         Path to vmx file     Set VM state to a snapshot

Snapshot name

GUEST OS COMMANDS        PARAMETERS           DESCRIPTION

-----------------        ----------           -----------

runProgramInGuest        Path to vmx file     Run a program in Guest OS

[-noWait]

[-activeWindow]

[-interactive]

Complete-Path-To-Program

[Program arguments]

fileExistsInGuest        Path to vmx file     Check if a file exists in Guest OS

Path to file in guest

directoryExistsInGuest   Path to vmx file     Check if a directory exists in Guest OS

Path to directory in guest

setSharedFolderState     Path to vmx file     Modify a Host-Guest shared folder

Share name

Host path

writable | readonly

addSharedFolder          Path to vmx file     Add a Host-Guest shared folder

Share name

New host path

removeSharedFolder       Path to vmx file     Remove a Host-Guest shared folder

Share name

enableSharedFolders      Path to vmx file     Enable shared folders in Guest

[runtime]

disableSharedFolders     Path to vmx file     Disable shared folders in Guest

[runtime]

listProcessesInGuest     Path to vmx file     List running processes in Guest OS

killProcessInGuest       Path to vmx file     Kill a process in Guest OS

process id

runScriptInGuest         Path to vmx file     Run a script in Guest OS

[-noWait]

[-activeWindow]

[-interactive]

Interpreter path

Script text

deleteFileInGuest        Path to vmx file     Delete a file in Guest OS

Path in guest

createDirectoryInGuest   Path to vmx file     Create a directory in Guest OS

Directory path in guest

deleteDirectoryInGuest   Path to vmx file     Delete a directory in Guest OS

Directory path in guest

CreateTempfileInGuest    Path to vmx file     Create a temporary file in Guest OS

listDirectoryInGuest     Path to vmx file     List a directory in Guest OS

Directory path in guest

CopyFileFromHostToGuest  Path to vmx file     Copy a file from host OS to guest OS

Path on host

Path in guest

CopyFileFromGuestToHost  Path to vmx file     Copy a file from guest OS to host OS

Path in guest

Path on host

renameFileInGuest        Path to vmx file     Rename a file in Guest OS

Original name

New name

typeKeystrokesInGuest    Path to vmx file     Type Keystrokes in Guest OS

keystroke string

connectNamedDevice       Path to vmx file     Connect the named device in the Guest OS

device name

disconnectNamedDevice    Path to vmx file     Disconnect the named device in the Guest OS

device name

captureScreen            Path to vmx file     Capture the screen of the VM to a local file

Path on host

writeVariable            Path to vmx file     Write a variable in the VM state

[runtimeConfig|guestEnv|guestVar]

variable name

variable value

readVariable             Path to vmx file     Read a variable in the VM state

[runtimeConfig|guestEnv|guestVar]

variable name

getGuestIPAddress        Path to vmx file     Gets the IP address of the guest

[-wait]

GENERAL COMMANDS         PARAMETERS           DESCRIPTION

----------------         ----------           -----------

list                                          List all running VMs

upgradevm                Path to vmx file     Upgrade VM file format, virtual hw

installTools             Path to vmx file     Install Tools in Guest

checkToolsState          Path to vmx file     Check the current Tools state

deleteVM                 Path to vmx file     Delete a VM

clone                    Path to vmx file     Create a copy of the VM

Path to destination vmx file

full|linked

[-snapshot=Snapshot Name]

[-cloneName=Name]

Template VM COMMANDS     PARAMETERS           DESCRIPTION

---------------------    ----------           -----------

downloadPhotonVM         Path for new VM      Download Photon VM

Examples:

Starting a virtual machine with Workstation on a Windows host

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

Running a program in a virtual machine with Workstation on a Windows host with Windows guest

vmrun -T ws -gu guestUser -gp guestPassword runProgramInGuest "c:\my VMs\myVM.vmx" "c:\Program Files\myProgram.exe"

Creating a snapshot of a virtual machine with Workstation on a Windows host

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

Reverting to a snapshot with Workstation on a Windows host

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

Deleting a snapshot with Workstation on a Windows host

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

Enabling Shared Folders with Workstation on a Windows host

vmrun -T ws enableSharedFolders "c:\my VMs\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

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

d7acf441097f9304f89a3cfd6b5df792.png

@echo off & setlocal enabledelayedexpansion

vmrun -T ws start "I:\Documents\Virtual Machines\centos\centos.vmx" nogui

附上关机脚本:@echo off & setlocal enabledelayedexpansion

vmrun list > vmlist.txt

for %%i in (vmlist.txt) do (

set "f=%%i"

for /f "usebackq delims=" %%j in ("!f!") do set/a n+=1

for /f "delims=" %%m in ('"type "!f!"|more /E +1 & cd. 2^>!f!"') do set/a x+=1&if !x! leq !n! echo;%%m>>!f!

set/a n=0,x=0

)

for /f "delims=" %%a in (vmlist.txt) do (

vmrun -T ws stop "%%a" nogui

)

pause

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

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

①、用计划任务来实现。

创建计划任务:

a5505142ab1e65d2930afc0c033f0c15.png78782e671c9771d5902d4ff502cc0403.pngeb1a52f2ce13500ef33f553e1c8203f8.png

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

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

②、用组策略来实现

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

d943623b7d06c92f57c6e1de22e4a9d5.png

在组策略中,依次选择   ,双击 ,如下图

463eb6acfd13956a2719b509466096e5.png

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

180d5619e8acf0d2e119432b8787aee5.png

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

三、总结

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33512961/article/details/119289191

智能推荐

Kubernetes为什么叫K8S,K8S的优势到底是什么让它成为当前热门?_kubernetes的优势有哪些-程序员宅基地

文章浏览阅读3.5k次。Kubernetes简介、优势、架构优势、用途、核心概念、术语、快速部署_kubernetes的优势有哪些

DO-178B及DO-178C中的MC/DC有什么不同?-程序员宅基地

文章浏览阅读705次。本文简要讨论了DO-178B及DO-178C中MC/DC的定义。简而言之,DO-178B仅允许唯一原因MC/DC,DO-178C扩展了屏蔽MC/DC及短路MC/DC,大大增强了对存在耦合条件情况的适用性。_do-178c

【PTA】【浙大版《Python 程序设计》7-4 特殊a串数列求和 (20 分)_pta7-4求累加和-程序员宅基地

文章浏览阅读1.1k次。给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。输入格式:输入在一行中给出不超过9的正整数a和n。输出格式:在一行中按照“s = 对应的和”的格式输出。输入样例:2 3输出样例:s = 246思路:列表解析式构建列表,再求和a,n=list(map(int, input().split())) s = sum([int(s..._pta7-4求累加和

AttributeError: module ‘torch.distributed‘ has no attribute ‘deprecated‘的问题解决_module 'torch.distributed' has no attribute 'reduc-程序员宅基地

文章浏览阅读2.8k次,点赞2次,收藏2次。Traceback (most recent call last): File "<stdin>", line 1, in <module> File "D:\metya\Anaconda3\lib\site-packages\apex\__init__.py", line 4, in <module> from . import parallel File "D:\metya\Anaconda3\lib\site-packages\apex\par._module 'torch.distributed' has no attribute 'reduceop

oracle之索引优化_oracle索引的使用和优化-程序员宅基地

文章浏览阅读2.4k次。oracle中单列索引和复合索引的选择以及导致索引失效一些常见情况(包含对最佳左前缀和全表扫描的描述)_oracle索引的使用和优化

15.脚本备份、恢复达梦DM数据库_docker 达梦数据库 备份恢复-程序员宅基地

文章浏览阅读458次,点赞8次,收藏11次。脚本命令恢复、备份达梦DM数据库_docker 达梦数据库 备份恢复

随便推点

WPF控件TextBlock中文字自动换行-程序员宅基地

文章浏览阅读594次。原文:WPF控件TextBlock中文字自动换行 在很多的WPF项目中,往往为了追求界面的美观,需要控制控件中文字的换行显示,现对TextBlock控件换行的实现方式进行总结,希望大家多多拍砖!!!1.使用转义字符在XAML文件中,实现方式如下:<TextBlock..._wpf 一段文本如何放入textblock自动换行

linux下oracle创建新用户和数据库_linux oracle新建数据库实例和新建用户-程序员宅基地

文章浏览阅读1.5w次。1.su - oracle2.登录sys用户sqlplus 'sys/Or#K017$dDB001 as sysdba'3.创建临时表空间:--查询临时表空间文件的绝对路径。如果需要的话,可以通过查询来写定绝对路径。一般用${ORACLE_HOME}就可以了 select name from v$tempfile; create temporar_linux oracle新建数据库实例和新建用户

常用输入框的测试用例汇总_输入法性能测试用例-程序员宅基地

文章浏览阅读1.1w次,点赞9次,收藏60次。针对普通输入框的测试用例1、 输入中英文空格,字符串中间空格,首尾空格,回车换行符2、 字符长度校验,输入是缓冲区溢出的超长字符,默认字符,空字符,特殊字符,尤其是系统保留字符3、 根据的页面使用的不同程序语言,输入不同的语言字符串,如HTML格式语言,JS函数格式,如 针对数值型输入框的测试用例1、 输入整数首位、末位为02、 输入正负数值3、 输入0、小数、小数末位为04、 输入..._输入法性能测试用例

自动化工程师必备编程语言大揭秘,C#、VB、LabVIEW和C++哪个更牛?_vb和c#语言哪个更实用-程序员宅基地

文章浏览阅读1k次。因为界面上特别是代码界面基本上是英语呀,所以从入门来说,英语就需要一定的基础,我个人觉得有高中以上的英语基础就能应付,英语基础差的,可以专门学习《C#编程英语词汇》,这个词汇我整理了一份,有需要的同学可以找我分享。运动控制卡,机器视觉,数据库,通讯等自动化控制领域C#的应用比较多。贴片机,点胶机,切割机,焊接机等很多的高精密的专机设备,大都采用C#配运动控制卡和CCD视觉的控制系统。是一种完全面向对象的语言,具有高效的开发和快速的执行速度。都是常见的上位机编程语言,每种语言都有其独特的优势,_vb和c#语言哪个更实用

java 与mysql数据类型映射_java和mysql geometry类型 映射-程序员宅基地

文章浏览阅读883次。MySQLJavaCHARStringVARCHARStringLONGVARCHARStringNUMERICjava.math.BigDecimalDECIMALjava.math.BigDecimalBITbooleanTINYINTbyteSMALLINTshortINTEGERintBIGINTlongREALfloatFLOATdoubleDOUBLEdoubleBINAR..._java和mysql geometry类型 映射

均值、方差、标准差、均方根、均方误差、均方根误差的区别与联系_均方根差和均方根-程序员宅基地

文章浏览阅读2.6k次。均值、方差、标准差、均方根、均方误差、均方根误差的区别与联系The mean, variance, and standard deviation are the most basic statistical measures. The mean均值μx\mu_{x}μx​, and variance方差 σx2\sigma_{x}^{2}σx2​, of a set of nnn observations, xix_{i}xi​, are defined asμx=1n∑i=1nxi,σx2=1n∑i=_均方根差和均方根

推荐文章

热门文章

相关标签