VirtualBox: startup guest machine in background
October 31st, 2010 mysurface Posted in VBoxHeadless, VBoxManage, VirtualBox | Hits: 141978 | 3 Comments »
Usually we start our virtual machine by clicking through the GUI. If your guest machine is a server, it would be making more sense to be run as background process.
Well, my case, I have ‘gentoo’ installed in virtual box, which expose to outside world through ssh. I would like it to start as background process, how can I do that?
Virtual Box allows you to start your virtual machine through command line VBoxHeadless, by adding ‘&’, you can make the process run as background.
VBoxHeadless -s [guestname] &
I wrote a bash script to help myself perform the background startup, reboot, poweroff and status query. Assume my guest machine name as ‘gentoo’, I wrote a script name as ‘gentoo’. Now I can do ‘gentoo start’ to start it at background.
#!/bin/bash
if [[ -z "$1" ]]
then
echo "Usage:"
echo " gentoo [status|start|reboot|poweroff]"
exit
fi
if [[ $1 == "status" ]]
then
# print out the machine state
VBoxManage showvminfo gentoo | grep State
elif [[ $1 == "start" ]]
then
# start without vrdp
VBoxHeadless -s gentoo --vrdp=off &
elif [[ $1 == "reboot" ]]
then
# send ctrl+alt+del to guest machine
VBoxManage.exe controlvm gentoo keyboardputscancode 1d 38 53 b8 9d
elif [[ $1 == "poweroff" ]]
then
# simulate pressing power off button, will power cut immediately
VBoxManage controlvm gentoo poweroff
fi
With the capabilities of command line to manipulates the guest machine, it helps to support for more customization and automation. This is the main reason I like about VirtualBox.
Have fun :)







December 26th, 2010 at 5:59 pm
Hi there,
another useful thing is a little bash-function i wrote to get all installed machines with their current state.
–
vboxlist ()
{
vboxmanage list -l vms | egrep -i –color=auto ‘(Name: |State:)’ | sed ‘s/Name:[ \t]*\|State:[ \t]*//’ | sed ‘$!N;s/\n/ – /’
}
–
January 11th, 2011 at 3:37 am
Have you tried VMware??
http://tips-linux.net/en/linux-ubuntu/linux-software/linux-cross-platform/vmware-workstation-linux-full-701
February 28th, 2013 at 3:31 am
Thanks for the script. Works like a charm