This page contains affiliate links. As an Amazon Associate I earn from qualifying purchases.
Introduction
Original Apple SSD’s for the MacBook Pro and MacBook Air are very expensive, especially compared to the price of standard NVMe SSD’s designed for Windows PC’s. macOS Mojave (and High Sierra) supports NVMe drives as boot device in MacBook Pro models released from late 2013 to 2015 and MacBook Air models from 2013 to 2017.
Why would I want to do this?
Your macbook is fully supported on Mojave. There are no NVidia web drivers for Mojave, but that generally only concerns desktop PC's running MacOS (possibly also EGPU users). It's currently a big deal in the Hackintosh community and why a lot of people have moved to AMD graphics.
- Standard NVMe drives are cheaper. Much cheaper than original Apple drives.
- Many of the current NVMe drives are faster than the stock Apple drives that shipped in the MacBook Pro.
- NVMe drives are much easier to source. They can be bought everywhere online or in IT stores. Original Apple drives are almost impossible to buy new, so you’re limited to buying used drives on sites like Ebay for inflated prices.
What do I need?
- First you’ll need a suitable adapter. The SSD connector on the MacBook Pro motherboard is not a standard NVMe interface, so you need an adapter. The best adapter currently available is the Sintech NGFF M.2 nVME SSD Adapter Card. This is a full length card that holds the SSD much more securely than the short, connector-only adapters that many sellers are selling online.
- A USB memory stick of at least 8GB capacity, to use for installation of macOS Mojave on the new SSD
- A suitable NVME SSD. Note that certain SSD’s have compatibility issues with macOS – including the Samsung PM981 and the Samsung 970 EVO Plus (the original 970 EVO works fine, though). Some of the best NVMe SSD’s currently available, with tested macOS compatibility, are the Samsung 970 EVO, the Samsung 970 PRO, the Sandisk Extreme and the WD Black.
- A Pentalobe screwdriver is needed to remove the screws on the base of the MacBook Pro.
- A Torx T5 screwdriver, to remove the screw securing the SSD and slide it out of the slot.
- A MacBook Pro or MacBook Air from late 2013 onwards (not USB-C models) that has been updated to macOS High Sierra or Mojave.
Installation process
Make sure that you have upgraded your Mac to High Sierra or Mojave with the original drive installed before beginning. This ensures that the EFI firmware in your Mac is updated to the latest version with NVMe support.
Also, to be safe, make a backup of your data and important files to an external drive. You can copy this back to the new drive after installing macOS.
- Create a bootable USB installer of macOS Mojave following these instructions from Apple.
- Turn the MacBook Pro face down on the desk and, using your Pentalobe screwdriver, carefully remove the screws on the bottom. Once all screws are removed, lift off the bottom plate.
- Peel up the black tape covering the battery connector and disconnect the battery from the motherboard using a plastic prying tool or your fingernail.
- With the battery nearest you, you should see the SSD at the rear of the motherboard, on the right. Using your Torx T5 screwdriver, remove the screw securing the SSD and slide the SSD from its socket.
- Fit your new SSD into the adapter, making sure that it’s fully inserted in the slot. The screw hole on the SSD should align with the one on the adapter.
- Insert the adapter and the SSD into the slot on the motherboard. It should be inserted at an angle of around 30 degrees.
- Gently screw the drive into place using the screw provided with the adapter. Be careful not to screw it in too tight as it could cause the SSD to bend. It should be screwed in firmly enough to hold it in place but not over-tightened.
- Reconnect the battery to the motherboard and replace the plastic tape.
- Replace the bottom case, putting the screws back in the same place you removed them from (they may look the same but they’re actually different sizes).
- Plug your bootable macOS installation USB into a USB port and turn on the Mac while holding the Option key. From the boot screen that appears, choose the USB drive.
- Once the USB has booted, it’s time to format the drive. Open the Disk Utility app from the menu and select your NVMe SSD in the pane to the left. Click “Erase” then select APFS as the format and “GUID Partition Map” as the scheme.
- After the drive has finished formatting, quit the Disk Utility app and select “Install macOS” from the menu. Select your freshly formatted NVMe SSD as the installation drive and macOS will be installed to the new drive.
- Once the installation finishes, the computer will boot into macOS and you can restore your old files from the backup you made before starting.
…and that’s it. You should now have a working NVMe drive in your Mac for a fraction of the cost of an original Apple drive.
NVMe drives are compatible with the following MacBook Pro and MacBook Air models
- MacBook Air 11-inch and 13-inch (Mid 2013)
- MacBook Pro 13-inch and 15-inch (Retina, Late 2013)
- MacBook Air 11-inch and 13-inch (Early 2014)
- MacBook Pro 13-inch and 15-inch (Retina, Mid 2014)
- MacBook Air 11-inch and 13-inch (Early 2015)
- MacBook Pro 13-inch (Retina, Early 2015)
- MacBook Pro 15-inch (Retina, Mid 2015)
About Apple security updates
For our customers' protection, Apple doesn't disclose, discuss, or confirm security issues until an investigation has occurred and patches or releases are available. Recent releases are listed on the Apple security updates page.
For more information about security, see the Apple Product Security page. You can encrypt communications with Apple using the Apple Product Security PGP Key.
Apple security documents reference vulnerabilities by CVE-ID when possible.
macOS Mojave 10.14
Released September 24, 2018
Bluetooth
Available for: iMac (21.5-inch, Late 2012), iMac (27-inch, Late 2012), iMac (21.5-inch, Late 2013), iMac (21.5-inch, Mid 2014), iMac (Retina 5K, 27-inch, Late 2014), iMac (21.5-inch, Late 2015), Mac mini (Mid 2011), Mac mini Server (Mid 2011), Mac mini (Late 2012), Mac mini Server (Late 2012), Mac mini (Late 2014), Mac Pro (Late 2013), MacBook Air (11-inch, Mid 2011), MacBook Air (13-inch, Mid 2011), MacBook Air (11-inch, Mid 2012), MacBook Air (13-inch, Mid 2012), MacBook Air (11-inch, Mid 2013), MacBook Air (13-inch, Mid 2013), MacBook Air (11-inch, Early 2015), MacBook Air (13-inch, Early 2015), MacBook Pro (13-inch, Mid 2012), MacBook Pro (15-inch, Mid 2012), MacBook Pro (Retina, 13-inch, Early 2013), MacBook Pro (Retina, 15-inch, Early 2013), MacBook Pro (Retina, 13-inch, Late 2013), and MacBook Pro (Retina, 15-inch, Late 2013)
Impact: An attacker in a privileged network position may be able to intercept Bluetooth traffic
Description: An input validation issue existed in Bluetooth. This issue was addressed with improved input validation.
CVE-2018-5383: Lior Neumann and Eli Biham
The updates below are available for these Mac models: MacBook (Early 2015 and later), MacBook Air (Mid 2012 and later), MacBook Pro (Mid 2012 and later), Mac mini (Late 2012 and later), iMac (Late 2012 and later), iMac Pro (all models), Mac Pro (Late 2013, Mid 2010, and Mid 2012 models with recommended Metal-capable graphics processor, including MSI Gaming Radeon RX 560 and Sapphire Radeon PULSE RX 580)
afpserver
Impact: A remote attacker may be able to attack AFP servers through HTTP clients
Description: An input validation issue was addressed with improved input validation.
CVE-2018-4295: Jianjun Chen (@whucjj) from Tsinghua University and UC Berkeley
Entry added October 30, 2018
App Store
Impact: A malicious application may be able to determine the Apple ID of the owner of the computer
Description: A permissions issue existed in the handling of the Apple ID. This issue was addressed with improved access controls.
CVE-2018-4324: Sergii Kryvoblotskyi of MacPaw Inc.
AppleGraphicsControl
Impact: An application may be able to read restricted memory
Description: A validation issue was addressed with improved input sanitization.
CVE-2018-4417: Lee of the Information Security Lab Yonsei University working with Trend Micro's Zero Day Initiative
Entry added October 30, 2018
Application Firewall
Impact: A sandboxed process may be able to circumvent sandbox restrictions
Description: A configuration issue was addressed with additional restrictions.
CVE-2018-4353: Abhinav Bansal of LinkedIn Inc.
Entry updated October 30, 2018
APR
Impact: Multiple buffer overflow issues existed in Perl
Description: Multiple issues in Perl were addressed with improved memory handling.
CVE-2017-12613: Craig Young of Tripwire VERT
CVE-2017-12618: Craig Young of Tripwire VERT
Entry added October 30, 2018
ATS
Impact: A malicious application may be able to elevate privileges
Description: A memory corruption issue was addressed with improved input validation.
CVE-2018-4411: lilang wu moony Li of Trend Micro working with Trend Micro's Zero Day Initiative
Entry added October 30, 2018
ATS
Impact: An application may be able to read restricted memory
Description: An out-of-bounds read was addressed with improved bounds checking.
CVE-2018-4308: Mohamed Ghannam (@_simo36)
Entry added October 30, 2018
Auto Unlock
Impact: A malicious application may be able to access local users AppleIDs
Description: A validation issue existed in the entitlement verification. This issue was addressed with improved validation of the process entitlement.
CVE-2018-4321: Min (Spark) Zheng, Xiaolong Bai of Alibaba Inc.
CFNetwork
Impact: An application may be able to execute arbitrary code with system privileges
Description: A memory corruption issue was addressed with improved memory handling.
CVE-2018-4126: Bruno Keith (@bkth_) working with Trend Micro's Zero Day Initiative
Entry added October 30, 2018
CoreFoundation
Impact: A malicious application may be able to elevate privileges
Description: A memory corruption issue was addressed with improved input validation.
CVE-2018-4412: The UK's National Cyber Security Centre (NCSC)
Entry added October 30, 2018
CoreFoundation
Impact: An application may be able to gain elevated privileges
Description: A memory corruption issue was addressed with improved input validation.
CVE-2018-4414: The UK's National Cyber Security Centre (NCSC)
Entry added October 30, 2018
CoreText
Impact: Processing a maliciously crafted text file may lead to arbitrary code execution
Description: A use after free issue was addressed with improved memory management.
CVE-2018-4347: Vasyl Tkachuk of Readdle
Entry added October 30, 2018, updated December 13, 2018
Crash Reporter
Impact: An application may be able to read restricted memory
Description: A validation issue was addressed with improved input sanitization.
CVE-2018-4333: Brandon Azad
CUPS
Impact: In certain configurations, a remote attacker may be able to replace the message content from the print server with arbitrary content
Description: An injection issue was addressed with improved validation.
CVE-2018-4153: Michael Hanselmann of hansmi.ch
Entry added October 30, 2018
CUPS
Impact: An attacker in a privileged position may be able to perform a denial of service attack
Description: A denial of service issue was addressed with improved validation.
CVE-2018-4406: Michael Hanselmann of hansmi.ch
Entry added October 30, 2018
Dictionary
Impact: Parsing a maliciously crafted dictionary file may lead to disclosure of user information
Description: A validation issue existed which allowed local file access. This was addressed with input sanitization.
CVE-2018-4346: Wojciech Reguła (@_r3ggi) of SecuRing
Entry added October 30, 2018
DiskArbitration
Impact: A malicious application may be able to modify contents of the EFI system partition and execute arbitrary code with kernel privileges if secure boot is not enabled
Description: A permissions issue existed in DiskArbitration. This was addressed with additional ownership checks.
CVE-2018-4296: Vitaly Cheptsov
Entry updated January 22, 2019
dyld
Impact: A malicious application may be able to modify protected parts of the file system
Description: A configuration issue was addressed with additional restrictions.
CVE-2018-4433: Vitaly Cheptsov
Entry updated January 22, 2019
fdesetup
Impact: Institutional recovery keys may be incorrectly reported as present
Description: A logic issue was addressed with improved state management.
CVE-2019-8643: Arun Sharma of VMWare
Entry added August 1, 2019
Firmware
Impact: An attacker with physical access to a device may be able to elevate privileges
Description: A memory corruption issue was addressed with improved input validation.
CVE-2017-5731: Intel and Eclypsium
CVE-2017-5732: Intel and Eclypsium
CVE-2017-5733: Intel and Eclypsium
CVE-2017-5734: Intel and Eclypsium
CVE-2017-5735: Intel and Eclypsium
Entry added June 24, 2019
Grand Central Dispatch
Impact: An application may be able to execute arbitrary code with system privileges
Description: A memory corruption issue was addressed with improved memory handling.
CVE-2018-4426: Brandon Azad
Entry added October 30, 2018
Heimdal
Impact: An application may be able to execute arbitrary code with system privileges
Description: A memory corruption issue was addressed with improved memory handling.
CVE-2018-4331: Brandon Azad
CVE-2018-4332: Brandon Azad
CVE-2018-4343: Brandon Azad
Entry added October 30, 2018
Hypervisor
Impact: Systems with microprocessors utilizing speculative execution and address translations may allow unauthorized disclosure of information residing in the L1 data cache to an attacker with local user access with guest OS privilege via a terminal page fault and a side-channel analysis
Description: An information disclosure issue was addressed by flushing the L1 data cache at the virtual machine entry.
CVE-2018-3646: Baris Kasikci, Daniel Genkin, Ofir Weisse, and Thomas F. Wenisch of University of Michigan, Mark Silberstein and Marina Minkin of Technion, Raoul Strackx, Jo Van Bulck, and Frank Piessens of KU Leuven, Rodrigo Branco, Henrique Kawakami, Ke Sun, and Kekai Hu of Intel Corporation, Yuval Yarom of The University of Adelaide
Entry added October 30, 2018
iBooks
Impact: Parsing a maliciously crafted iBooks file may lead to disclosure of user information
Description: A configuration issue was addressed with additional restrictions.
Mac Os Mojave Macbook Pro 2014
CVE-2018-4355: evi1m0 of bilibili security team
Entry added October 30, 2018
Intel Graphics Driver
Impact: An application may be able to read restricted memory
Description: A validation issue was addressed with improved input sanitization.
CVE-2018-4396: Yu Wang of Didi Research America
CVE-2018-4418: Yu Wang of Didi Research America
Entry added October 30, 2018
Intel Graphics Driver
Impact: An application may be able to read restricted memory
Description: A memory initialization issue was addressed with improved memory handling.
CVE-2018-4351: Appology Team @ Theori working with Trend Micro's Zero Day Initiative
Entry added October 30, 2018
Intel Graphics Driver
Impact: An application may be able to execute arbitrary code with system privileges
Description: A memory corruption issue was addressed with improved input validation.
CVE-2018-4350: Yu Wang of Didi Research America
Entry added October 30, 2018
Intel Graphics Driver
Impact: An application may be able to execute arbitrary code with system privileges
Description: A memory corruption issue was addressed with improved memory handling.
CVE-2018-4334: Ian Beer of Google Project Zero
Entry added October 30, 2018
Intel Graphics Driver
Impact: An application may be able to execute arbitrary code with kernel privileges
Description: A memory corruption issue was addressed with improved input validation.
CVE-2018-4451: Tyler Bohan of Cisco Talos
CVE-2018-4456: Tyler Bohan of Cisco Talos
Entry added December 21, 2018, updated January 22, 2019
IOHIDFamily
Impact: A malicious application may be able to execute arbitrary code with kernel privileges
Description: A memory corruption issue was addressed with improved input validation.
CVE-2018-4408: Ian Beer of Google Project Zero
Entry added October 30, 2018, updated August 1, 2019
IOKit
Impact: A malicious application may be able to break out of its sandbox
Description: A memory corruption issue was addressed with improved memory handling.
CVE-2018-4341: Ian Beer of Google Project Zero
CVE-2018-4354: Ian Beer of Google Project Zero
Entry added October 30, 2018
IOKit
Impact: An application may be able to execute arbitrary code with kernel privileges
Description: A memory corruption issue was addressed with improved state management.
CVE-2018-4383: Apple
Entry added October 30, 2018
IOUserEthernet
Impact: An application may be able to execute arbitrary code with kernel privileges
Description: A memory corruption issue was addressed with improved memory handling.
CVE-2018-4401: Apple
Entry added October 30, 2018
Kernel
Impact: A malicious application may be able to leak sensitive user information
Description: An access issue existed with privileged API calls. This issue was addressed with additional restrictions.
CVE-2018-4399: Fabiano Anemone (@anoane)
Entry added October 30, 2018
Kernel
Impact: An attacker in a privileged network position may be able to execute arbitrary code
Description: A memory corruption issue was addressed with improved validation.
CVE-2018-4407: Kevin Backhouse of Semmle Ltd.
Entry added October 30, 2018
Kernel
Macos Mojave Download For Windows
Impact: An application may be able to execute arbitrary code with kernel privileges
Description: A memory corruption issue was addressed with improved memory handling.
CVE-2018-4336: Brandon Azad
CVE-2018-4337: Ian Beer of Google Project Zero
CVE-2018-4340: Mohamed Ghannam (@_simo36)
CVE-2018-4344: The UK's National Cyber Security Centre (NCSC)
CVE-2018-4425: cc working with Trend Micro's Zero Day Initiative, Juwei Lin (@panicaII) of Trend Micro working with Trend Micro's Zero Day Initiative
Entry updated October 30, 2018
LibreSSL
Impact: Multiple issues in libressl were addressed in this update
Description: Multiple issues were addressed by updating to libressl version 2.6.4.
CVE-2015-3194
Macos Mojave For Macbook Pro 2014 Free
CVE-2015-5333
CVE-2015-5334
CVE-2016-0702
Entry added October 30, 2018, updated December 13, 2018
Login Window
Impact: A local user may be able to cause a denial of service
Description: A validation issue was addressed with improved logic.
CVE-2018-4348: Ken Gannon of MWR InfoSecurity and Christian Demko of MWR InfoSecurity
Entry added October 30, 2018
mDNSOffloadUserClient
Impact: An application may be able to execute arbitrary code with kernel privileges
Description: A memory corruption issue was addressed with improved memory handling.
CVE-2018-4326: an anonymous researcher working with Trend Micro's Zero Day Initiative, Zhuo Liang of Qihoo 360 Nirvan Team
Entry added October 30, 2018
MediaRemote
Impact: A sandboxed process may be able to circumvent sandbox restrictions
Description: An access issue was addressed with additional sandbox restrictions.
CVE-2018-4310: CodeColorist of Ant-Financial LightYear Labs
Entry added October 30, 2018
Microcode
Impact: Systems with microprocessors utilizing speculative execution and speculative execution of memory reads before the addresses of all prior memory writes are known may allow unauthorized disclosure of information to an attacker with local user access via a side-channel analysis
Description: An information disclosure issue was addressed with a microcode update. This ensures that older data read from recently-written-to addresses cannot be read via a speculative side-channel.
CVE-2018-3639: Jann Horn (@tehjh) of Google Project Zero (GPZ), Ken Johnson of the Microsoft Security Response Center (MSRC)
Entry added October 30, 2018
Security
Impact: A local user may be able to cause a denial of service
Description: This issue was addressed with improved checks.
CVE-2018-4395: Patrick Wardle of Digita Security
Entry added October 30, 2018
Security
Impact: An attacker may be able to exploit weaknesses in the RC4 cryptographic algorithm
Description: This issue was addressed by removing RC4.
CVE-2016-1777: Pepi Zawodsky
Spotlight
Impact: An application may be able to execute arbitrary code with system privileges
Description: A memory corruption issue was addressed with improved memory handling.
CVE-2018-4393: Lufeng Li
Entry added October 30, 2018
Symptom Framework
Impact: An application may be able to read restricted memory
Description: An out-of-bounds read was addressed with improved bounds checking.
CVE-2018-4203: Bruno Keith (@bkth_) working with Trend Micro's Zero Day Initiative
Entry added October 30, 2018
Text
Impact: Processing a maliciously crafted text file may lead to a denial of service
Description: A denial of service issue was addressed with improved validation.
CVE-2018-4304: jianan.huang (@Sevck)
Entry added October 30, 2018
Wi-Fi
Impact: An application may be able to read restricted memory
Description: A validation issue was addressed with improved input sanitization.
CVE-2018-4338: Lee @ SECLAB, Yonsei University working with Trend Micro's Zero Day Initiative
Entry added October 23, 2018
Additional recognition
Accessibility Framework
We would like to acknowledge Ryan Govostes for their assistance.
Core Data
We would like to acknowledge Andreas Kurtz (@aykay) of NESO Security Labs GmbH for their assistance.
CoreDAV
We would like to acknowledge Matthew Thomas of Verisign for their assistance.
Entry added December 13, 2018, updated December 21, 2018
CoreGraphics
We would like to acknowledge Nitin Arya of Roblox Corporation for their assistance.
CoreSymbolication
We would like to acknowledge Brandon Azad for their assistance.
Entry added December 13, 2018
CUPS
We would like to acknowledge Michael Hanselmann of hansmi.ch for their assistance.
Entry added August 1, 2019
IOUSBHostFamily
We would like to acknowledge Dragos Ruiu of CanSecWest for their assistance.
Entry added December 13, 2018
Kernel
We would like to acknowledge Brandon Azad for their assistance.
Entry added December 13, 2018
We would like to acknowledge Alessandro Avagliano of Rocket Internet SE, John Whitehead of The New York Times, Kelvin Delbarre of Omicron Software Systems, and Zbyszek Żółkiewski for their assistance.
Quick Look
We would like to acknowledge lokihardt of Google Project Zero, Wojciech Reguła (@_r3ggi) of SecuRing, and Patrick Wardle of Digita Security for their assistance.
Entry added December 13, 2018
Security
We would like to acknowledge Christoph Sinai, Daniel Dudek (@dannysapples) of The Irish Times and Filip Klubička (@lemoncloak) of ADAPT Centre, Dublin Institute of Technology, Horatiu Graur of SoftVision, Istvan Csanady of Shapr3D, Omar Barkawi of ITG Software, Inc., Phil Caleno, Wilson Ding, an anonymous researcher for their assistance.
Entry updated June 24, 2019
SQLite
We would like to acknowledge Andreas Kurtz (@aykay) of NESO Security Labs GmbH for their assistance.
Terminal
We would like to acknowledge Federico Bento for their assistance.
Entry added December 13, 2018, updated February 3, 2020
Time Machine
We would like to acknowledge Matthew Thomas of Verisign for their assistance.
Entry updated January 22, 2019
WindowServer
We would like to acknowledge Patrick Wardle of Digita Security for their assistance.
Entry added December 13, 2018