Start VirtualBox VM in the Background on Windows

My company’s IT department requires my workstation to run Windows 7. Nothing against Windows – it’s a great environment for the masses and currently a requirement for producing business documents. However, all of my more interesting work happens to be on remote Linux-based servers, and running putty just doesn’t scale as well.

Left screen: Windows 7. Right screen: Arch Linux.

I prefer to run a full screen Linux VM on my second monitor. Left screen: Windows. Right Screen: Arch Linux. Seemless mouse and keyboard transition between them. To make this work, I run a VirtualBox Arch Linux VM in the background, and use RDC to remote in to it.

The following start_vm.bat script uses powershell to spawn a process to start my “arch” vm in the background, and does not leave a command prompt hanging around on my task bar.

powershell start-process 'c:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe' '-s arch' -WindowStyle Hidden

I can then RDC to my VM, maximize on my second monitor, and I have a seemless transition between Windows and Linux.