VirtualBox

Ticket #16801 (new defect)

Opened 19 months ago

Last modified 4 months ago

Running a Virtual Machine when Windows Hyper-V is enabled should NOT Crash Windows

Reported by: aplatypus Owned by:
Priority: critical Component: VMM
Version: VirtualBox 5.1.22 Keywords:
Cc: Guest type: all
Host type: Windows

Description

VirtualBox can not run on Windows 10 when Hyper-V mode is ACTIVE (ON). However the existing behaviour is pathological and must be corrected.

Running a VM when Hyper-V is ON causes the BSOD!

Conditions:

  1. Windows boots with Hyper-V enabled
  2. Start-up VirtualBox Manager GUI
  3. START an existing VM

Outcome:

  1. VM begins to load
  2. The dread Windows BSOD (Blue Screen of Death) appears
  3. Windows dies -- generates crash log, etc.
  4. Windows reboots
  5. NOTE: Hyper-V is still active and must be deactivated manually.

Resolution Sought:

  1. Check for Hyper-V mode is: OFF, at start-up for all VirtualBox tools; especially:
  1. Issue a WARNING pop-up or error message for command line Reporting that Hyper-V mode is active and VirtualBox cannot run while there is another hypervisor active. Or some such.
  1. Exit the VirtualMachine (shell) once the Hyper-V Active status is reported.
    • Thus Avoiding the BSOD

Optional / suggestion:

  • It would be useful for the warning to tell users how to disable/enable Hyper-V as part of the warning message(s).
  • Another helpful feature is for the VirtualBox management GUI to turn Hyper-V off or on from a menu.

Related / supplementary notes:

There seem to be several issues that mention Hyper-V troubles. Some are real bugs and some look like misunderstandings.

In my opinion no software should cause a system crash-dump when it can be prevented by checking some system configuration attributes.

See also:

Change History

comment:1 Changed 18 months ago by socratis

Related tickets: #15780, #15984, #16013, #16675 and #16832.

comment:2 follow-up: ↓ 3 Changed 18 months ago by noncreature0714

Concur with this bug. Cannot run Docker Swarms using Virtualbox on Windows because of this bug. Albeit it is probably a Windows issue causing the crash, there is zero warning and then total BSOD, which is something the VirtualBox community should fix.

Last edited 18 months ago by noncreature0714 (previous) (diff)

comment:3 in reply to: ↑ 2 Changed 18 months ago by socratis

Replying to noncreature0714:

it is probably a Windows issue ... which is something the VirtualBox community should fix.

it is probably a Windows issue which is something that Microsoft should fix and VirtualBox implement a workaround until it gets fixed.

Describes the situation a little bit more... appropriately. ;)

comment:4 Changed 18 months ago by noncreature0714

Apologies for airing my frustrations. I'm trying to advocate for Docker adoption (and, indirectly, VirtualBox per [following Docker's documentation](  https://docs.docker.com/get-started/part4/#set-up-your-swarm)) within my company, and this defect is a critical blocker for planned demos. It's definitely, and [ironically](  https://www.docker.com/microsoft), Microsoft's fault.

comment:5 follow-up: ↓ 6 Changed 18 months ago by aplatypus

Several comments are off-point. As I understand it the hardware can only cope with one hypervisor at at time. Docker (now) can either run on the Micrsoft Hypervisor or the VirtualBoxy hyper visor. It is our choice (afaik).

My point is that the ViretualBox application program ought to be defensive and verify that it was started in a compatible environment (vis. non-Hyper-V). Imho, a program ought not willingly proceed knowing that the BlueScreen of Death is the outcome. At the very least, the pop-up message could as if the user wants to go a head, damn the torpedoes *lol*

I suppose an alternative would be to arrange things such that one can have multiple hypervisors running at the time time. That is definitely NOT the remedy sought.

comment:6 in reply to: ↑ 5 Changed 18 months ago by socratis

Replying to aplatypus:

As I understand it the hardware can only cope with one hypervisor at at time.

Not really, they could run in "parallel", sharing resources. See below.

I suppose an alternative would be to arrange things such that one can have multiple hypervisors running at the time time.

It could be in theory and that's the whole idea. You go VM-entry, execute guest, VM-exit. Cooperatively. Unfortunately MS launches Hyper-V at boot time as a service and keeps a hold of the VT-x, regardless of use or not. As you noted in your original report as well, VirtualBox has to find a way around it, and that's why I proposed to close the rest of the tickets as duplicates, because yours had the best description and a potential workaround.

comment:7 Changed 9 months ago by dzmitry.lahoda

I have same concerns. My scenario I need to develop Xamarin Mobile Applications which require HyperV with Visual Studio by default and have VirtualBox instance for other usages. I hope for button to disable HyperV when I start VirtualBox. I have done analysis, and this is one of main pain points and drawback of using VirtualBox on Windows, so one vote for full HyperV way. Another one is 3D/GPU support.

comment:8 Changed 6 months ago by Ajedi32

Don't see any obvious way to vote on this or add myself to the CC list so... +1 I guess?

Programs should most definitely _not_ trigger BSOD during normal operation. If VirtualBox is not capable of running alongside Hyper-V it should just say so, not crash the entire machine.

comment:9 Changed 4 months ago by Schroeffu

Is there any update? Nobody cares..? Have had to remove Hyper-V to run Virtualbox, but that's not the goal..

comment:10 Changed 4 months ago by socratis

@Schroeffu

This is a problem with Hyper-V being too aggressive and not releasing VT-x once it's got a hold of it. VMWare and VirtualBox for example can not only coexist, but they can run concurrently. Not so with Hyper-V.

But the question is: are you getting a crash? Because this is what this ticket is about, not the ability to have both of the virtualization programs installed...

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use