Бродяга не загружается, потому что grub2 ждет выбора ядра после неумелого закрытия

5

У меня боксерский бокс с 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 предлагает, чтобы окно зависало на стадии grub, навсегда ожидая ввода пользователем для выбора ядра.

Итак, каждый раз, когда это происходит, я устанавливаю vb.gui = true в Vagrantfile, перезагружаю машину и выбираю ядро ​​для загрузки вручную. Интересно то, что после выбора ядра один раз, последующие безголовые запускают снова, просто отлично работают - до следующего безответного завершения работы машины.

Мои вопросы: есть ли более элегантный способ, который не требует ручного вмешательства, чтобы предотвратить зависание витрины на экране выбора ядра grub после принудительного отключения?

    
задан Michael Osl 23.03.2014 в 10:58
источник

2 ответа

4

Сначала введите идентификатор машины

# Before v1.1
# MACHINE_ID=$(awk -F\" '{print }' .vagrant)
# After v1.1
MACHINE_ID=$(cat .vagrant/machines/default/virtualbox/id)

Отключите виртуальную машину

VBoxManage controlvm ${MACHINE_ID} poweroff

Затем загрузите компьютер с помощью консоли GUI

VBoxManage startvm ${MACHINE_ID}

Подождите, пока он загрузится, войдите, запустите:

sudo update-grub

При успешном завершении нажмите

VBoxManage controlvm ${MACHINE_ID} poweroff

И после этого бродяга будет просто загружать вашу виртуальную машину обычно

Источник

    
ответ дан Sylvain Pineau 23.03.2014 в 11:39
1

Добавьте к /etc/default/grub вашего поля:

GRUB_RECORDFAIL_TIMEOUT=0

И запустите:

sudo update-grub
    
ответ дан Geoffrey Ragot 11.04.2014 в 12:15