前言

​ 我的本子是小米笔记本Pro,买之前只看到了它是15.9mm厚,玻璃屏幕,72色域以及长续航。浑然不觉对一个喜欢折腾电脑的人来说,它的 PM981不可更换内存无线网卡是多么蛋疼。

解决办法

​ 查找一番,发现其实很久很久以前,还是 10.12 的时候,就有了相关的补丁可以解决。可惜那篇帖子是求助帖,有一个评论是 TonyMac x86 论坛的一个链接,里面又附了一个链接到 Rehabman 的帖子。然后很多人认为 PM981 无解,赶紧换硬盘。有 PM981 身不由己的则从此远离黑果,其实PM981确实无解,但是可以通过某些办法来达到使用 macOS 的目的。

解决步骤如下👇:

  1. 在移动硬盘上安装一个macOS,版本不限(13.614.x已经测试通过;评论指出:10.15目前已知打开磁盘管理崩溃),不能为虚拟机。注意安装的磁盘大小最好为你希望在 PM981 上占用的大小
  1. 使用 Paragon Hard Disk Manager 工具进行备份,备份的前提为仅完成安装未进入设置的系统,备份操作很简单,只需要点击 Create Backup 即可;
  1. 还原你的系统到PM981上,这一步需要建立一个安装空间,比移动硬盘上macOS稍大一点,用以恢复。 Paragon Hard Disk Manager 会自动恢复分区格式/内容,并且只占用原来备份时的分区大小,多余空间会以空闲空间释放。

关键步骤

  1. 在你的移动硬盘或者其他形式的同版本macOS上,输入下面的命令实现空壳驱动的创建:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    //创建目录并执行patch_nvme.sh
    mkdir ~/Projects
    cd Projects
    git clone https://github.com/RehabMan/patch-nvme.git patch-nvme.git
    cd ~/Projects/patch-nvme.git
    ./patch_nvme.sh –spoof

    //在目录下生成一个HackrNVMeFamily.kext后,在这个目录下面可以找到
    cd ~/Projects/patch-nvme.git
  1. 生成一个注入硬件ID的SSDT,其模板如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    // Inject bogus class-code for NVMe SSD to prevent IONVMeFamily.kext from loading

    DefinitionBlock("", "SSDT", 2, "hack", "NVMe-Pcc", 0)
    {
    External(_SB.PCI0.RP09.PXSX, DeviceObj)
    //改我,这里就是地址
    Method(_SB.PCI0.RP09.PXSX._DSM, 4)
    {
    If (!Arg2) { Return (Buffer() { 0x03 } ) }
    Return(Package()
    {
    "class-code", Buffer() { 0xff, 0x08, 0x01, 0x00 },
    "built-in", Buffer() { 0 },
    })
    }
    External(_SB.PCI0.RP05.PXSX, DeviceObj)
    //改我,这里就是地址
    Method(_SB.PCI0.RP05.PXSX._DSM, 4)
    {
    If (!Arg2) { Return (Buffer() { 0x03 } ) }
    Return(Package()
    {
    "class-code", Buffer() { 0xff, 0x08, 0x01, 0x00 },
    "built-in", Buffer() { 0 },
    })
    }
    }
    //EOF

​ 这里替换的就是硬件的BIOS设备名称,也就是地址信息。这里的BIOS设备名称并不是在BIOS里面查询,而是在Windows 10里边查看。

右键我的电脑 -> 管理 -> 设备管理器 -> 存储控制器 -> 右键NVME控制器 -> 属性 -> 详细信息 -> BIOS设备名称

​ 这样填写进去之后,把代码复制到一个新建的 .txt 文本中,然后更改文件格式为 .aml 即可。

  1. 接下来的收尾当然是驱动和补丁各自放在各自的位置上,然后根据其他问题调试进系统了~

联系我

QQ:1941256841,加我请注明来意