Mengapa VirtualBox atau VMware tidak dapat berjalan dengan Hyper-V diaktifkan pada Windows 10

58

Saya menjalankan Windows 10 Pro 64 bit dengan teknologi virtualisasi Hyper-V dan Intel VT-x diaktifkan. Ketika saya mencoba menjalankan VirtualBox 64bit, Windows masuk ke BSOD. Ketika saya menjalankan VMware itu menunjukkan kesalahan.

Mengapa VirtualBox dan VMware tidak dapat berjalan dengan Hyper-V diaktifkan? Tolong jelaskan dengan semua detail yang Anda miliki termasuk perangkat keras dan perangkat lunak. Saya ingin tahu penyebab internal kesalahan ini.

Berikut ini beberapa temuan saya. Sebagian besar situs menyarankan untuk menambahkan entri boot dengan BCDedit atau untuk menonaktifkan Hyper-V dengan BCDedit. mis. Membuat entri boot "no hypervisor" , Jalankan Hyper-V dan VirtualBox pada mesin yang sama . Tapi saya bisa menjalankan QEMU dengan Hyper-V . Qemu tidak menunjukkan kesalahan dengan Hyper-V dan berjalan dengan lancar.

Biswapriyo
sumber
2
Hyper-V tidak mendukung virtualisasi bersarang (dengan akselerasi perangkat keras). Namun, itu tidak akan crash dalam keadaan normal. VirtualBox akan mengeluh bahwa itu tidak dapat menjalankan tamu x64 dan hanya itu. Jadi ada sesuatu yang salah seperti driver perangkat yang tidak berfungsi atau apa pun.
Daniel B
Begitu ya, memang crash. Namun, sekali lagi: Ini tidak normal. Kecelakaan tidak pernah normal. Tampaknya ini adalah bug di Hyper-V. Anda mungkin harus menghubungi Microsoft tentang hal itu.
Daniel B
Layak menunjukkan bahwa QEMU bukan hypervisor. Hyper-V tidak mendukung bersarang virtualisasi.
Ramhound

Jawaban:

67

VirtualBox dan VMware Workstation (dan VMware Player) adalah "hypervisor tingkat 2". Hyper-V dan VMware ESXi adalah "hypervisor level 1".

Perbedaan utama adalah hypervisor level 2 adalah aplikasi yang berjalan di dalam OS yang ada, sedangkan hypervisor level 1 adalah OS itu sendiri.

Ini berarti bahwa ketika Anda mengaktifkan Hyper-V, "host" Windows 10 Anda menjadi mesin virtual. Yang spesial, tapi tetap saja mesin virtual.

Jadi pertanyaan Anda akan lebih tepat: "Mengapa VirtualBox dan VMware Workstation tidak berfungsi di dalam mesin virtual Hyper-V?" Orang dapat menjawab karena sebagai VM, instruksi Intel VT-X tidak lagi dapat diakses dari mesin virtual Anda, hanya tuan rumah yang memiliki akses ke sana.

QEMU berfungsi karena tidak melakukan virtualisasi tetapi emulasi, yang sama sekali berbeda dan menjelaskan mengapa QEMU lambat sekali. Virtualisasi adalah proses untuk menjalankan mesin yang terisolasi sepenuhnya di dalam yang lain, tetapi dengan bantuan prosesor. Ini membutuhkan mesin virtual dan host kompatibel dengan instruksi.

Emulasi adalah proses untuk menjalankan mesin apa pun di dalam OS yang berjalan, tidak ada batasan platform, dan itulah sebabnya QEMU dapat menjalankan mesin ARM pada platform amd64.

Catatan: QEMU memiliki 2 mode operasi:

  • ini dapat berfungsi sebagai emulator, ini adalah mode yang dijelaskan di atas
  • dapat berfungsi sebagai perangkat lunak virtualisasi dengan bantuan KVM jika arsitektur tamu kompatibel dengan host dan jika instruksi VT hadir tentu saja.
Veovis
sumber
1
Virtualisasi menciptakan keseluruhan sistem "palsu", kecuali untuk prosesor di mana hypervisor hanya akan membatasi jumlah waktu prosesor yang dapat digunakan vm. Jadi Anda dapat memvirtualisasi arm hanya pada host lengan, x86 pada host x86 / amd64, amd64 pada host amd64 dll ... Emulator akan mengkompilasi ulang setiap instruksi untuk biner yang dikompilasi untuk platform tertentu untuk dijalankan pada platform lain. QEMU milik keluarga yang sama dengan emulator konsol misalnya (psx, dolphin, virtualboy, project64, MAME ...)
Veovis
Virtualisasi (ya, bukan emulasi) telah tersedia jauh sebelum virtualisasi berbantuan perangkat keras tersedia. Itu bisa disarangkan sesuai keinginan.
Daniel B
2
Mengapa VirtualBox tidak dapat memanfaatkan "Nested VT-x / AMD-V"? Apakah ini batasan perangkat keras? Dari Hyper-V?
user643011
21

Mulai dari Windows Redstone 4 build, QEMU akan dapat berjalan di bawah Hyper-V dengan menggunakan Windows Hypervisor Platform API .

Akselerator Platform Windows Hypervisor (WHPX) sedang diintegrasikan ke patch QEMU yang diajukan untuk digabung .

Windows Hypervisor Platform API akan dimasukkan dalam versi Redstone 4

Dukungan eksperimental untuk WHPX termasuk dalam QEMU 2.12

Pembaruan: Virtualbox 6.0 menambahkan dukungan untuk WHPX Virtualbox 6.0 Changelog .

Pembaruan 2: VMWare akan menambahkan dukungan untuk WHPX dalam versi VMWare Workstation dan fusi yang akan datang. VMware Workstation dan Hyper-V - Bekerja Bersama

nkef
sumber
3
API ini secara teori dapat digunakan oleh VMWare dan VirtualBox juga.
Ramhound
@Ramhound Bisakah itu dilakukan dengan VirtualBox atau VMware? Artikel itu hanya menyebutkan qemu.
Biswapriyo
@Biswapriyo Saya menentukan bahwa VMWare dan VirtualBox dimungkinkan langsung dari dokumentasi. Namun, VMWare dan VirtualBox harus membuat perubahan yang diperlukan untuk aplikasi mereka
Ramhound
Bisakah Anda jelaskan perbedaannya dengan Nested VT-x / AMD-V?
user643011
Dukungan WHPX Virtualbox 6.0 'sangat berkualitas alpha. Ini hampir tidak berfungsi sekarang.
user643011