How to replace MacBook SSD with Samsung 970 EVO M.2 NVMe on macOS Catalina

Viktor Šulák
Mac O’Clock
Published in
6 min readDec 27, 2018
Photo by Kari Shea on Unsplash

Originally written for macOS 10.14 Mojave, but it still works the same way on macOS 10.15 Catalina.

If you know what you are doing, it’s pretty straightforward and takes a few hours to set up everything. For me, it took almost two months since I always had to wait for something.

The waiting was worth it. If I wanted to replace my 250GB disk with official 500GB replacement drive, it would take 600–700$. This way it cost me less than 200$.

What you will need

  • Pentalobe P5 (1.2mm) screwdriver for MacBook bottom cover
  • Torx T5 screwdriver for flash drive
  • M.2 to Apple proprietary adapter (Sintech ST-NGFF2013)
  • External HDD for Time Machine backup
  • Flash drive 4GB+
  • Small dry brush to remove dust (optional)

Adapter choice

The part that took me the most time was the selection of correct adapter and waiting for it to be delivered. First, I have ordered 3$ adapter from AliExpress. When I have put my new disk into my mid-2015 MacBook Pro 15”, nothing happened, and the disk did not show in the recovery console. After consulting with the seller, he told me it’s not supposed to work with NVMe drives.

My second choice was more expensive Sintech ST-NGFF2013 adapter (16$) from eBay. I have installed it into my MacBook and … nothing happened. I had to do some research to make it work but the seller assured me it should definitely work.

Preparation

To save time and transfer all the data and applications directly to the new disk, you should start with creating Time Machine backup.

If you want to be a little bit geeky and be happy that your disk is now blazing fast, then you should install a disk speed benchmark tool.

Disk speed with original SSD drive

Linux boot drive

Maybe you will need it and maybe not. It is better to be prepared. I needed to boot a Linux and type in few commands to format my drive. You need to insert the flash drive and follow this simple guide.

Disk swap

WARNING — this step voids your warranty!

After you have finished your backup, you can turn off your MacBook. Gently unscrew 10 screws using P5 screwdriver from the bottom of your MacBook. Do not apply excessive force and take your time. After that, grab the cover at the display side of MacBook near the fan ribs. Gently tear it off so you will see internal parts.

After that, you need to gently unscrew former SSD using Torx T5 screwdriver. Next, you need to insert new SSD into adapter. Make sure the connector has slid all the way inside the adapter. After that, you insert new SSD with adapter into the slot or former one and refit the screw.

You replace the bottom cover and push it gently in the middle until you will hear two clicks. Now the cover holds tight and you can put screws into their places. You can also replace screws after successful installation of the system.

If you need to have a look at the replacement of your drive, find a video on YouTube. For my model, it is this one.

Recovery mode

To boot into recovery mode, you will need to press cmd + option (alt) + r right after you turn on the MacBook. You can also use cmd + r, but you will miss one important option in Disk Utility on Mojave.

After you boot into recovery mode, you enter Disk Utility. On the left side, you see physical hard drives and their respective logical volumes. If you don’t see your new drive there, don’t panic yet. Press “View” button on the top left corner above drives and press “Show All Devices” (top menu View in older systems). You should see your new drive here. If not, you have to boot Linux just like me.

Disk Utility — View button

Partitioning using Linux

You need to shut down your MacBook, insert Linux bootable flash drive and start while pressing option (alt) key. You should see available bootable devices. Flash drive should be the one on the right.

First, you need to open the Terminal application. Then you need to type lsblk to find disk label. You should see something like nvme0n1 in there. That means your hardware is recognized as device nvme0 and we’re good to proceed.

lsblk

After that, you need to create a partition. We will use fdisk utility. Just enter sudo fdisk /dev/nvme0n1. Type “n” to create a new partition. Leave all options to default values by pressing enter. Write changes by typing “w”.

sudo fdisk /dev/nvme0n1- n .. Add a new partition
- p .. Primary partition
- 1 .. Partition number 1
- default .. First sector
- default .. Last sector
- w .. Write

After that, you can enter lsblk again to check it has a partition now.

lsblk

Turn off your MacBook.

Recovery mode (continued)

Again, you have to start MacBook and immediately press cmd + option (alt) + r to access Recovery mode and Disk Utility there. Now you should definitely have your new hard drive available when you press “Show All Devices” in “View” dropdown list.

Click on your physical drive, press Erase icon on top in the middle. Select Mac OS extended journaled format and GUID partition map and press Erase.

Click on the logical drive under physical one and press Erase again. Select APFS format and press Erase.

Now you have your disk set up and you just need to install your system. Exit the Disk Utility and enter Recover From Time Machine Backup. There you just select the most recent one and let the magic happen. For me, it took about 4 hours to recover. Time depends mainly on the number of files it has to recover and external drive speed.

Check everything is OK

Open About This Mac utility, press System Report button, and click on NVMExpress under Hardware. There you click on your will find your drive.

NVMExpress in System Report

After that, you can test your drive speed again.

Disk speed with Samsung 970 Evo

Final tweaks

There is one more thing to tweak — sleep mode of your MacBook. There are several available sleep modes and there is a good chance you have mode 3. If you see that your MacBook consumes more battery than before during sleep, you can tell it to sleep deeper. This would result in a slightly longer time to go to sleep and wake up. You will probably notice it, but it still takes shorter than for you to wake up. It was maybe one second on my first try. Now I don’t even notice it any longer.

Sleep mode check using pmset

To check your current state, open your Terminal app and press pmset -g. Then you type in sudo pmset hibernatemode 25 to change your sleep mode to a deeper one. To go back to the previous setting, you just type in sudo pmset hibernatemode 3 in Terminal and everything is like before.

pmset -g
sudo pmset hibernatemode 25
pmset sleepnow
sudo pmset hibernatemode 3

Enjoy

It may sound like a long and difficult approach, but it is not if you know what you are doing, and you are gentle with a screwdriver. Backing up and restoring your MacBook are the only time-consuming parts. After fiddling with these drives and adapters, I am able to swap SSDs in my MacBook in 5 minutes now.

Further reading

--

--

Viktor Šulák
Mac O’Clock

Software engineer, traveller, photographer, motorcycle rider. Interested in fiddling with new technologies.