转载:使用命令行启动VirtualBox虚拟机
2016-04-13 10:20
246 查看
使用命令行启动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 # 保存当前虚拟机的运行状态
装上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 # 保存当前虚拟机的运行状态
相关文章推荐
- virtualbox安装记录
- Oracle的冷备份与热备份
- centos 6 安装virtualbox 闪退问题
- 防止人为误操作MySQL数据库技巧一例
- Openssl漏洞问题升级为1.0.1g(OpenSSL 漏洞版本v1.0.1到1.0.1f)
- Linux 实时流量查看 iftop安装教程和一些参数和命令
- Spark 伪分布式安装教程
- 支持lua脚本的串口调试助手
- 一文教你看懂大数据的技术生态圈:Hadoop,hive,spark
- Intersection(ZOJ3862)
- C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别
- iOS开发实践教程(三)之上传AppStore流程
- 如何 打包整合linux系统文件夹 用于刷机包等等, 其中包括打包 句号开头 . 开头的文件, 排除系统文件 等
- MongoDB快速入门(九)- 投影
- 打开/关闭Oracle的审计功能
- H3C BGP
- tech news1
- oracle 归档日志文件路径设置
- Oracle实例和Oracle数据库(Oracle体系结构)
- Linux下使用uuencode发送附件