转载:使用命令行启动virtualbox虚拟机

来碗酸梅汤 来碗酸梅汤     2022-08-04     186

关键词:

使用命令行启动VirtualBox虚拟机

装上VirtualBox就琢磨着如何让它开机自动启动,又或者能够通过命令行的形式直接启动指定的虚拟机。

看了下VirtualBox的官方文档,发现有一个命令可以满足我的需求,即VBoxManage。

VBoxManage提供了一系列的虚拟机管理命令,包括创建/删除/启动/修改等等,这里不一一列举。有点像Xen的XM命令。

不过这里只关心启动虚拟机的命令:VBoxManage startvm。VBoxManage的完整命令列表可以参考这里。

VBoxManage startvm子命令可以开启一台状态为关闭或者保存的虚拟机。该命令的语法为:
VBoxManage startvm uuid>|name... [--type gui|sdl|headless]

可以通过虚拟机的uuid或者name来指定某台虚拟机,可以通过另外一个子命令list列出系统已有的虚拟机:

$ VBoxManage list vms

"XP" {8842d793-228c-458e-a880-8051193fd2db}

我系统上已经安装了一台名为XP的虚拟机,后面括号内部的是它的UUID。

VBoxManage startvm子命令可以通过–type参数指定启动的方式,其中gui就是图形化界面,这和我们平时启动的方式一样。

sdl也是图形化界面,但是少掉了部分功能,比如没有菜单等,一般用于调试过程。最后headless是在后台运行,并且默认开启vrdp服务,可以通过远程桌面工具来访问。

关于这三种启动方式的介绍可以看手册中的这一篇。所以一般我们使用gui或者headless类型启动。

使用gui类型启动虚拟机:
$ VBoxManage startvm XP --type gui

执行结束后,就会启动指定的虚拟机,几乎和平时没什么区别。

使用headless类型启动虚拟机:


$ VBoxManage startvm "XP" --type headless

或者

$ VBoxHeadless --startvm "XP"

结果返回:


$ rdesktop -a 16 -N -g 1280x800 127.0.0.1:3389


Autoselected keyboard map en-us


ERROR: connect: Connection refused



翻了下手册,结果发现要获得VRDP的支持还需要安装额外的扩展包,详细说明可以参考这里。

从VirtualBox的下载页面选择相应的版本下载扩展包。下载完成后,双击即可以完成安装,或者在菜单中File-Preference-Extensions可以安装和查看已安装的扩展包。

安装好再次执行上面的远程命令,这下可以看见虚拟机界面了吧。

可以通过ctrl+alt+enter切换全屏。不过我这里用rdesktop全屏后,屏幕就黑了,只有点过的地方才会恢复。

不知道是什么原因,我就干脆用TigerVNC了,同时在启动headless的时候加上-n参数{$ VBoxHeadless -n -s winxp (VBoxHeadless -s winxp --vnc --vncport 5900 --vncpass password)},通过以下命令远程连接:

$ vncviewer localhost:5900

按下F8会出现一个菜单,里面可以切换全屏。

一切相关的命令:
$ VBoxManage list runningvms # 列出运行中的虚拟机


$ VBoxManage controlvm XP acpipowerbutton # 关闭虚拟机,等价于点击系统关闭按钮,正常关机


$ VBoxManage controlvm XP poweroff # 关闭虚拟机,等价于直接关闭电源,非正常关机


$ VBoxManage controlvm XP pause # 暂停虚拟机的运行


$ VBoxManage controlvm XP resume # 恢复暂停的虚拟机


$ VBoxManage controlvm XP savestate # 保存当前虚拟机的运行状态

三种虚拟机工具的命令行实践

...机服务(libvirt)启动的时候就启动虚拟机。对比VMware和VirtualBox,KVM可视 查看详情

使用vagrant在命令行快速创建虚拟机

...们在这里所说的Vagrant包括Vagrant工具本身和虚拟引擎工具VirtualBox。1.安装Vagrant安装vagrant时,使用的VirtualBox版本必须要得到对应Vagrant版本的支持,在写这篇文档的时候,我安装的Vagrant版本是2.2.18,对应 查看详情

virtualbox虚拟机后台运行

参考技术A受vagrant影响,想把VirtualBox虚拟机改为后台模式,对于无界面的虚拟机,仅一个ssh功能就可以完全控制。VirtualBox虚拟机有一种模式为headless模式,即无显示模式:VBoxManagestartvm<uuid>|<name>[--typegui|sdl|headless]假设我... 查看详情

安装linux系统虚拟机怎么使用命令行

...(在屏幕的空白处右击);2.输入命令:sudoapt-getinstallvirtualbox;3.在你的application(应用)->system(系统)就可以看到你新安装的虚拟机了;4.也可以直接在终端输入命令:virtualbox就可以打开了.我这里安装的是virtualbox.另... 查看详情

命令行模式启动vmware虚拟机

