`
libin0019
  • 浏览: 237434 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

VMware Workstation提供的可编程接口

 
阅读更多

引自:http://www.cnblogs.com/royenhome/archive/2010/08/07/1794507.html

何谓Vmrun命令?其实这并不是什么神秘的东西,相信部分朋友使用过Vmware workstation来安装过一些虚拟机吧。如果你足够细心的话,你会发现在这个软件的安装目录下能找到一个Vmrun.exe可执行文件。如果你从命令行敲入vmrun.exe(当然你得切换到workstation的根目录下),你会惊奇的发现很多该命令提供了很多的参数,这些参数的功能成为了Host机器与Guest机器之间的功能强大的连接桥梁。那么,先一睹下到底有哪些命令可供我们玩转。     

     1、POWER COMMANDS

     如下图:

      

     从上可以看出,这些命令参数可以完成开启或者关闭虚拟机等操作~

     比如关机命令可以使用:vmrun  start "D:\\Windows7\\Win7.vmx"来启动虚拟机,其中start后面的是要启动的虚拟机系统的配置文件的位置

     其他的几个类似,故不再赘述

 

     2、SNAPSHOT COMMANDS

     如下图:

      

     顾名思义,这组命令参数主要是用于操作虚拟机系统的快照的。何谓快照,简单的说就是当前系统整个的状态信息。而创建快照(snapshot)的目的,则是在于保存当前系统的状态, 而还原快照(revertToSnapshot)则可以从当前的系统状态还原到指定快照时候的系统状态。这样做对于测试人员来说不难理解,因为测试必须保证处于干净的系统环境,所谓干净的测试环境则是指一个操作系统从被创建开始,只在上面安装过与测试相关的软件与配置,且只能做一次性的测试。而想要达到多次测试的目的,只能通过不断的revert到干净的测试环境那个快照点。

     从上图中可以看出,我们可以通过命令来查看系统所有的快照(listSnapshots)、为系统创建快照(snapshot)、删除系统中指定快照(deleteSnapshot)、恢复到某个快照(revertToSnapshot)这几个命令,如下所示:

      创建快照:

      vmrun snapshot "D:\\Windows7\\Win7.vmx" "snapshot1"

      但是,一般情况下光是上面还是不行的,尤其是当你想从代码级调用该命令创建虚拟机快照的时候,往往需要用户名与密码来验证。那么该怎么写呢?正确的命令如下:

     vmrun -gu 你虚拟机系统的用户名 -gp 你虚拟机系统的密码 snapshot "D:\\Windows7\\Win7.vmx"  "snapshot1" (<=快照名称)

     上面的这个命令是不是一定会成功?也不一定,如果还是失败的话,那么请尝试下面三个操作,如果还是解决不了你的问题的话,那么笔者保持沉默~

     1)先检测是否支持虚拟机快照的创建

         检测方法很简单, 查看工作站的菜单项的Vm选项下的Snapshot子选项,如下图:

        

         如果Snapshot右弹出菜单所有选项都灰掉的话,那么你得考虑先解决掉这个问题了 

 

     2)检测是不是Vmtools在捣鬼

          确定你的虚拟机系统中有没安装Vmtools或者是不是可以进行更新,如果没装请装之,装了的话最好update下,关于怎么安装或更新另请查询。 

 

     3)加上本地系统用户名与密码验证

         vmrun -u Host机器的用户名 -p Host机器的密码 -gu 虚拟机系统的用户名 -gp  虚拟机系统的密码 snapshot "vmx path"  "snapshot1"

 

    3、GUEST OS COMMAND 

    如下图:

     

    这组命令很有实用性,主要是可以在Host机器的下,对Guest机器(也就是虚拟机系统)进行一列的操作,如文件操作、进程操作、运行指定程序和运行脚本等,这些命令都是需要用户名与密码的验证,也就是在命令行中加上-gu与-gp参数,参见上面。

    这组命令中可能需要注意的是,runProgramInGuest命令可以执行虚拟机系统中的一些命令,如打开一个notepad,直接敲入如下命令:

    vmrun   -gu Guest系统用户名 -gp  Guest系统密码 runProgramInGuest "D:\\Windows7\\Win7.vmx" notepad

    如果想要打开虚拟机C盘根目录下的1.txt文件,可以在运行的程序后面加上参数,如下:

    vmrun   -gu Guest系统用户名 -gp  Guest系统密码 runProgramInGuest "D:\\Windows7\\Win7.vmx" notepad C:\\1.txt

    如果你在代码级别调用这个命令,希望你能够始终意识到一个事实,那就是上述命令默认是等到在Guest机器运行的程序结束后才返回。如果,亲爱的你,串行的执行一系列的命令,而前一个命令恰恰是个Long wait的程序,那么这之后的程序往往会挂住,无法执行。如你使用上述命令打开一个文本后,那么主程序就会等到你将Guest系统中的notepad关闭才会返回。

    那么,这个时候,你可以选择-nowait开关命令来选择无等待的执行,即每个命令一执行后就返回,不会产生阻塞,命令如下:

    vmrun   -gu Guest系统用户名 -gp  Guest系统密码 runProgramInGuest "D:\\Windows7\\Win7.vmx" -nowait notepad C:\\1.txt

    其他的命令,大家可以自己尝试下,在此不再赘述。    

何谓Vmrun命令?其实这并不是什么神秘的东西,相信部分朋友使用过Vmware workstation来安装过一些虚拟机吧。如果你足够细心的话,你会发现在这个软件的安装目录下能找到一个Vmrun.exe可执行文件。如果你从命令行敲入vmrun.exe(当然你得切换到workstation的根目录下),你会惊奇的发现很多该命令提供了很多的参数,这些参数的功能成为了Host机器与Guest机器之间的功能强大的连接桥梁。那么,先一睹下到底有哪些命令可供我们玩转。     

     1、POWER COMMANDS

     如下图:

      

     从上可以看出,这些命令参数可以完成开启或者关闭虚拟机等操作~

     比如关机命令可以使用:vmrun  start "D:\\Windows7\\Win7.vmx"来启动虚拟机,其中start后面的是要启动的虚拟机系统的配置文件的位置

     其他的几个类似,故不再赘述

 

     2、SNAPSHOT COMMANDS

     如下图:

      

     顾名思义,这组命令参数主要是用于操作虚拟机系统的快照的。何谓快照,简单的说就是当前系统整个的状态信息。而创建快照(snapshot)的目的,则是在于保存当前系统的状态, 而还原快照(revertToSnapshot)则可以从当前的系统状态还原到指定快照时候的系统状态。这样做对于测试人员来说不难理解,因为测试必须保证处于干净的系统环境,所谓干净的测试环境则是指一个操作系统从被创建开始,只在上面安装过与测试相关的软件与配置,且只能做一次性的测试。而想要达到多次测试的目的,只能通过不断的revert到干净的测试环境那个快照点。

     从上图中可以看出,我们可以通过命令来查看系统所有的快照(listSnapshots)、为系统创建快照(snapshot)、删除系统中指定快照(deleteSnapshot)、恢复到某个快照(revertToSnapshot)这几个命令,如下所示:

      创建快照:

      vmrun snapshot "D:\\Windows7\\Win7.vmx" "snapshot1"

      但是,一般情况下光是上面还是不行的,尤其是当你想从代码级调用该命令创建虚拟机快照的时候,往往需要用户名与密码来验证。那么该怎么写呢?正确的命令如下:

     vmrun -gu 你虚拟机系统的用户名 -gp 你虚拟机系统的密码 snapshot "D:\\Windows7\\Win7.vmx"  "snapshot1" (<=快照名称)

     上面的这个命令是不是一定会成功?也不一定,如果还是失败的话,那么请尝试下面三个操作,如果还是解决不了你的问题的话,那么笔者保持沉默~

     1)先检测是否支持虚拟机快照的创建

         检测方法很简单, 查看工作站的菜单项的Vm选项下的Snapshot子选项,如下图:

        

         如果Snapshot右弹出菜单所有选项都灰掉的话,那么你得考虑先解决掉这个问题了 

 

     2)检测是不是Vmtools在捣鬼

          确定你的虚拟机系统中有没安装Vmtools或者是不是可以进行更新,如果没装请装之,装了的话最好update下,关于怎么安装或更新另请查询。 

 

     3)加上本地系统用户名与密码验证

         vmrun -u Host机器的用户名 -p Host机器的密码 -gu 虚拟机系统的用户名 -gp  虚拟机系统的密码 snapshot "vmx path"  "snapshot1"

 

    3、GUEST OS COMMAND 

    如下图:

     

    这组命令很有实用性,主要是可以在Host机器的下,对Guest机器(也就是虚拟机系统)进行一列的操作,如文件操作、进程操作、运行指定程序和运行脚本等,这些命令都是需要用户名与密码的验证,也就是在命令行中加上-gu与-gp参数,参见上面。

    这组命令中可能需要注意的是,runProgramInGuest命令可以执行虚拟机系统中的一些命令,如打开一个notepad,直接敲入如下命令:

    vmrun   -gu Guest系统用户名 -gp  Guest系统密码 runProgramInGuest "D:\\Windows7\\Win7.vmx" notepad

    如果想要打开虚拟机C盘根目录下的1.txt文件,可以在运行的程序后面加上参数,如下:

    vmrun   -gu Guest系统用户名 -gp  Guest系统密码 runProgramInGuest "D:\\Windows7\\Win7.vmx" notepad C:\\1.txt

    如果你在代码级别调用这个命令,希望你能够始终意识到一个事实,那就是上述命令默认是等到在Guest机器运行的程序结束后才返回。如果,亲爱的你,串行的执行一系列的命令,而前一个命令恰恰是个Long wait的程序,那么这之后的程序往往会挂住,无法执行。如你使用上述命令打开一个文本后,那么主程序就会等到你将Guest系统中的notepad关闭才会返回。

    那么,这个时候,你可以选择-nowait开关命令来选择无等待的执行,即每个命令一执行后就返回,不会产生阻塞,命令如下:

    vmrun   -gu Guest系统用户名 -gp  Guest系统密码 runProgramInGuest "D:\\Windows7\\Win7.vmx" -nowait notepad C:\\1.txt

    其他的命令,大家可以自己尝试下,在此不再赘述。    

分享到:
评论

相关推荐

    (图解)Windows XP 下使用 VMware Workstation 安装和使用 Fedora 8.pdf

    1. **启动VMware Workstation**:打开VMware Workstation软件,通过菜单选择新建虚拟机。 2. **选择自定义安装**:在新虚拟机向导中选择“自定义”选项。 3. **指定虚拟机版本**:选择虚拟机版本为6.5。 4. **选择...

    C#编写的Vmware虚拟机

    Vmware公司推出的Vmware Workstation、Vmware ESXi等产品,就是虚拟化的杰出代表,它们提供了高度优化的性能和丰富的管理功能。 C#,是微软推出的一种面向对象的编程语言,通常用于开发Windows桌面应用、Web应用...

    vmware下vxworks_6.9安装运行指南

    下载并安装最新版本的VMware Workstation或Player。按照安装向导的指示进行,接受许可协议,选择安装位置,并配置自定义设置。 **二、VxWorks 6.9 ISO获取与导入** 1. 获取VxWorks 6.9的ISO镜像文件,这通常可以从...

    WinAC@VMWare里TIA组态例程

    WinAC是一款基于PC的可编程控制器(PLC),它允许用户在个人计算机上模拟和运行PLC程序,适用于测试、调试和培训。TIA则是西门子全面集成自动化系统,集成了从设计、编程、模拟到诊断和维护的所有自动化任务。 标题...

    hibernate+spring的配置.docx

    Hibernate提供了Session接口来执行CRUD(创建、读取、更新、删除)操作,以及Query和Criteria API来执行复杂的查询。 Spring框架则是一个全面的企业级应用开发框架,它提供了依赖注入、AOP(面向切面编程)、事务...

    CloseVMware_VMVare_

    VMware产品如VMware Workstation、VMware Fusion或VMware ESXi,提供了一种高效且灵活的方式来测试软件、隔离不同项目,或者在不同的操作系统环境中运行应用程序。 关闭VMware虚拟机通常可以通过VMware的图形用户...

    使用VIX API在C#中自动执行VMWare任务

    首先,VIX(Virtual Infrastructure eXtension)API是VMware提供的一套接口,它允许开发人员编写应用程序来控制VMware Workstation、VMware Server或ESXi等虚拟化产品中的虚拟机。VIX API支持多种编程语言,包括C、...

    嵌入式linux

    - 可以通过提供的链接下载**Ubuntu**的镜像文件,并使用VMware Workstation进行安装。 #### 2. **配置Ubuntu环境** - 安装完成后,需要对Ubuntu环境进行适当的配置,例如安装必要的开发工具和库文件。 - 配置...

    虚拟机技术的分类与比较.pdf

    VMM有两种主要类型:Type I VMM(如Xen和VMware ESXi)直接运行在硬件上,具备最佳性能,而Type II VMM(如VMware Workstation)则安装在宿主操作系统之上,通过宿主操作系统访问资源。无论是哪种类型,VMM都负责...

    《跟我学eCOS操作系统》

    1. **下载并安装VMware Workstation:** 访问VMware官方网站下载并安装最新版本的VMware Workstation。 2. **创建虚拟机:** 在VMware Workstation中创建一个新的虚拟机,并选择合适的Linux发行版作为操作系统。 3. ...

    Spark本地版安装教程(Ubuntu).docx

    【Spark本地版安装教程(Ubuntu)】 Spark是一个流行的开源大数据...同时,掌握Scala或Python编程语言,因为它们是Spark的主要编程接口。在实践过程中,遇到问题要善于查阅官方文档和社区资源,以解决遇到的任何难题。

    嵌入式系统移植

    它提供了类似 UNIX 的编程接口和系统调用,可以方便的将 UNIX 系统上的应用程序,移植到 Linux 上运行。Linux 具有一下特点: 1.可移植性:Linux 内核源代码是用 C 语言编写的,可以运行到各种平台。 2.支持多种...

    AB RSView32上位机移植_VM16pro虚拟机_XP

    在本文中,我们将深入探讨如何在VMware VM16 Pro虚拟机中移植并运行AB(Allen Bradley)罗克韦尔的RSView32 7.5上位机系统,以及如何利用该系统与PLC(可编程逻辑控制器)进行通讯。这个过程对于工业自动化和控制...

    操作系统专题实验指导书

    在实验中,学生将学习如何编写模块代码,以及如何使用Linux内核提供的编程接口(如内核API)和工具(如insmod、rmmod、lsmod等命令)来加载和管理这些模块。 字符设备驱动实验着重于Linux内核中的字符设备驱动程序...

    SDN ovs搭建实验学习

    VMware Workstation作为常用的虚拟机软件,能够为实验提供一个隔离的网络环境。Ubuntu操作系统则因为其开源特性,社区支持良好而被广泛应用于SDN实验中。实验中指定使用Ubuntu 13.10版本,因为其内核版本与OVS兼容性...

    2410RP_Linux实验指导书080828

    实验指导书中包含了多个驱动和应用实验,涵盖了GPIO(通用输入输出)、中断处理、ADC(模数转换)、DAC(数模转换)、EEPROM(电可擦除可编程只读存储器)、温度传感器、键盘、LED点阵、继电器、蜂鸣器等多种外设的...

Global site tag (gtag.js) - Google Analytics