Jump to content
MaLd0n

MacHyperVSupport - Hyper-V integration services for macOS

Recommended Posts

  • Administrators

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.

Link HERE

Supported Hyper-V devices and services

Heartbeat

Guest shutdown (with daemon)

Time synchronization (with daemon)

Host to guest file copy (with daemon)

PCI passthrough (partial support)

Synthetic graphics (partial support)

Synthetic keyboard

Synthetic mouse

Synthetic network controller

Synthetic SCSI controller

Binaries

MacHyperVSupport.kext: Core Hyper-V support kext for macOS 10.4 to 11.0.

MacHyperVSupportMonterey.kext: Core Hyper-V support kext for macOS 12.0 and newer.

hvfilecopyd: File copy userspace daemon.

hvshutdownd: Shutdown userspace daemon.

hvtimesyncd: Time synchronization userspace daemon.

OpenCore configuration

ACPI

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.

Booter quirks

AllowRelocationBlock - required for macOS 10.7 and older

AvoidRuntimeDefrag - required

ForceExitBootServices - required for macOS 10.7 and older

ProvideCustomSlide - required

RebuildAppleMemoryMap - required for macOS 10.6 and older

Kernel

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

Blockcom.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.

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)

PatchDisable _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

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

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

Emulate

DummyPowerManagement and CPU spoofing may be required depending on the host CPU for older versions of macOS.

NVRAM

Boot arguments

-legacy is 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.

UEFI

Quirks

DisableSecurityPolicy - required on Windows Server 2019 / Windows 10 and newer

Installer image creation

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

Boot arguments

See the module list for boot arguments for each module.

Credits

Apple for macOS

Goldfish64 for this software

vit9696 for Lilu.kext and providing assistance

flagers for file copy implementation and providing assistance

Microsoft Hypervisor Top-Level Functional Specification

Linux and FreeBSD Hyper-V integration services

  • Like 1

-Donations-

PayPal HERE - Stripe HERE - Ko-Fi HERE - BuyMeaCoffee HERE - Mercado Livre HERE

Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3 - BNB 0x10D1d656eCa00bD521f9b4A43B83098B8142e115 - USDT BSC BEP20 0xb57cfdfa371fad1981910f0e8332409ab99f74d9 - USDT TRC20 TUR6Z9AVS4AYzqPnULoHrfFvppRbhXmNbZ - KASPA kaspa:qpxzufgfj8p6r0krg58yzvs0009h2mwqgvcawa0xc2pth7sgzpv56j4f6dtvk - PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com

Premium Users HERE - Problems with Paypal HERE

xcd5u2Y.png

Sign up for a Bybit account and claim exclusive rewards HERE

New ways to earn money with Linkvertise HERE

Link to comment
Share on other sites

Even if in theory it is the same EFI for all machines, I didn't found any ready image.

As a beginner, I spent lot of hours trying to boot without success.

If someone has succeeded, we'll be happy to have detailed step by step or video, or better, a working .vhdx.

Links used for doc

GitHub - acidanthera/MacHyperVSupport: Hyper-V integration support for macOS

OpenCore Install Guide (dortania.github.io)

https://github.com/acidanthera/bugtracker/issues/2179

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.





×
  • Create New...