Ошибка VT-x недоступна для машины Vagrant внутри Virtualbox

У меня есть виртуальная машина Ubuntu, которая настроена на включение VT-x, 6 процессоров и 25 ГБ оперативной памяти.

Внутри этой виртуальной машины я пытаюсь запустить бродячую машину со следующей конфигурацией:

master.vm.box = "precise32"
master.vm.provider "virtualbox" do |vb|
    vb.customize ["modifyvm", :id, "--cpuexecutioncap", "80"]
    vb.memory = 10000
    vb.customize ["modifyvm", :id, "--cpus", "2"]   
    vb.customize ["modifyvm", :id, "--ioapic", "on"]
end

Когда я запускаю бродягу, я получаю ошибку VT-x не включен.

Я попробовал как 32-битную, так и 64-разрядную версии Vagrant, но все равно не повезло.

Любая идея, как я могу запустить машину Vagrant внутри Virtualbox?

Ответ 1

ОБНОВЛЕНО: Как указано ниже, вы можете использовать вложенный VirtualBox + vagrant при условии, что для вложенной виртуальной машины назначается только 1 виртуальный процессор, плюс вложенный гостевой гостевой гостевой компьютер - 32-разрядная ОС.

Ответ 2

Вы можете использовать только один виртуальный процессор без VT-x. Таким образом, сообщение об ошибке, указывающее, что VT-x не активировано, вызвано следующей строкой:

vb.customize ["modifyvm", :id, "--cpus", "2"]

Заменив его следующими работами (у Vagrant есть сокращение для установки количества CPU):

vb.cpus = 1

ПРИМЕЧАНИЕ. Вы можете запускать только 32-разрядные виртуальные машины внутри другой виртуальной машины.

Ответ 3

Vagrant во вложенной виртуальной коробке

Прежде всего, вы можете запустить определенно Vagrant внутри вложенной виртуальной коробки.

Поддержка VT-X (связанная с VirtualBox)

В настоящее время VirtualBox не поддерживает вложенность VT-X. В настоящее время ожидается запрос на функцию (см.: https://www.virtualbox.org/ticket/4032), но на данный момент он не ожидается в новой версии VirtualBox

Последствия отсутствия VT-X в вложенном VirtualBox

В настоящее время существует два последствия вложенности без VT-X:

  • Вы не можете использовать несколько процессоров, но вы можете использовать один виртуальный процессор с помощью vb.cpus = 1
  • Вы не можете запустить 64-разрядную виртуальную машину внутри вложенного VirtualBox.

Ответ 4

Вы не можете использовать первую виртуальную машину как виртуальную коробку. Это точно. Но что вы можете сделать, сделайте первую виртуальную машину (Ubuntu) на базе VMware Player 7, тогда вы можете настроить Vagrant на это. Протестировано и подтверждено самостоятельно. VMplayer версии 7 и Virtual Box версии 5.0.20. Благодаря комментарию Рудольфа на той же странице

Ответ 5

Если вы запускаете vagrant + VirtualBox внутри виртуальной машины VirtualBox и сталкиваетесь с проблемами сети:

Не забудьте установить правильный virtual network adapter

Мне пришлось установить Тип адаптера на Paravirtualized Network (virtio-net)

в Настройки Сеть Дополнительно, чтобы заставить ее работать

Ответ 6

VirtualBox внутри VirtualBox не работает. Попробуйте VMPlayer, а затем внутри установите VirtualBox и бродягу. Его работы для меня.