After a little bit of googling I found the answer to this - it's a combination of two other things which combined give you the outcome you want.
VM's can be started automatically via calling VBoxManage.exe
from the correct folder. On my system this is C:\Program Files\Oracle\VirtualBox
So if you call C:\Program Files\Oracle\VirtualBox\VBoxManage.exe startvm "test" --type gui
it'll fire up a VBox VM called test visible to the user, but not full screened. You could call this via a shortcut which is added to startup items, among other ways.
To get it full screened you have two options - either manually editing the config file for the VM. In my case this was test.vbox
in the Virtualbox VMs folder, or starting the VM then pressing the host key (defined as rightctrl+F on my setup to get the VM full screened, then close the VM from the menu (Hit right ctrl to get the mouse to allow you to click the menus if you only have a CLI/Haven't installed Guest Additions).
This edits the config file adding this line:
<ExtraDataItem name="GUI/Fullscreen" value="true"/>
In this section:
<ExtraData>
<ExtraDataItem name="GUI/Fullscreen" value="true"/>
<ExtraDataItem name="GUI/LastCloseAction" value="PowerOff"/>
<ExtraDataItem name="GUI/LastNormalWindowPosition" value="2403,227,720,442"/>
</ExtraData>
Once full screened, if the machine is reset/rebooted it should remain full screen. You could try making the config file read only after setting it to full screen. if you don't want users to be able to escape the full screen you'll likely need to disable the host key somehow - I'm unsure exactly how you'd do this - maybe binding it to a key that the user can't access e.g esc
Best Answer
You can read why in the current version of the user manual for the
startvm
command:So, yes, this is still a new feature and it is missing some of the features a fully attached GUI provides.