1. Problem Summary
-
Symptom: Both Whonix VMs (Gateway and Workstation) hang on a black screen immediately after the “Choose boot mode” menu selection.
-
Reproducibility: The issue is fully reproducible on every boot, even after multiple complete fresh imports of the OVA file.
-
ACPI shutdown does not work: When the VM is hung, it does not respond to ACPI power-button signals from VirtualBox. Only “Power off” (hard shutdown) terminates the VM.
-
Comparison VM works fine: A parallel Windows 11 guest VM running under the same VirtualBox installation boots without any issues. The problem is therefore Whonix/Linux-specific.
-
Notable finding in VBox.log: Consistent entries NEM: Destroying partition … indicate that VirtualBox is running in NEM mode (Native Execution Manager via the Windows Hypervisor Platform) instead of using native VT-x hardware virtualization.
-
No network activity inside the VM: E1000 adapters show Received frames: 0 / Transmitted frames: 0 – the VM never reaches a functional userspace.
2. System Specifications
Host
-
OS: Windows 11 (latest patch level)
-
RAM: 64 GB
-
Hyper-V Windows feature: Disabled (verified via Get-WindowsOptionalFeature)
-
Microsoft-Hyper-V-All: Disabled
-
HypervisorPlatform: Disabled
-
VirtualMachinePlatform: Disabled
-
Containers-DisposableClientVM: Disabled
-
-
WSL2 / Windows Sandbox / Docker: Not installed yet, but planned for future use – disabling VBS is therefore not an option.
-
VBS status (relevant!):
-
VirtualizationBasedSecurityStatus = 2 (= actively running)
-
SecurityServicesRunning = {2} (= HVCI / Memory Integrity is running)
-
bcdedit hypervisorlaunchtype not explicitly set (default = Auto)
-
-
Device Security / Memory Integrity: Enabled
VirtualBox
-
Version: 7.2.10 r174163 (Qt6.8.0 on Windows)
-
Hardening log: Shows a regular execution flow, no anomalies.
Whonix
-
Image: Whonix-LXQt-18.1.4.2.Intel_AMD64.ova
-
Variant: LXQt (with graphical desktop)
-
Configuration: Whonix default settings (preserved across multiple re-imports)
Comparison VM (for reference)
-
OS: Windows 11 (as guest)
-
Status: Boots successfully under identical host configuration.
3. Diagnostic Steps and Configuration Changes Performed
3.1 Initial attempts – VirtualBox graphics configuration
-
Tested VBoxVGA as graphics controller → no improvement
-
Tested VMSVGA (Whonix default) → no improvement
-
Varied graphics memory: 128 MB → 64 MB → 33 MB → 16 MB → no improvement
-
Tested VBoxSVGA → VM hangs even earlier, before bootloader appears
-
Disabled 3D acceleration → no effect on the symptom
Conclusion: The problem cannot be solved by graphics driver selection alone.
3.2 Changing VirtualBox OS type
-
Changed OS type from Whonix default to “Other Linux (64-bit)”
-
Result: Gateway booted successfully on the first attempt
-
Insight: VirtualBox applies OS-type-specific hardware defaults that conflict with the Whonix OVA configuration.
-
Important: This trick did NOT work for the Workstation – only the Gateway benefited.
3.3 GRUB boot parameter modifications (for diagnosis)
-
Removed quiet splash from the kernel line to make boot messages visible
-
Added nomodeset 3 to force text mode without DRM driver
-
Tested clocksource=hpet tsc=unstable no_timer_check to bypass TSC-related issues
-
Result: No consistent improvement; boot behavior remained non-deterministic.
3.4 Arrow key phenomenon (NOT a reliable workaround!)
-
Observation: Repeatedly pressing the Up Arrow key during boot occasionally appeared to trigger successful boots
-
Important caveat: This behavior was NOT reliably reproducible:
-
Worked only occasionally with very low success rate
-
Stopped working entirely on later boot attempts
-
Most likely a coincidental correlation with other factors (timing, host background processes, CPU load, RNG pool state)
-
-
Conclusion: There is no known reliable workaround via keyboard input.
-
This observation should therefore not be considered a meaningful diagnostic indicator.
3.5 Paravirtualization
-
Set --paravirtprovider kvm (instead of default)
-
VBox.log confirms: GIM: KVM: Enabled wall-clock struct… → KVM paravirt is active
-
Result: No improvement in boot behavior.
3.6 CPU and hardware tweaks
-
Reduced CPU count from 2 to 1 → VM boot failed even earlier (before bootloader)
-
Reset CPU count to 2 → previous state restored
-
Changed chipset from PIIX3 to ICH9 → VM no longer reached the boot menu at all
-
Reset chipset to PIIX3 → previous state restored
-
Explicitly enabled APIC + x2APIC → no improvement
-
Explicitly enabled Nested Paging → no improvement
-
Enabled PAE/NX → no improvement
3.7 TSC mode override
-
Set VBoxInternal/TM/TSCMode = VirtTscEmulated
-
Background: VBox.log contained the warning: TM: Host/VM is not suitable for using TSC mode ‘RealTSCOffset’, request to change TSC mode ignored
-
Result: VM aborted even earlier in the boot process → override was reverted.
3.8 Hardware complexity reduction
-
Disabled audio controller (–audio-driver none)
-
Disabled all USB controllers (OHCI/EHCI/xHCI all off)
-
Changed pointing device from USB tablet to PS/2 mouse
-
Result: No significant improvement in symptom.
3.9 RAM configuration
-
Set Gateway RAM to 1024 MB (from default)
-
Set Workstation RAM to 2048 MB
-
Result: No improvement.
3.10 Serial console for diagnostics
-
Redirected UART1 (0x3F8 IRQ4) to a log file (–uart1 0x3F8 4 --uartmode1 file …)
-
Added console=ttyS0,115200 to boot parameters
-
Result: When the VM hangs, no kernel output is written to the file → confirms that the hang occurs very early (before kernel console initialization).
3.11 Aggregated “NEM-optimized” configuration (all recommendations combined)
-
Simultaneously applied: Single CPU + ICH9 + APIC/x2APIC + Nested Paging + Paravirt default + VirtTscEmulated
-
Result drastically worsened: VM runtime dropped from ~9:45 min (previous attempt) to only 0:33 min before hang
-
The boot mode selection menu was no longer reached at all
-
Conclusion: The combination of these optimizations is counterproductive.
3.12 VBox.log analysis – key findings
During some boots (before “optimizations”):
00:00:12.370156 GIM: KVM: VCPU 0: Enabled system-time struct…
00:00:18.319976 GIM: KVM: Enabled wall-clock struct…
00:04:38.489372 ip6_icmp: MTU is too small to hold RDNSS options!
→ VM booted (slowly), network became active, Tor init started
During failed boots (standard case + aggregated config):
00:00:12 GIM: KVM: …[NO further entries until hard shutdown]
00:00:33 NEM: Destroying partition … with its 1 VCpu…
00:00:33 E1000#0: Received frames: 000:00:33 E1000#0: Transmitted frames: 0
→ VM ran for 33 seconds without any boot progress; networking subsystem never activated.
3.13 Windows host hypervisor status (intentionally NOT changed)
-
VBS was deliberately not disabled, because Memory Integrity, WSL2, Sandbox, and Docker (Hyper-V-free mode) are required in the future.
-
Consequence: VirtualBox is forced into NEM mode.
-
VBox.log confirms: NEM: Destroying partition … is present in all logs.
4. Hypotheses / Suspected Cause
-
NEM mode + Linux 6.x kernel (Whonix kernel) appear to be incompatible:
-
TSC drift (TSC unreliable under NEM)
-
Display synchronization between VirtualBox VMSVGA and Linux DRM driver breaks down
-
Entropy starvation: RDRAND/RDSEED appear unreliable under NEM → blocks systemd / cryptographic init
-
-
Comparison argument: The Windows 11 guest works because the Microsoft kernel natively uses Hyper-V enlightenments. The Linux kernel does not have equivalent support in this NEM scenario.
-
Whonix-specific: Whonix’s anti-fingerprinting measures and hardened kernel configuration may exacerbate the underlying NEM problem (hypothesis).
5. Questions / Requests for the Whonix Team
-
Are there official recommendations for running Whonix on Windows 11 with active VBS / in NEM mode?
-
Is a Hyper-V variant of the Whonix OVA available or planned?
-
Are there recommended kernel boot parameters for booting under NEM mode?
-
Could future Whonix releases include NEM-specific workarounds by default?
-
Is it known whether the CLI variant (Whonix-CLI without LXQt) avoids this issue?
-
Is there an officially supported path for Whonix on hosts where VBS/HVCI must remain active?
I am willing to provide further logs, run additional diagnostic steps, or test patched configurations if the Whonix maintainers can suggest specific approaches. My goal is not only to resolve my own setup but also to help document this scenario for other users running Whonix alongside Windows 11 with active VBS, which is becoming an increasingly common configuration.
Thank you for any insights or guidance you can offer.