Hyper-V integration services for macOS. Requires a Generation 2 virtual machine on Windows Server 2012 R2 / Windows 8.1 or higher. Windows Server 2016 is currently unsupported.
All Intel macOS versions are supported. macOS 12.0 and newer should use MacHyperVSupportMonterey.kext instead.
- Heartbeat
- Guest shutdown (with daemon)
- Time synchronization (with daemon)
- PCI passthrough (partial support)
- Synthetic graphics (partial support)
- Synthetic keyboard
- Synthetic mouse
- Synthetic network controller
- Synthetic SCSI controller
- SSDT-HV-VMBUS: Enables correct Startup Disk operation, ensure patches described within are also configured.
- SSDT-HV-DEV: Required on Windows Server 2019 / Windows 10 and newer, provides proper processor objects and disables incompatible virtual devices under macOS.
- SSDT-HV-DEV-WS2022: Required on Windows Server 2022 / Windows 11 and newer, disables addiitonal incompatible virtual devices under macOS.
- SSDT-HV-PLUG: Ensures VMPlatformPlugin loads on Big Sur and above, avoids freezes with the default PlatformPlugin.
- Ensure all patches described in above SSDTs are present in
ACPI->Patch.
AllowRelocationBlock- required for macOS 10.7 and olderAvoidRuntimeDefrag- requiredForceExitBootServices- required for macOS 10.7 and olderProvideCustomSlide- requiredRebuildAppleMemoryMap- required for macOS 10.6 and older
- Quirks
ProvideCurrentCpuInfo- required for proper TSC/FSB values and CPU topology values.
- The following additional kernel extensions are required:
- Lilu - patching and library functions
- VirtualSMC - SMC emulator
- Block
- com.apple.driver.AppleEFIRuntime
- Required for 32-bit versions of macOS (10.4 and 10.5, and 10.6 in 32-bit mode). EFI runtime services and NVRAM are unavailable in those versions due to incompatiblities with the Hyper-V UEFI.
- com.apple.driver.AppleEFIRuntime
- Force
- On older versions of macOS, the following kernel extensions may need to be Force injected. Refer to the OpenCore Configuration manual for details.
- IONetworkingFamily (
com.apple.iokit.IONetworkingFamily) - IOSCSIParallelFamily (
com.apple.iokit.IOSCSIParallelFamily)
- Patch
- Disable _hpet_init
- Arch =
i386 - Base =
_hpet_init - Comment =
Disables _hpet_init due to no HPET hardware present - Count =
1 - Identifier =
kernel - MaxKernel =
9.5.99 - Replace =
C3
- Arch =
- Disable IOHIDDeviceShim::newTransportString()
- Arch =
i386 - Base =
__ZNK15IOHIDDeviceShim18newTransportStringEv - Comment =
Fix crash in IOHIDDeviceShim::newTransportString() caused by NULL _deviceType - Count =
1 - Identifier =
com.apple.iokit.IOHIDFamily - MaxKernel =
9.6.99 - MinKernel =
9.5.0 - Replace =
31C0C3
- Arch =
- Disable scaling factor for X/Y mouse movement
- Arch =
i386 - Base =
__ZN16IOHIDEventDriver21handleInterruptReportE12UnsignedWideP18IOMemoryDescriptor15IOHIDReportTypem - Comment =
Workaround for absence of AbsoluteAxisBoundsRemovalPercentage in 10.4 - Identifier =
com.apple.iokit.IOHIDFamily - Find =
BA1F85EB51 - MaxKernel =
8.11.99 - MinKernel =
8.0.0 - Replace =
BA00000000
- Arch =
- Disable _hpet_init
- Emulate
- DummyPowerManagement and CPU spoofing may be required depending on the host CPU for older versions of macOS.
- Boot arguments
-legacyis required for running 32-bit versions of macOS (10.4 - 10.5, 10.6 if running in 32-bit mode). 64-bit applications and NVRAM support are unavailable in those versions.
- Quirks
DisableSecurityPolicy- required on Windows Server 2019 / Windows 10 and newer
- Installer images can either be passed in from USB hard disks, or converted from a DMG to a VHDX image using
qemu-img:- DMGs need to be in a read/write format first.
qemu-img convert -f raw -O vhdx Installer.dmg Installer.vhdx
| Module | Debug | Message Debug | Off |
|---|---|---|---|
| CPU disabler (10.4) | -hvcpudbg | N/A | N/A |
| Graphics | -hvgfxdbg | -hvgfxmsgdbg | -hvgfxoff |
| Heartbeat | -hvheartdbg | -hvheartmsgdbg | -hvheartoff |
| Keyboard | -hvkbddbg | -hvkbdmsgdbg | -hvkbdoff |
| Mouse | -hvmousdbg | -hvmousmsgdbg | -hvmousoff |
| Network | -hvnetdbg | -hvnetmsgdbg | -hvnetoff |
| PCI bridge | -hvpcibdbg | -hvpcibmsgdbg | -hvpciboff |
| PCI module support | -hvpcimdbg | N/A | N/A |
| PCI provider | -hvpcipdbg | N/A | N/A |
| PCI root bridge | -hvpcirdbg | N/A | N/A |
| Shutdown | -hvshutdbg | -hvshutmsgdbg | -hvshutoff |
| Storage | -hvstordbg | -hvstormsgdbg | -hvstoroff |
| Time sync | -hvtimedbg | -hvtimemsgdbg | -hvtimeoff |
| VMBus controller | -hvvmbusdbg | N/A | N/A |
| VMBus device nub | -hvvmbusdevdbg | N/A | N/A |
- Apple for macOS
- Goldfish64 for this software
- vit9696 for Lilu.kext and providing assistance
- Microsoft Hypervisor Top-Level Functional Specification
- Linux and FreeBSD Hyper-V integration services