1 Star 1 Fork 0

Yaming network/MacHyperVSupport

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
BSD-3-Clause

MacHyperVSupport

Build Status Scan Status

MacHyperVSupport是适用于macOS的Hyper-V集成服务。需要在Windows Server 2012 R2 / Windows 8.1或更高版本的第二代虚拟机上运行。目前不支持Windows Server 2016。

所有Intel macOS版本均受支持。

支持的Hyper-V设备和服务

  • 心跳
  • 客户机关机(使用守护程序)
  • 时间同步(使用守护程序)
  • 主机到客户机文件复制(使用守护程序)
  • PCI直通(部分支持)
  • 综合图形(部分支持)
  • 综合键盘
  • 综合鼠标
  • 综合网络控制器
  • 综合SCSI控制器

二进制文件

  • MacHyperVSupport.kext:macOS 10.4到11.0的核心Hyper-V支持kext。
  • MacHyperVSupportMonterey.kext:macOS 12.0及更高版本的核心Hyper-V支持kext。
  • hvfilecopyd:文件复制用户空间守护程序。
  • hvshutdownd:关机用户空间守护程序。
  • hvtimesyncd:时间同步用户空间守护程序。

OpenCore配置

ACPI

  • SSDT-HV-VMBUS:启用正确的启动磁盘操作,请确保也配置了其中描述的补丁。
  • SSDT-HV-DEV:在Windows Server 2019 / Windows 10及更高版本上需要,在macOS下提供正确的处理器对象并禁用不兼容的虚拟设备。
  • SSDT-HV-DEV-WS2022:在Windows Server 2022 / Windows 11及更高版本上需要,在macOS下禁用额外的不兼容的虚拟设备。
  • SSDT-HV-PLUG:确保在Big Sur及更高版本中加载VMPlatformPlugin,避免使用默认PlatformPlugin时出现冻结。
  • 确保所有上述SSDT中描述的补丁都在ACPI->Patch中。

引导程序特殊点

  • AllowRelocationBlock - 对于macOS 10.7及更早版本需要
  • AvoidRuntimeDefrag - 需要
  • ForceExitBootServices - 对于macOS 10.7及更早版本需要
  • ProvideCustomSlide - 需要
  • RebuildAppleMemoryMap - 对于macOS 10.6及更早版本需要

内核

  • 特殊点
    • ProvideCurrentCpuInfo - 为了正确的TSC/FSB值和CPU拓扑值,需要。
  • 还需要以下其他内核扩展:
  • 阻止
    • com.apple.driver.AppleEFIRuntime
      • 对于32位版本的macOS(10.4和10.5以及32位模式下的10.6),由于与Hyper-V UEFI不兼容性而无法使用EFI运行时服务和NVRAM。
  • 强制
    • 在较旧版本的macOS上,可能需要强制注入以下内核扩展。有关详细信息,请参阅OpenCore配置手册。
    • IONetworkingFamily(com.apple.iokit.IONetworkingFamily
    • IOSCSIParallelFamily(com.apple.iokit.IOSCSIParallelFamily
  • 补丁
    • 禁用_hpet_init
      • Arch = i386
      • Base = _hpet_init
      • Comment = 由于没有HPET硬件可用,禁用_hpet_init
      • Count = 1
      • Identifier = kernel
      • MaxKernel = 9.5.99
      • Replace = C3
    • 禁用IOHIDDeviceShim ::newTransportString()
      • Arch = i386
      • Base = __ZNK15IOHIDDeviceShim18newTransportStringEv
      • Comment = 修复IOHIDDeviceShim ::newTransportString()中由_null deviceType_引起的崩溃
      • Count = 1
      • Identifier = com.apple.iokit.IOHIDFamily
      • MaxKernel = 9.6.99
      • MinKernel = 9.5.0
      • Replace = 31C0C3
    • 禁用X/Y鼠标移动的缩放因子
      • Arch = i386
      • Base = __ZN16IOHIDEventDriver21handleInterruptReportE12UnsignedWideP18IOMemoryDescriptor15IOHIDReportTypem
      • Comment = 10.4中没有AbsoluteAxisBoundsRemovalPercentage的解决方法
      • Identifier = com.apple.iokit.IOHIDFamily
      • Find = BA1F85EB51
      • MaxKernel = 8.11.99
      • MinKernel = 8.0.0
      • Replace = BA00000000
  • 模拟
    • 对于较旧版本的macOS,可能需要虚拟电源管理和CPU欺骗,具体取决于主机CPU。

NVRAM

  • 引导参数
    • 对于运行32位版本的macOS(10.4 - 10.5,以及在32位模式下运行的10.6),需要-legacy。这些版本中无法使用64位应用程序和NVRAM支持。

UEFI

  • 特殊点
    • DisableSecurityPolicy - 在Windows Server 2019 / Windows 10及更高版本上需要

安装程序镜像创建

  • 可以通过从USB硬盘传递安装程序映像或使用qemu-img将DMG转换为VHDX映像来创建安装程序映像:
    • DMG需要先以读/写格式存在。
    • qemu-img convert -f raw -O vhdx Installer.dmg Installer.vhdx

引导参数

有关每个模块的引导参数,请参见模块列表

学分

Copyright (c) 2021, Goldfish64 All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

简介

MacHyperVSupport是适用于macOS的Hyper-V集成服务。需要在Windows Server 2012 R2 / Windows 8.1或更高版本的第二代虚拟机上运行。目前不支持Windows Server 2016。 展开 收起
README
BSD-3-Clause
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/yaming-network/MacHyperVSupport.git
git@gitee.com:yaming-network/MacHyperVSupport.git
yaming-network
MacHyperVSupport
MacHyperVSupport
master

搜索帮助