Sometimes it happens that vagrant hangs during boot of your virtual image. Right after typing:
$ vagrant upIt hangs for a long time and then finally throws:
[default] Failed to connect to VM!
Failed to connect to VM via SSH. Please verify the VM successfully booted
by looking at the VirtualBox GUI.If you open VirtualBox you'll see that the virtual machine preview shows a black screen with kernels to choose from. This is GRUB requiring user input to boot further.
Here's how to fix that.
First, get the machine id
$ # Before v1.1
$ # MACHINE_ID=$(awk -F\" '{print $6}' .vagrant)
$ # After v1.1
$ MACHINE_ID=$(cat .vagrant/machines/default/virtualbox/id)Power off the VM
$ VBoxManage controlvm ${MACHINE_ID} poweroffThen boot the machine with a GUI console
$ VBoxManage startvm ${MACHINE_ID}Wait for it to boot, login, run:
$ sudo update-grubWhen successful, shut it down
$ VBoxManage controlvm ${MACHINE_ID} poweroffAnd after this, vagrant up will just boot your VM normally :)