工作中使用到在centos中安装vmwareWorkstation部署虚拟机,以前都是使用图形界面启动虚拟机,由此要调整VNC的分辨率大小,重启VNCServer后所有虚拟机都关闭了。事后分析可能是图形化启动虚拟机是运行在level5中,重启VNCServer相当于... 查看详情

从命令行启动虚拟机

从命令行启动虚拟机:2.用命令列出虚拟机的ID:1vim-cmdvmsvc/getallvms|grep<vmname>注意:第一列输出是vmid. 2.用命令查看虚拟机启动状态:1vim-cmdvmsvc/power.getstate<vmid> 3.用命令启动虚拟机:1vim-cmdvmsvc/power.on<vmid>  查看详情

命令行启动kvm虚拟机

kvm虚拟机常用管理命令查看启动中的kvm虚拟机:virsh list查看所有kvm虚拟机状态:virsh list --all启动kvm虚拟机:virsh start  FH-UMP-ZABBIX2(虚拟机名称)   查看详情

命令行模式启动vmware虚拟机

工作中使用到在CentOS中安装VMWareWorkstation部署虚拟机,以前都是使用图形界面启动虚拟机,由此要调整VNC的分辨率大小,重启VNCServer后所有虚拟机都关闭了。事后分析可能是图形化启动虚拟机是运行在level5中,重启VNCServer相当于... 查看详情

cobbler配置(转载)

Cobbler介绍Cobbler是一个系统启动服务(bootserver),可以通过网络启动(PXE)的方式用来快速安装、重装物理服务器和虚拟机,支持安装不同的Linux发行版和Windows。该工具使用python开发,小巧轻便(才15k行代码),使用简单的命令... 查看详情

使用命令别名来简化virtualbox虚拟机共享文件夹的使用

在Windows上使用VirtualBox虚拟机,并为客户机Linux建立了共享文件夹(假定其名称取为VMshare)之后,想要使用这个共享文件夹,通常需要依次执行以下步骤:建立挂载点(只需建立一次,以后直接用即可)挂载共享文件夹(每次重启机器... 查看详情

win7下virtualbox虚拟机开机后台自启动

...机,学习下非常好。但是每次使用linux的时候,都是打开virtualBox-->启动安装的linux系统-->再用远程桌面(SSH等)连接每次手动打开比较麻烦,而且linux虚拟机也有窗口,比较冗杂。如果能开机自启,并且后台运行linux虚拟机(... 查看详情

为啥虚拟机在genymotion无法启动,在virtualbox启动后又app闪退(输入法也无法使用)?

话说300MB内存应该够QQ、微博等APP使用吧!还没玩游戏呢!参考技术A虚拟机很吃内存,很可能是配置不够的原因追问是真实硬件内存不够还是虚拟机内存分配不够?300MB内存应该够QQ、微博等APP使用吧! 查看详情

基于virtualbox和vagrant搭建虚拟机(代码片段)

一、VirtualBox和vagrant的安装VirtualBox是一款开源的虚拟机软件,和VMWare是同类型的软件,用于在当前的电脑上构建一台虚拟机,在这台虚拟机上可以安装系统和软件,与真实的电脑一般无二。Vagrant用于创建和部署虚拟化开发环境... 查看详情

安装kalilinux到虚拟机总结

...码后,一直黑屏,等上将近10分钟才能正常显示。故尝试virtualbox虚拟机安装。二、安装到Virtualbox  按照常规步骤进行安装,安装过程中出现“0x00000000指令引用的0x00000000内存该内存不能为written”的错误,根据网上搜索,... 查看详情

xenserver命令行启动虚拟机(代码片段)

首先使用命令xevm-list查看对应的uuid[root@xenserver-cvahqgsi/]#xevm-listuuid(RO):9bb6de8c-8d03-0569-e6d6-e40423821cb7name-label(RW):Windows10(64-bit)power-state(RO):runninguuid(RO):3f8099fd-637c-ec68-3c7c-7c1 查看详情

vcenter查看所有的虚拟机地址

...Center简单查看多少虚拟机在开机状态和一共多少虚拟机【转载】基于Linux命令行KVM虚拟机的安装配置与基本使用Android学习笔记——log无法输出的解决方法和命令行查看log日志redis命令行查看修改配置文件项、配置文件说明linuxmysql... 查看详情

virtualbox虚拟机跨物理机迁移

VirtualBox保存虚机数据的是vdi文件,但是直接拷贝在新的VirtualBox中不能打开,因为每个vdi文件都包含了一个uuid的数据,如果直接拷贝,uuid在新的VirtualBox中是不能用的,所以会打开失败,我们需要给在原来vdi的基础上,生成新的v... 查看详情

如何使用virtualbox安装虚拟机

安装虚拟机和OracleVMVirtualBoxExtensionPack程序安装完毕后,启动虚拟机在“OracleVMVirtualBox管理器”界面中单击工具栏中的“新建”按钮按提示新建一个虚拟机,分别将其名称、类型和版本设置为“OSX”,“MACOSX”,“MacOSXServer",... 查看详情