{{Header}} {{title|title= VirtualBox - Green Turtle Issue }} {{#seo: |description=Fix VirtualBox green turtle icon issue on Windows hosts caused by Hyper-V and VBS. Learn how to improve VM performance and stability with step-by-step instructions. |image=Green-turtle-icon-on-VirtualBox-Windows-11.jpg }} {{troubleshooting_mininav}} [[File:Green-turtle-icon-on-VirtualBox-Windows-11.jpg|400px|thumb|VirtualBox Green Turtle Indicator]] {{intro| Fix VirtualBox green turtle icon issue on Windows hosts caused by Hyper-V and VBS. Learn how to improve VM performance and stability with step-by-step instructions. }} = Symptoms = * [[File:virtualbox_status_bar_turtle_indicator.png]] The VirtualBox host software shows a green turtle indicator (always visible); and/or * terminal message: rcpu_preempt self-detected stall on CPU * Very slow boot or general sluggishness inside the VM. * CPU lockups or stalls. * VM crashes or failure to launch unless retried multiple times. '''Image:''' ''VirtualBox Green Turtle Indicator'' [[File:virtualbox_status_bar_turtle_indicator.png|100px]] Where can I find the VirtualBox green turtle indicator? In the VirtualBox status bar. '''Image:''' ''VirtualBox Status Bar including Green Turtle Indicator'' [[File:virtualbox_status_bar.png|400px]] [[File:Green-turtle-icon-on-VirtualBox-Windows-11.jpg|400px]] If the VirtualBox green turtle indicator is not shown, and you're still experiencing issues, then it's a different issue. = What the Green Turtle Icon Means = When running on a Windows host, VirtualBox may display a green turtle icon in the bottom right of the VM window. This indicates that the VirtualBox hypervisor is running in a degraded mode due to interference from Windows features such as Hyper-V or Virtualization-Based Security (VBS). This fallback mode significantly reduces performance and can cause above mentioned issues. For best performance and stability, it is recommended to fix the green turtle indicator by disabling Hyper-V using the batch script above. = Platform Specific = '''Host {{os}} specific:''' * [[File:Logo-linux-variety-500x500.png|25px]] Linux: Not affected. * [[File:Logo-apple-500x500.png|25px]] macOS: Not affected. * [[File:Logo-windows-500x500.png|15px|link=]] Windows: This issue is applicable to Windows-based host operating systems only. '''Affected VM guest operating systems:''' all ([[File:Kicksecure-basic-logo.png|25px|link=]] Kicksecure, [[File:Whonix-logo-icon.svg|25px|link=]] Whonix, [[File:Debian.png|25px|link=]] Debian, etc.) '''Root issue caused by:''' [[File:Virtualbox_logo.png|25px|link=]] VirtualBox, [[File:Logo-windows-500x500.png|15px|link=]] Microsoft Windows '''Root issue not caused by:''' VM guest operating system = Options = * No action: You could ignore this issue. In that case, it may be best to only launch 1 VM at a time. * Future: A better solution may come available later. Whonix only: Use the {{whonix_wiki |wikipage=Windows_Quick_Start_Testers_Only_Version |text=Whonix Windows installer for VirtualBox }} (Not available yet at time of writing.) (This feature has not been integrated yet. * Disable Hyper-V via batch script: Use the provided batch script to automatically disable Hyper-V and related features. See instructions below. * Manual disablement of Hyper-V: Too complicated for most lay users. Too many steps required. [[Unspecific|Unspecific to {{project_name_short}}]]. Can be resolved as per [[Self Support First Policy]]. [[Please_Use_Search_Engines_And_See_Documentation_First|Utilize Search Engines, Documentation and AI]]. Try [[VirtualBox/Troubleshooting#Testing_with_a_Debian_VM|Testing with a Debian VM]] and [[VirtualBox/Troubleshooting#VirtualBox_Generic_Bug_Reproduction|VirtualBox Generic Bug Reproduction]]. Contact VirtualBox support. No need to ask Kicksecure or Whonix support, because they don't develop VirtualBox. = Disable Hyper-V via batch script = To solve the slowdown and CPU lockup issue, it is necessary to disable Windows Hyper-V and related virtualization security features. As this is complex when done manually, a batch script DisableHyperV.bat is provided to automate this process. '''1.''' Download the script. Visit this GitHub link [https://github.com/Whonix/Whonix-Installer/blob/master/DisableHyperV.bat DisableHyperV.bat], then click the Raw button. Right-click anywhere on the page, choose Save as, and save the file as DisableHyperV.bat. '''2.''' Choose a storage location. Save the file to a simple location such as: C:\Users\YourUsername\Downloads or C:\Users\YourUsername\Desktop '''3.''' Prepare for execution as administrator. Since the current user account is limited (non-admin), you will need admin credentials to run the script. * Right-click the DisableHyperV.bat file. * Select Run as administrator. * When prompted by Windows User Account Control (UAC), enter the administrator username and password. '''4.''' Wait for the script to complete. A command prompt window will appear and automatically apply the required changes. Once it finishes, it may prompt for a reboot. '''5.''' Reboot the system. Restart Windows for all changes to take effect. '''6.''' Verify success. After reboot, start VirtualBox again. The green turtle icon should no longer appear, and CPU stall messages should be gone. '''Image:''' ''VirtualBox V Symbol'' [[File:The-v-symbol-is-back-in-VirtualBox.jpg|400px]] '''Table:''' ''Left side bad (degraded), right side good (functional)'' {| class="wikitable" |+ VirtualBox Icon Status Comparison |- ! '''Bad'''
VirtualBox running in degraded "snail" mode due to Hyper-V or VBS. ! '''Good'''
VirtualBox running normally without Hyper-V interference. |- | [[File:Green-turtle-icon-on-VirtualBox-Windows-11.jpg|400px]] | [[File:The-v-symbol-is-back-in-VirtualBox.jpg|400px]] |- |} '''7.''' Done. = Troubleshooting = Reboot required. Green turtle issue still not resolved? The following commands can be helpful to debug this issue. '''1.''' Open Windows Power Shell as administrator. Start Menu -> type Windows Power Shell -> right click -> Run as administrator '''2.''' Check if Hyper-V has been loaded. {{CodeSelect|code= Get-CimInstance Win32_ComputerSystem | Select-Object HypervisorPresent }} Good result:
HypervisorPresent
-----------------
            False
False means that Hyper-V has not been started. This is good, because Hyper-V competes with VirtualBox and slows down VirtualBox, so if it's not running, that's great. Bad result:
HypervisorPresent
-----------------
            True
True means that Hyper-V has been started. This is bad, because Hyper-V competes with VirtualBox and slows down VirtualBox. '''3.''' Run systeminfo to find out what may be starting Hyper-V. {{CodeSelect|code= systeminfo }} Do not post the full output of systeminfo. It is not needed and contains private information such as system model. Good result:
Virtualization-based security: Status: Not enabled
                               App Control for Business policy: Enforced
                               App Control for Business user mode policy: Off
                               Security Features Enabled:
Hyper-V Requirements:          VM Monitor Mode Extensions: Yes
                               Virtualization Enabled In Firmware: Yes
                               Second Level Address Translation: Yes
                               Data Execution Prevention Available: Yes
Bad result:
Virtualization-based security: Status: Running
                               Required Security Properties:
                               Available Security Properties:
                                     Base Virtualization Support
                                     Secure Boot
                                     DMA Protection
                                     Secure Memory Overwrite
                                     UEFI Code Readonly
                                     SMM Security Mitigations 1.0
                                     Mode Based Execution Control
                               Services Configured:
                                     Secure Launch
                                     SMM Firmware Measurement
                               Services Running:
                                     Secure Launch
                                     SMM Firmware Measurement
                               App Control for Business policy: Enforced
                               App Control for Business user mode policy: Off
                               Security Features Enabled:
                               SMM Isolation Level: 30
Hyper-V Requirements:          A hypervisor has been detected. Features required for Hyper-V will not be displayed.
In above case, Secure Launch and SMM Firmware Measurement were still running, causing Hyper-V to automatically start at boot time. After disabling Firmware protection, this issue has been resolved. = Resources = * Check also: Start Menu -> type Windows SecurityDevice SecurityCore IsolationTurn off ** Memory integrity ** Kernel-mode Hardware-enforced Stack Protection ** Firmware protection * Check if device guard is running: {{CodeSelect|inline=true|code= (Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard).SecurityServicesRunning }} * VirtualBox manual: [https://www.virtualbox.org/manual/ch10.html#gimproviders Paravirtualization Providers] * VirtualBox manual: [https://www.virtualbox.org/manual/ch03.html#settings-acceleration Acceleration Tab] * https://superuser.com/questions/945910/how-to-select-paravirtualization-interface-in-virtualbox * forum discussion: https://forums.whonix.org/t/whonix-only-starts-after-several-attempt-rcpu-preempt-self-detected-stall-on-cpu/22032 * https://superuser.com/questions/1778061/green-turtle-snail-mode-slow-performance-indicator-on-virtualbox-vm * https://forums.virtualbox.org/viewtopic.php?t=99390 * https://forums.virtualbox.org/viewtopic.php?f=25&t=99390 * https://forums.virtualbox.org/viewtopic.php?t=98642 * https://forums.virtualbox.org/viewtopic.php?t=112113 * https://learn.microsoft.com/en-us/troubleshoot/windows-client/application-management/virtualization-apps-not-work-with-hyper-v * https://www.xda-developers.com/disable-hyper-v-windows-11/ * https://stackoverflow.com/questions/66666130/how-to-fix-virtualbox-disable-hyper-v * https://www.tomshardware.com/how-to/disable-vbs-windows-11 * https://gist.github.com/shortthirdman/bc5d8a9417000268afb7d5bdb6b9080e * https://forums.ea.com/discussions/battlefield-6-technical-issues-en/unable-to-run-in-a-virtual-machine-please-exit-the-vm-and-try-again-121/12789008 * https://community.broadcom.com/vmware-cloud-foundation/discussion/how-to-disable-hyper-v-in-windows-11-24h2 * https://www.reddit.com/r/vmware/comments/1mwg3bn/windows_11_hyperv_hypervisor_security_layer/ * Probably unnecessary: Oracle VirtualBox Managerright-click the virtual machineSettingsSystemAccelerationParavirtualiuation Interface → select Hyper-V VirtualBox log will contain an error message:
NEMR3Init: Snail execution mode is active!
Note! VirtualBox is not able to run as its full potential in this execution mode.
      To see VirtualBox run at max speed you need to disable all Windows features
      making use of Hyper-V. That is a moving target, so google how and carefully
      consider the consequences of disabling these features.
Quote from VirtualBox source code at the time of writing:
            if (pVM->bMainExecutionEngine == VM_EXEC_ENGINE_NATIVE_API)
            {
#ifdef VBOX_WITH_HWVIRT /* Don't complain if there are no other alternatives. */
# ifdef RT_OS_WINDOWS /* The WHv* API is extremely slow at handling VM exits. The AppleHv and
                         KVM APIs are much faster, thus the different mode name. :-) */
                LogRel(("NEM:\n"
                        "NEM: NEMR3Init: Snail execution mode is active!\n"
                        "NEM: Note! VirtualBox is not able to run at its full potential in this execution mode.\n"
                        "NEM:       To see VirtualBox run at max speed you need to disable all Windows features\n"
                        "NEM:       making use of Hyper-V.  That is a moving target, so google how and carefully\n"
                        "NEM:       consider the consequences of disabling these features.\n"
                        "NEM:\n"));
# else
                LogRel(("NEM:\n"
                        "NEM: NEMR3Init: Turtle execution mode is active!\n"
                        "NEM: Note! VirtualBox is not able to run at its full potential in this execution mode.\n"
                        "NEM:\n"));
# endif
#endif
            }
= Footnotes = {{reflist|close=1}} {{Footer}} [[Category:Documentation]]