@RehabMan:
Thanks for your guide. I'm having a difficult time getting things working with an Intel 600p Series 256GB M.2 80mm PCIe 3.0x4. I have two ports, and one of these devices in each port. Neither appears.
I've attached a zip file with before/after patching folders, each with ioreg dump, Clover folder (SMBIOS removed), and some extra information. I'm using VMWare Fusion so I don't think Windows 10 is seeing the device correctly (I don't intend to install Windows anywhere else), which is why I attached the before/after folders with an IOReg dump for each.
After patching, IONVMeFamily.kext still loads and if I use kextutil to diagnose Hackr....kext, it says (among harmless signature complaints):
kext "/System/Library/Extensions/HackrNVMeFamily-10_12_4.kext"
(kernel) OSMetaClass: Kext com.apple.hack.HackrNVMeFamily class IONVMeBlockStorageDevice is a duplicate;kext com.apple.iokit.IONVMeFamily already has a class by that name.
(kernel) Kext com.apple.hack.HackrNVMeFamily start failed (result 0xdc00400a).
(kernel) Kext com.apple.hack.HackrNVMeFamily failed to load (0xdc008017).
(kernel) Failed to load kext com.apple.hack.HackrNVMeFamily (error 0xdc008017).
Failed to load /System/Library/Extensions/HackrNVMeFamily-10_12_4.kext - (libkern/kext) kext (kmod) start/stop routine failed.
The Clover boot log shows the SSDT is properly loaded:
2:951 0:000 Inserting SSDT-NVMe-Pcc.aml from EFI\CLOVER\ACPI\patched ... Success
The HackrNVMEFamily (for 10.12.4, my current version) is properly generated according to the script (using the --spoof command); no errors regarding expected MD5 hashes. As obvious from the above kextutil command, it's installed properly into /System/Library/Extensions and the kext cache rebuilds successfully. I've attached (in the root of the zip folder) my IONVMeFamily.kext just in case something's wonky with it as well.
FakeSMC.kext is also loaded.