У меня есть поле Vagrant с Ubuntu 12.04 LTS. Иногда после принуждения завершения работы (например, потому что машина стала безразличной) бродячему полю не удается загрузиться в следующий раз.
$ 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...
Снимок экрана предварительного просмотра в Virtualbox предполагает, что поле зависает на этапе личинки, навсегда ожидающем ввода данных пользователем для выбора ядра.
Так каждый раз, когда это происходит, я установил vb.gui = true
в Vagrantfile перезапустите машину и выберите ядро для начальной загрузки вручную. Интересная вещь состоит в том, что после выбора ядра однажды, последующие бездисплейные запуски снова просто хорошо работают - до следующего неизящного завершения работы машины.
Мои вопросы: существует ли более изящный путь, который не требует, чтобы ручное вмешательство предотвратило это, бродячее поле зависает в экране выбора ядра личинки после принудительного завершения работы?
Во-первых, доберитесь, идентификатор
# Before v1.1
# MACHINE_ID=$(awk -F\" '{print $6}' .vagrant)
# After v1.1
MACHINE_ID=$(cat .vagrant/machines/default/virtualbox/id)
машины Выключаются, VM
VBoxManage controlvm ${MACHINE_ID} poweroff
Тогда загружаются, машина с консолью
VBoxManage startvm ${MACHINE_ID}
GUI Ожидают его, чтобы загрузиться, войти в систему, работать:
sudo update-grub
, Когда успешный, закрывает его вниз
VBoxManage controlvm ${MACHINE_ID} poweroff
И после этого бродяга будет просто обычно загружать Ваш VM
Добавьте к /etc/default/grub
из своего поля:
GRUB_RECORDFAIL_TIMEOUT=0
И выполненный:
sudo update-grub