Почему VirtualBox или VMware не могут работать с Hyper-V в Windows 10?


58

Я использую 64-разрядную версию Windows 10 Pro с включенной технологией виртуализации Hyper-V и Intel VT-x. Когда я пытаюсь запустить VirtualBox 64bit, Windows переходит в BSOD. Когда я запускаю VMware, он показывает ошибку.

Почему VirtualBox и VMware не могут работать с включенным Hyper-V? Пожалуйста, объясните все детали, которые у вас есть, включая аппаратное и программное обеспечение. Я хочу знать внутреннюю причину этой ошибки.

Вот некоторые мои выводы. Большинство сайтов предлагают добавить загрузочную запись с BCDedit или отключить Hyper-V с BCDedit. например, создать загрузочную запись «без гипервизора» , запустить Hyper-V и VirtualBox на одном компьютере . Но я могу запустить QEMU с Hyper-V . Qemu не показывает никаких ошибок с Hyper-V и работает без сбоев.


2
Hyper-V не поддерживает вложенную виртуализацию (с аппаратным ускорением). Тем не менее, он не потерпит крах при нормальных обстоятельствах. VirtualBox будет жаловаться, что не может запустить x64 гостей и все. Так что что-то еще не так, как неисправный драйвер устройства или что-то еще.
Даниэль Б

Я вижу, это действительно терпит крах. Однако, опять же: это не нормально. Авария никогда не бывает нормальной. Похоже, это ошибка в Hyper-V. Возможно, вам следует связаться с Microsoft по этому поводу.
Даниэль Б

Стоит отметить, что QEMU не является гипервизором. Hyper-V делает поддержку вложенную виртуализацию.
Ramhound

Ответы:


67

VirtualBox и VMware Workstation (и VMware Player) являются «гипервизорами 2-го уровня». Hyper-V и VMware ESXi являются «гипервизорами 1-го уровня».

Основное отличие заключается в том, что гипервизор 2-го уровня - это приложение, работающее в существующей ОС, а гипервизор 1-го уровня - это сама ОС.

Это означает, что при включении Hyper-V ваш «хост» Windows 10 стал виртуальной машиной. Особый, но тем не менее виртуальная машина.

Итак, ваш вопрос будет более уместным: «Почему VirtualBox и VMware Workstation не работают внутри виртуальной машины Hyper-V?» Можно ответить, потому что как виртуальная машина инструкция Intel VT-X больше не доступна с вашей виртуальной машины, только хост имеет к ней доступ.

QEMU работает, потому что он не выполняет виртуализацию, а эмулирует, что совершенно отличается и объясняет, почему QEMU мучительно медленен. Виртуализация - это процесс запуска полностью изолированной машины внутри другой, но с помощью процессора. Это требует, чтобы виртуальная машина и хост были совместимы с инструкциями.

Эмуляция - это процесс запуска любой машины в работающей ОС, ограничения платформы нет, и поэтому QEMU может запускать машину ARM на платформе amd64.

Примечание: QEMU имеет 2 режима работы:

  • он может работать как эмулятор, этот режим описан выше
  • он может работать как программное обеспечение для виртуализации с помощью KVM, если гостевая архитектура совместима с хостом и, если, конечно, присутствует команда VT.

1
Виртуализация создает целую «фальшивую» систему, за исключением процессора, где гипервизор ограничивает только количество процессорного времени, которое может использовать vm. Таким образом, вы можете виртуализировать arm только на хосте arm, x86 на хосте x86 / amd64, amd64 на хосте amd64 и т. Д. Эмулятор перекомпилирует каждую инструкцию для двоичного файла, скомпилированного для конкретной платформы, для запуска на другой платформе. QEMU принадлежит к тому же семейству, консольных эмуляторов, например (PSX, дельфина, virtualboy, Project64, МАМЕ ...)
Veovis

Виртуализация (да, не эмуляция) была доступна задолго до того, как стала доступна аппаратная виртуализация. Он может быть вложен по желанию.
Даниэль Б

2
Почему VirtualBox не может использовать преимущества «Вложенного VT-x / AMD-V»? Это ограничение оборудования? Hyper-V?
user643011

21

Начиная со сборки Windows Redstone 4, QEMU сможет работать под Hyper-V, используя API-интерфейс платформы Windows Hypervisor .

Ускоритель платформы Windows Hypervisor Platform (WHPX) интегрируется в QEMU, исправления передаются для слияния .

API платформы гипервизора Windows будет включен в сборку Redstone 4

Экспериментальная поддержка WHPX включена в QEMU 2.12

Обновление: Virtualbox 6.0 добавлена ​​поддержка журнала изменений WHPX Virtualbox 6.0 .

Обновление 2: VMWare добавит поддержку WHPX в следующей версии VMWare Workstation и fusion. VMware Workstation и Hyper-V - совместная работа


3
Этот API теоретически может быть использован VMWare и VirtualBox.
Ramhound

@Ramhound Можно ли это сделать с помощью VirtualBox или VMware? В этой статье упоминается только QEMU.
Biswapriyo

@Biswapriyo Я определил, что VMWare и VirtualBox были возможны непосредственно из документации. Тем не менее, VMWare и VirtualBox должны будут внести необходимые изменения в свое приложение
Ramhound

Можете ли вы объяснить, чем это отличается от Nested VT-x / AMD-V?
user643011

Virtualbox 6.0 'Поддержка WHPX очень альфа-качества. Это едва работает прямо сейчас.
user643011
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.