Hello,
I created a small portable executable to fix the turtle icon issue caused by Hyper-V and related Windows features interfering with VirtualBox.
When the turtle icon appears, VirtualBox is forced to use Microsoft's hypervisor instead of direct VT-x/AMD-V, which results in very poor performance.
Technical details — the tool automatically performs the following changes:
• Disables Hyper-V
dism /online /disable-feature /featurename:Microsoft-Hyper-V-All /norestart
• Disables Virtual Machine Platform
dism /online /disable-feature /featurename:VirtualMachinePlatform /norestart
• Disables Windows Hypervisor Platform
dism /online /disable-feature /featurename:HypervisorPlatform /norestart
• Disables Windows Sandbox (if enabled)
dism /online /disable-feature /featurename:Containers-DisposableClientVM /norestart
• Prevents the hypervisor from starting at boot
bcdedit /set hypervisorlaunchtype off
Other details:
• Full open source — everyone can inspect the source code
• Written in Go
• Auto-elevates to Administrator
• Portable single executable (no installation required)
• Includes a revert option to restore the original settings
• Reboot is required for changes to take effect
Project page (source code and binary):
https://github.com/lunanetdev/vbox-turtle-fix
This is the first public release, so feedback is welcome.
I hope it helps others facing this issue.
Tool to fix turtle icon (Hyper-V conflict) and restore full VirtualBox speed
Re: Tool to fix turtle icon (Hyper-V conflict) and restore full VirtualBox speed
This script doesn't work.
I made several mistakes. I will release another version in a near future
I made several mistakes. I will release another version in a near future
-
Byroniac
- Posts: 62
- Joined: 1. Sep 2014, 09:08
- Primary OS: MS Windows other
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Debian-based and Fedora-based primarily
Re: Tool to fix turtle icon (Hyper-V conflict) and restore full VirtualBox speed
Hi Lunakat, I believe all of those steps are still necessary, but in my case, I also had to do what Microsoft Learn calls disabling Credential Guard with UEFI lock, and I wrote a cmd batch file to do that part, after doing the steps you outlined. I believe these additional steps may be required with recent Windows security updates, but given that my machine is a tinkering station, not sure if it is just me or not. Remember to also disable Memory Integrity in Microsoft Defender if you want to disable Virtualization-Based Security.
https://learn.microsoft.com/en-us/windo ... -uefi-lock
I am posting the contents of cgdisable.cmd below (not optimized, and does everything by default), and fair warning, it is very ugly.
https://learn.microsoft.com/en-us/windo ... -uefi-lock
I am posting the contents of cgdisable.cmd below (not optimized, and does everything by default), and fair warning, it is very ugly.
@rem echo off @rem ------------------------------------ @rem https://learn.microsoft.com/en-us/windo ... -uefi-lock @rem ------------------------------------ reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v LsaCfgFlags /t REG_DWORD /d 0 /f reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceGuard /v LsaCfgFlags /t REG_DWORD /d 0 /f reg delete HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard /v EnableVirtualizationBasedSecurity /f reg add HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\SystemGuard /v Enabled /t REG_DWORD /d 0 /f reg add HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard /v EnableVirtualizationBasedSecurity /t REG_DWORD /d 0 /f reg delete HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard /v RequirePlatformSecurityFeatures /f reg add HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard /v RequirePlatformSecurityFeatures /t REG_DWORD /d 0 /f if (%1)==(0) goto x mountvol X: /s copy %WINDIR%\System32\SecConfig.efi X:\EFI\Microsoft\Boot\SecConfig.efi /Y @echo bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "\EFI\Microsoft\Boot\SecConfig.efi" bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215} bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X: mountvol X: /d @rem ------------------------------------ @rem https://learn.microsoft.com/en-us/windo ... oup-policy @rem ------------------------------------ bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO,DISABLE-VBS bcdedit /set vsmlaunchtype off @rem should not need this one! @rem https://learn.microsoft.com/en-us/windo ... dedit--set @rem bcdedit /set nointegritychecks on :x pause