У меня есть виртуальный экземпляр KVM, работающий на моей машине. Я установил VirtualBox; но, когда я попытался запустить машину VirtualBox VM, я получил следующую ошибку:
VERR_VMX_IN_VMX_ROOT_MODE
Я искал на основе этого сообщения об ошибке, и проблема в том, что KVM уже установлен.
Я знаю, что могу переключаться между ними, удаляя некоторые модули, а затем использовать VirtualBox. Однако мой вопрос заключается в том, как заставить их работать одновременно?
Ваша единственная реальная опция - это вопрос порядка:
Если вы запустите и откроете машину VirtualBox, подождите, пока она завершит загрузку, и , затем запустите машину KVM (из менеджер или вирш) все должно работать правильно. Загрузка машин в обратном порядке не будет работать .
Загрузка и выгрузка модулей kvm
и kvm_intel
будут соответствовать требованиям VirtualBox. Более плавный, основанный на сценариях метод для этого можно найти здесь .
РЕДАКТИРОВАТЬ : это решение (порядок загрузки) больше не работает для меня, так как обновление до Ubuntu 13.10. YMMV.
Вы не можете заставить их работать вместе. Им обоим необходим доступ к функциям виртуализации ЦП, но они не предназначены для использования более чем одним гипервизором одновременно.
Вы можете попробовать отключить поддержку Virtualbox VT-X, чтобы он не пытался использовать аппаратную виртуализацию. Отредактируйте настройки виртуальной машины, на вкладке системы найдите флажок «enable vt-x / amd-v» и снимите его. Я не обещаю, что он будет работать, и даже если он это сделает, он будет использовать виртуализацию программного обеспечения для virtualbox, поэтому ваши виртуальные машины будут работать медленнее.
Если это вообще возможно, я настоятельно рекомендую вам выбрать только один гипервизор и использовать его для всех ваших виртуальных машин.
Как уже говорилось в ответах выше,
В среде Linux возможна установка Qemu / KVM, рабочей станции VMware и Virtualbox на тот же гипервизор .
Таким образом, проблема НЕ в УСТАНОВКЕ
После того, как все они установлены, у вас есть это:
lsmod | egrep 'vm[nmw]|vbox|kvm'
vboxpci 28672 0
vboxnetadp 28672 0
vboxnetflt 32768 0
vboxdrv 483328 3 vboxnetadp,vboxnetflt,vboxpci
vmnet 61440 13
vmw_vsock_vmci_transport 32768 0
vmw_vmci 81920 1 vmw_vsock_vmci_transport
vmmon 102400 0
vsock 40960 1 vmw_vsock_vmci_transport
kvm_amd 94208 9
kvm 700416 1 kvm_amd
irqbypass 16384 1 kvm
===
Все линии, включая kvm - -> используется Qemu / KVM
Все строки, включая vbox -> используются VirtualBox
Остальные VMware (см. источник в
ll /lib/vmware/modules/source/
total 5460
-rw-r--r--. 1 root root 870400 Mar 30 20:19 vmblock.tar
-rw-r--r--. 1 root root 1341440 Mar 30 20:20 vmci.tar
-rw-r--r--. 1 root root 1443840 Mar 30 20:20 vmmon.tar
-rw-r--r--. 1 root root 768000 Mar 30 20:20 vmnet.tar
-rw-r--r--. 1 root root 1136640 Mar 30 20:20 vsock.tar
: модуль скомпилирован при установке)
=======
КАК СКАЗАЛ roadmr (второй ответ выше) Только один может использовать Intel-VT или AMD-V в данный момент. Если вы начнете использовать Qemu / KVM для 64-битной виртуальной машины, то VirtualBox в то же время не сможет запустить 64-битную версию. машина, потому что VirtualBox требует ускорения HW для 64-битной виртуальной машины.
Чтобы прояснить ситуацию с ответом Дэвида Бэрда выше:
С AMD Atlon X2 или X4, или AMD FX 8-core, или с Intel Core I5 или I7 (машины где я мог бы попробовать),
==> VirtualBox 5.2.10
не может одновременно запускаться в Linux после того, как KVM заблокировал доступ Intel-VT или AMD-V и дополнительные 64-битные виртуальные машины! !!
в то время как
==> VMware player or workstation 14.1
будет, ОБЕСПЕЧИВАЕТСЯ, что вы снимите флажок использования Intel-VT или AMD-V !!!
Теперь забудьте о Qemu / KVM, и я попытался запустить 64-битную виртуальную машину в VirtualBox и после второй 64-битной виртуальной машины одновременно в VMware или в обратном порядке:
ТОЛЬКО первый может работать с конфигурацией по умолчанию !!! !
Но если отключить аппаратное ускорение, возможно ли это, как предложено в ответе MiGrieves ???
В VirtualBox-5.1:
Свойства ВМ -> Система -> Ускорение: отключение ускорения HW. невозможно для машины с 64-битной виртуальной машиной:
Например, если вы сняли флажок «Аппаратное ускорение», в меню конфигурации данной 64-битной машины виртуальной машины конфигуратор VirtualBox протестует и автоматически включит «Аппаратное ускорение». (проверьте это, вернувшись в то же меню !!)
В VMware 14:
Виртуальная машина -> Оборудование: Процессор -> вы можете снять флажок Виртуализация Движок
И ТОГДА ваша 64-битная виртуальная машина может запуститься, даже если ваша функция ЦП Intel-VT или AMD-V заблокирована KVM или VirtualBox
Так что VMware в последнем сегодняшнем выпуске может эмулировать Ring 0 инструкция для 64 бит виртуальных машин, как это делали для 32 бит машины, более двадцати лет назад !!!! И, честно говоря, трудно заметить разницу в производительности для 64-битной машины VMware VM, работающей с аппаратным ускорением или без него, без эталона!
===
Теперь мы можем ожидать, что в некоторые дни, kvm и VirtualBox, тоже смогут эмулировать инструкции процессора Ring 0 для 64-битной машины !!!!! [Тысяча сто тридцать два]
VirtualBox и KVM не будут работать одновременно. Тем не мение! Рабочая станция VMWare будет работать одновременно с любой из них, и это интересно.
На Intel Sandy Bridge Xeon рабочая станция VMWare и KVM будут работать одновременно. VMWare и VirtualBox будут работать одновременно. Просто VirtualBox и KVM не будут работать одновременно.
Если VMWare достигает этого, то должен быть способ, которым KVM и VirtualBox также могут. Может быть, VMWare имеет доступ к фирменным спецификациям Intel, которые делают это возможным? Хотел бы я попробовать это на AMD, чтобы посмотреть, действительно ли это вещь Intel.
Ну, и VBox, и VMware будут работать параллельно с KVM, по крайней мере, сегодня. Тем не менее, вы должны отключить использование аппаратного ускорения (отключить VT, поставить бинарный перевод) для всех, кроме KVM. Затем другие гипервизоры будут играть в программном режиме, и KVM с удовольствием будет использовать любые VT-средства.