VirtualBox虚拟机实现开机自动后台运行
来源:互联网 发布:网络语泥石流的意思 编辑:程序博客网 时间:2024/05/22 06:57
测试环境:
Host OS: Windows 7 x64
Guest OS: Ubuntu、Windows XP
开启远程登录,并设置用户密码,XP用control userpasswords2设置自动登录(取消“要使
用本机,用户必需输入服务器密码”)
虚拟机软件:VirtualBox-4.0.2-69518-Win
目的:开机后自动后台运行虚拟机,只有进程,不显示GUI界面。
由于VMware Server 2只支持到Windows 2008 Server系统,Windows 7系统不便使用,即使
能安装也可能会有问题。VMware Workstation不免费,本身也没有后台运行虚拟机的功能,
只能通过第三方软件把启动虚拟机做成系统服务,或者设置了“在关闭后在后台运行电源
已打开的虚拟机”用批处理启动虚拟机再杀进程,或者用计划任务。因此选择使用免费的
VirtualBox。
后台启动VirtualBox虚拟机的命令有2个:
VBoxHeadless -s|--startvm <uuid>|<name> [--vrde=on|off|config]
VirtualBox 1.6后的版本里,VBoxVRDP只是VBoxHeadless的快捷方式,不再是单独的命令。
防止VRDP端口(虚拟机设置里的远程桌面)被外界访问到,用参数--vrde=off,虚拟机用桥接
网络时,虚拟机系统自带的远程桌面不受此参数影响。
VBoxManage [-q|--nologo] startvm <uuid>|<name> [--type gui|sdl|headless]
The following values are allowed:
gui - Starts a VM showing a GUI window. This is the default.
headless - Starts a VM without a window for remote display only.
启动虚拟机的脚本(虚拟机的名称为XP):
@echo off
:: by oicu
cd /d "D:\Program Files\Oracle\VirtualBox"
VBoxHeadless --startvm "XP"
:: VBoxManage startvm "XP" --type headless
直接启动批处理脚本的话(包括脚本放到“启动”里),无论用哪条命令启动虚拟机都会有
一个headless的cmd窗口,用start ""也不能消去,关闭了该cmd窗口后虚拟机也退出了,而
且属于不正常关闭。可以一次启动多个虚拟机系统。
关闭虚拟机的脚本:
@echo off
:: by oicu
cd /d "D:\Program Files\Oracle\VirtualBox"
VBoxManage controlvm "XP" acpipowerbutton
:: send {Enter} to VM, for Windows Guest OS only.
VBoxManage controlvm "XP" keyboardputscancode 1c
打开gpedit.msc组策略,在用户的登录/注销脚本里,分别添加上面2个脚本。这里不能使用
计算机的启动/关机脚本,测试过是不能启动虚拟机的,可能和SYSTEM用户执行的脚本不能
访问网络等权限有关。使用登录脚本启动虚拟机不会显示headless的cmd窗口(系统组策略
里默认是隐藏运行脚本),未测试计划任务的方式。
远程登录Windows系统的虚拟机后,如果远程未注销,用关闭虚拟机的脚本就无法关闭虚拟
机,原因是关闭计算机时会提示“其他用户登录到这台计算机,关闭WINDOWS会使他们丢失
数据,您要继续关机吗?”造成acpi关机方式失败。在Guest系统里设置关机/注销脚本,用
shutdown -s -t 0也无效。解决方法是向虚拟机发送回车键,模拟“确定”操作,当然也可
以用shutdown远程关闭系统,但设置和操作更麻烦了。
虚拟机是Linux时,避免用VboxHeadless.exe和VirtualBox.exe交替登录,两者的不同步可
能会造成虚拟机的filesystem损坏。
Host OS: Windows 7 x64
Guest OS: Ubuntu、Windows XP
开启远程登录,并设置用户密码,XP用control userpasswords2设置自动登录(取消“要使
用本机,用户必需输入服务器密码”)
虚拟机软件:VirtualBox-4.0.2-69518-Win
目的:开机后自动后台运行虚拟机,只有进程,不显示GUI界面。
由于VMware Server 2只支持到Windows 2008 Server系统,Windows 7系统不便使用,即使
能安装也可能会有问题。VMware Workstation不免费,本身也没有后台运行虚拟机的功能,
只能通过第三方软件把启动虚拟机做成系统服务,或者设置了“在关闭后在后台运行电源
已打开的虚拟机”用批处理启动虚拟机再杀进程,或者用计划任务。因此选择使用免费的
VirtualBox。
后台启动VirtualBox虚拟机的命令有2个:
VBoxHeadless -s|--startvm <uuid>|<name> [--vrde=on|off|config]
VirtualBox 1.6后的版本里,VBoxVRDP只是VBoxHeadless的快捷方式,不再是单独的命令。
防止VRDP端口(虚拟机设置里的远程桌面)被外界访问到,用参数--vrde=off,虚拟机用桥接
网络时,虚拟机系统自带的远程桌面不受此参数影响。
VBoxManage [-q|--nologo] startvm <uuid>|<name> [--type gui|sdl|headless]
The following values are allowed:
gui - Starts a VM showing a GUI window. This is the default.
headless - Starts a VM without a window for remote display only.
启动虚拟机的脚本(虚拟机的名称为XP):
@echo off
:: by oicu
cd /d "D:\Program Files\Oracle\VirtualBox"
VBoxHeadless --startvm "XP"
:: VBoxManage startvm "XP" --type headless
直接启动批处理脚本的话(包括脚本放到“启动”里),无论用哪条命令启动虚拟机都会有
一个headless的cmd窗口,用start ""也不能消去,关闭了该cmd窗口后虚拟机也退出了,而
且属于不正常关闭。可以一次启动多个虚拟机系统。
关闭虚拟机的脚本:
@echo off
:: by oicu
cd /d "D:\Program Files\Oracle\VirtualBox"
VBoxManage controlvm "XP" acpipowerbutton
:: send {Enter} to VM, for Windows Guest OS only.
VBoxManage controlvm "XP" keyboardputscancode 1c
打开gpedit.msc组策略,在用户的登录/注销脚本里,分别添加上面2个脚本。这里不能使用
计算机的启动/关机脚本,测试过是不能启动虚拟机的,可能和SYSTEM用户执行的脚本不能
访问网络等权限有关。使用登录脚本启动虚拟机不会显示headless的cmd窗口(系统组策略
里默认是隐藏运行脚本),未测试计划任务的方式。
远程登录Windows系统的虚拟机后,如果远程未注销,用关闭虚拟机的脚本就无法关闭虚拟
机,原因是关闭计算机时会提示“其他用户登录到这台计算机,关闭WINDOWS会使他们丢失
数据,您要继续关机吗?”造成acpi关机方式失败。在Guest系统里设置关机/注销脚本,用
shutdown -s -t 0也无效。解决方法是向虚拟机发送回车键,模拟“确定”操作,当然也可
以用shutdown远程关闭系统,但设置和操作更麻烦了。
虚拟机是Linux时,避免用VboxHeadless.exe和VirtualBox.exe交替登录,两者的不同步可
能会造成虚拟机的filesystem损坏。
0 0
- VirtualBox虚拟机实现开机自动后台运行
- 让VirtualBox虚拟机实现开机自动后台运行
- 让VirtualBox虚拟机实现开机自动后台运行
- 让虚拟机实现开机自动后台运行
- 让虚拟机实现开机自动后台运行
- 让虚拟机实现开机自动后台运行
- 后台运行VirtualBox虚拟机
- 后台运行VirtualBox虚拟机
- 开机后台启动virtualbox虚拟机
- 让新版本的virtualbox在windows下开机默认后台运行虚拟机
- VirtualBox虚拟机后台运行的原理
- win10 开机后台自动运行脚本
- 怎样实现tomcat做服务器在windows下开机自动运行&后台运行【HOT】
- redis配置为开机自动启动并且后台运行
- 开机自动启动app,后台保持运行Service
- 用c#实现开机自动运行
- 实现开机自动运行,托盘·
- Android实现开机自动运行程序
- hbase RowFilter
- 博客搬家到CSDN
- asa v9.1(2) VPN
- JSFL批量删除fla文件中超出某个宽度的原件
- ftok的陷阱
- VirtualBox虚拟机实现开机自动后台运行
- 模块“xinput1_3.dll”已加载,但找不到入口DLLregisterServer或者xinput1_3.dll找不到的解决办法
- MATLAB符号表达式运算
- NTCreateDEbugOBject for win8..1
- 用phpexcel导出excel后,文件打开出错
- Linux下批量Kill多个进程
- 工作日志4-27
- NSString字符串相加连接的三种方法、判断是否包含字符串的方法
- hdu 1175 连连看(bfs)