[Guide] How to use NVMe and M.2 Drives on macOS Sierra

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
2,696
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
With the introduction of NVMe and M.2 Drives, which provides more speed than a normal SSD or Hard Drive, can be used on hackintoshes without any issues. Apple has been already using their compatible NVMe drives which is not only faster but supports many features and works out of the box.

For using a NVMe or M.2 SSD Drives, you must be running macOS Sierra or later. With macOS High Sierra and later, the drives works out of the box without any tweak, special configuration or kexts.

Pike R. Alpha, introduced some patches for the NVMe Drives for macOS Sierra and it works amazing. You can configure and use it as a boot/system drive.

Mount EFI Partition
The first step is to mount your EFI Partition.

Add the patches in KextsToPatch
1. Open your config.plist
2. Navigate to Kernel and Kext Patches and add the following patch in KextsToPatch section.

Patch #1
Code:
Name*: IONVMeFamily
Find* [HEX]: 3C737472 696E673E 70636931 3434642C 61383034 3C2F7374 72696E67 3E
Replace [HEX]: 3C737472 696E673E 70636931 3434642C 61383032 3C2F7374 72696E67 3E
Comment: IONVMeFamily IONameMatch
InfoPlistPatch: YES
Patch #2
Code:
Name*: IONVMeFamily
Find* [HEX]: 89B3E802 0000C1E0 0C050010 00008983
Replace [HEX]: 89B3E802 0000C1E0 09050010 00008983
Comment: IONVMeFamily Pike R. Alpha Patch#1
Patch #3
Code:
Name*: IONVMeFamily
Find* [HEX]: 0FB68C88 82000000 83F90C0F 85320100
Replace [HEX]: 0FB68C88 82000000 83F9090F 85320100
Comment: IONVMeFamily Pike R. Alpha Patch#2
Patch #4
Code:
Name*: IONVMeFamily
Find* [HEX]: 00C783A4 00000000 10000048 8B480848
Replace [HEX]: 00C783A4 00000000 02000048 8B480848
Comment: IONVMeFamily Pike R. Alpha Patch#3
Patch #5
Code:
Name*: IONVMeFamily
Find* [HEX]: 4989C64D 85F67461 41C1E70C 4963FFBE
Replace [HEX]: 4989C64D 85F67461 41C1E709 4963FFBE
Comment: IONVMeFamily Pike R. Alpha Patch#4
Patch #6
Code:
Name*: IONVMeFamily
Find* [HEX]: 86FF0F00 0048C1E8 0C0FB70F 81E1FF0F
Replace [HEX]: 86FF0F00 0048C1E8 090FB70F 81E1FF0F
Comment: IONVMeFamily Pike R. Alpha Patch#5
Patch #7
Code:
Name*: IONVMeFamily
Find* [HEX]: 89C181E1 FF0F0000 4801D148 81F9FF0F 0000773B
Replace [HEX]: 89C181E1 FF010000 4801D148 81F9FF01 0000773B
Comment: IONVMeFamily Pike R. Alpha Patch#6_7
Patch #8
Code:
Name*: IONVMeFamily
Find* [HEX]: 4981C5FF 0F000049 C1ED0C49 8B042448
Replace [HEX]: 4981C5FF 0F000049 C1ED0949 8B042448
Comment: IONVMeFamily Pike R. Alpha Patch#8
Patch #9
Code:
Name*: IONVMeFamily
Find* [HEX]: 06020000 4C8DB800 1000004C 89F94881 E100F0FF FF498986 1A010000 49898E22 01000041 BC001000 004929F4
Replace [HEX]: 06020000 4C8DB800 0200004C 89F94881 E100F0FF FF498986 1A010000 49898E22 01000041 BC000200 004929F4
Comment: IONVMeFamily Pike R. Alpha Patch#9_10
Patch #10
Code:
Name*: IONVMeFamily
Find* [HEX]: 00004989 8E220100 00BA0010 00004829
Replace [HEX]: 00004989 8E220100 00BA0002 00004829
Comment: IONVMeFamily Pike R. Alpha Patch#11
Patch #11
Code:
Name*: IONVMeFamily
Find* [HEX]: C8000000 4929D7B8 00100000 4D8B2424
Replace [HEX]: C8000000 4929D7B8 00020000 4D8B2424
Comment: IONVMeFamily Pike R. Alpha Patch#12
Patch #12
Code:
Name*: IONVMeFamily
Find* [HEX]: E1BF8040 15064D89 D6BA0010 00004531
Replace [HEX]: E1BF8040 15064D89 D6BA0002 00004531
Comment: IONVMeFamily Pike R. Alpha Patch#13
Patch #13
Code:
Name*: IONVMeFamily
Find* [HEX]: 8964D8F8 4981C400 10000049 81C700F0
Replace [HEX]: 8964D8F8 4981C400 02000049 81C700F0
Comment: IONVMeFamily Pike R. Alpha Patch#14
Patch #14
Code:
Name*: IONVMeFamily
Find* [HEX]: 05FF0F00 0048C1E8 0C66F7C1 FF0F0F95
Replace [HEX]: 05FF0F00 0048C1E8 0966F7C1 FF0F0F95
Comment: IONVMeFamily Pike R. Alpha Patch#15
Patch #15
Code:
Name*: IONVMeFamily
Find* [HEX]: C1E20841 0FB6C1C1 E00C4409 D04409C0
Replace [HEX]: C1E20841 0FB6C1C1 E0094409 D04409C0
Comment: IONVMeFamily Pike R. Alpha Patch#16
Patch #16
Code:
Name*: IONVMeFamily
Find* [HEX]: 4584C90F 95C00FB6 C0C1E00C 4409D844
Replace [HEX]: 4584C90F 95C00FB6 C0C1E009 4409D844
Comment: IONVMeFamily Pike R. Alpha Patch#17


3. Save your config.plist file.

Restart your System
After making the necessary changes, restart your system.
The NVMe drive should be working on system.
Screen Shot 2018-10-03 at 5.36.58 AM.png
Performance*
Here's a Disk Speed Test, tested on Samsung 960 EVO 250GB NVMe SSD


screen-shot-2018-10-03-at-5-01-37-am-png.1180
* Performance may vary based on system hardware & configuration.

Note :
  • Make sure the NVMe Drive is enabled from BIOS. If it's not enabled, it will not work.
  • By default, the TRIM function should be enabled. But if it's not enabled, use sudo trimforce enable in terminal and it should enable the TRIM function.

Credits:
Pike R. Alpha
 

Trending Threads

Latest posts

Forum statistics

Threads
553
Messages
5,564
Members
4,944
Latest member
Melgio