Moving macOS (Big Sur) to a new drive

In a previous post I mentioned I was trying out the Big Sur beta. This was actually on my iMac with a fusion drive that I wasn’t using for much else, but now that I had Big Sur on it I started using it more and the slowness of the fusion drive started getting on to me. It’s been a while since I used regular drives, and while the fusion drive is supposed to be better than regular drives due to the 32GB (in my case) of SSD caching it provides I hated it. Any other time I wouldn’t have purchased an iMac with a fusion drive, but I bought this iMac at a time when I wanted something urgently and if I switched the fusion drive to an SSD it added a couple of days to the delivery times and so I skipped it. 

Anyways, fast forward and now I have Big Sur on it and it was slow as hell and irritating. Then I read somewhere that one can boot macOS from an external drive. In fact that’s how sensible people tried out their beta versions – not by installing it on their primary partition like I had done. :) So I decided to go down that route. I could have got an SSD but I went ahead and bought a 2TB NVMe drive and an USB-C to NVMe enclosure – which on paper is expensive, and it really is mind you, but is still cheaper than buying something like the Samsung X5 of a similar capacity (the price difference being due to the fact that the X5 has Thunderbolt to NVMe and so you get 40Gbps bandwidth whereas the UBC-C one I went for gives me 10Gbps – which was fine in my case, I don’t need 40Gbps, and I couldn’t find any Thunderbolt to NVMe enclosures either). 

First I thought I’d try something like Carbon Copy Cloner to clone the internal drive to the NVMe. That didn’t work coz CCC doesn’t work with Big Sur yet and gives a warning that the destination drive won’t be bootable (it does so even before I select a destination drive). I tried to clone and boot anyways and it didn’t work as expected. So what I did instead was the following:

  1. I erased the NVMe disk as APFS via Disk Utility.
  2. Then I took a Time Machine backup the installed macOS. 
  3. Rebooted and went into recovery mode (press Cmd-R while rebooting).
  4. Tried to do a restore of the Time Machine back to the NVMe but it said I must reinstall macOS first. It gives an option to do so there itself, which I did. (Or you could choose to reinstall from the initial menu itself. (Here’s the Apple document to recovery mode for some pictures). Either ways, this will install Big Sur to the disk you specify. 
  5. While booting up into this newly installed OS (it does automatically after the install) I was asked if I want to migrate from a Time Machine backup. I selected to do so, pointed it to my previously created backup, and it restored everything. 
  6. Rebooted, and I was now booting Big Sur from the NVMe disk (speedy!!) and all my data and settings were there. 

Some things actually worked better after this. Previously in Big Sur I wasn’t able to get the default colourful wallpaper working as it would bring up the Catalina wallpaper instead. On the new install that works fine. Some apps like Witch and Alfred etc. bring up their permissions dialog again on first login – no big deal. And that’s it really. But boy, macOS runs so blazingly fast now. Every task which used to take a minute or two of me staring at the beach ball previously is now instant. Nice!

Update: Note to self. When rebooting the Mac press the Option key so I am asked which drive to boot from. The NVMe (or any external) disk can sometimes take a while before being recognised and in such case the Mac boots to the fusion drive by default. Also, press Ctrl when selecting the NVMe so it remembers that as the default (not that it matters because I should always press the Option key when rebooting).