J'ai une boîte Vagrant avec Ubuntu 12.04 LTS. Parfois, après avoir forcé un arrêt (par exemple parce que la machine ne répondait plus), la boîte de dialogue vagant ne parvient pas à démarrer la prochaine fois.
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] Running 'pre-boot' VM customizations...
[default] Booting VM...
[default] Waiting for machine to boot. This may take a few minutes...
La capture d'écran d'aperçu dans Virtualbox suggère que la boîte se bloque au stade grub, attendant toujours qu'une entrée utilisateur sélectionne le noyau.
Ainsi, chaque fois que cela se produit, je place vb.gui = true
dans le fichier Vagrant, redémarre l'ordinateur et sélectionne le noyau à démarrer manuellement. La chose intéressante est que, après avoir sélectionné le noyau une fois, les démarrages sans tête suivants fonctionnent à nouveau correctement - jusqu’au prochain arrêt inopiné de la machine.
Ma question est la suivante: existe-t-il un moyen plus élégant qui n'exige aucune intervention manuelle pour éviter que la boîte vagabonde ne se bloque à l'écran de sélection du noyau grub après un arrêt forcé?
D'abord, obtenez l'identifiant de la machine
# Before v1.1
# MACHINE_ID=$(awk -F\" '{print $6}' .vagrant)
# After v1.1
MACHINE_ID=$(cat .vagrant/machines/default/virtualbox/id)
Eteignez la VM
VBoxManage controlvm ${MACHINE_ID} poweroff
Ensuite, démarrez la machine avec une console graphique
VBoxManage startvm ${MACHINE_ID}
Attendez qu'il démarre, connectez-vous, exécutez:
Sudo update-grub
En cas de succès, fermez-le
VBoxManage controlvm ${MACHINE_ID} poweroff
Et après cela, vagrant up ne fera que démarrer votre VM normalement
Ajoutez à /etc/default/grub
de votre boîte:
GRUB_RECORDFAIL_TIMEOUT=0
Et courir:
Sudo update-grub