Используйте сценарии оболочки на хосте для изменения и запуска vms:
normal_boot
#!/bin/bash
vboxmanage modifyvm "Vir153_1000" --uart1 off
vboxmanage startvm "Vir153_1000"
headless_boot
#!/bin/bash
vboxmanage modifyvm "Vir153_1000" --uart1 0x3F8 4
vboxheadless --startvm "Vir153_1000" --vrde off &
Гость по-прежнему должен проверять наличие наличие последовательного порта и действовать соответственно.
Спасибо @siblenx за идею