Troubles booting Big Sur from an external disk

The title’s kind of misleading, but I didn’t know what else to put there so …

Also, the events below happened a month ago and I have a very bad memory so a lot of the details are a little fuzzy in my head and could be some recollection errors. :) I don’t think it matters much as this post is more about documenting the experience and what I finally stumbled upon, rather than any troubleshooting steps. 

I have a 21.5″ iMac with one of these Hybrid drives and it’s so slow. I love the device but the slow disk drives me nuts as it’s beachballs all the time! Sometime last year I decided to get a Sabrent 2TB NVMe SSD with a Plugable USBC to NVMe enclosure (this one). The enclosure was from Plugable and I have many other products from them, it had good reviews, the design’s good at dissipating heat… and overall I have been happy with the purchase. When I bought it I was running macOS Catalina on the iMac but I decided to go with Big Sur beta on the NVMe. Daring, I know… external boot plus Big Sur plus beta… what could go wrong? :) Funnily enough nothing wen’t wrong. I don’t remember if I installed Big Sur beta onto it directly or whether I installed Catalina and upgraded (it’s the former I think) but for about 6 months it was beautiful!

Come Jan 2021 by which point I had upgraded to the proper Big Sur release, and again I don’t remember if I had upgraded to 11.1 or not (I think I did)… I was re-arranging my desk and shut down the iMac so I could move it around. When I power it on however it would show me the white Apple logo with the progress bar about 3/4th. Being impatient, I shut it down after a few mins the first few times, but later I even left it overnight as I read on some forums that sometimes this just needs time. Nothing helped – the iMac would stay stuck at that stage always. I changed the USBC to NVMe cable as a I had a spare one, but no luck. If I unplug the NVMe enclosure the iMac would boot fine into the internal HDD. If I then plug the enclosure it detects fine, I can mount the volume etc. no issues.

Frustrated, I tried installing Big Sur freshly onto the NVMe enclosure. It would install fine (although I remember having some trouble doing that too – but that could just be having trouble getting into the recovery mode I think as I have this Sculpt keyboard and kept pressing the wrong key combo; eventually I plugged in the Magic Keyboard but forgot to turn it on (lol!) so that too didn’t work initially until I realized my error). After installing Big Sur and booting it would be stuck on the same Apple logo screen. A couple of times after reinstalling it gave some error message about not being able to boot from that drive but I don’t recollect the exact message.

I gave up eventually as I had to use the iMac and didn’t want to spend more time getting irritated at the situation. Since the internal HDD was running Catalina and I prefer Big Sur over Catalina I reinstalled Big Sur on it and set up all my apps etc. from scratch. Quick lesson I learnt here: I did have Time Machine backups and ideally I should have been able to restore from them but being the secure and paranoid person that I am I had a long complex password on it. I use LastPass (and also BitWarden) and had used it to generate a nice password like “&#Tp16wrDU!7@i3w4OKqSn4zH!@wtd%EiZuuzL@AJ6” and while it’s easy to copy paste that in general when you are trying to type it in the macOS recovery screen so it can restore a Time Machine backup you inevitably go wrong! Some OSes like Windows let you see the password as you are typing, but no such luck with macOS so after doing this (and failing) some 5-6 times I gave up restoring the Time Machine backup. Lesson learnt: next time use a passphrase as those are easier to type (and since I use BitWarden it has a nice password generator which also lets you generate passphrases (online version available here). After reinstalling Big Sur I could use the Time Machine backups to selectively restore some of my files (SSH keys etc. which weren’t stored in iCloud) but I pretty much reinstalled everything else from scratch. Another lesson I learnt was to start storing more of the configs in iCloud if that was an option – for example, iTerm2 stores its config in the Library but there’s an option to store it at a different path, so I changed it to store in iCloud so next time disaster strikes I have the config there rather than rummaging through backups.

Using the iMac with its internal HDD was so painful however, that after a few days I tried to sort things out again. This time I got a trial of Carbon Copy Cloner (excellent software btw; I purchased it eventually) and cloned the internal HDD to the NVMe using that. The clone was successful but after booting I got a circle with a line through it. Aargh!

So it seemed like the NVMe and enclosures were fine but something about them was putting macOS off from booting them. I still didn’t want to work with the internal HDD though, but luckily I had a spare 1TB SSD lying around and a UGreen USB 3.0 enclosure (this one I think) and now that I have Carbon Copy Cloner I figured why not clone the internal HDD onto that and see if it works. Did that, booted into the SSD and boom it does work! Yay.

That was good. At least I don’t have to put up with the slow HDD though. I then setup Carbon Copy Cloner to clone the SSD to my internal HDD every night so even if the SSD fails at some point I have an up to date bootable internal HDD. I was really pissed off earlier in the month when I had to reinstall Big Sur onto the internal HDD so didn’t want to repeat that again.

A few weeks went by using the SSD. And really, it was fine and so fast compared to the internal HDD, but I did have this itch in my head that I paid a lot of money for that 2TB Sabrent NVMe and I’d like to try and use it if possible. I used it as a Time Machine destination for a while but that seemed pointless. I contacted Plugable to see if they had heard of any issues booting off their enclosure. The support person was very helpful but no they hadn’t heard anything, and they don’t actually support using the enclosure as an external boot source (it’s not mentioned anywhere on the website but they don’t also say anywhere that you can use it as a boot source). They know of issues using it as an external boot source with the M1 Macs but hadn’t heard anything with the Intel Macs. I ran one of their debug tools but that didn’t pick any errors either.

While Googling more on this issue (and not getting much results) I had come across this thread where someone mentioned using the ASUS ROG NVMe enclosure and that had better results. Apparently some Macs have an issue with the JMicron controller used in most NVMe enclosures – specifically the JMS583 (the Plugable one I had too uses JMicron as confirmed by their support) – while the ASUS ROG NVMe uses the ASMedia ASM2362 controller (as does Alxum Aluminium enclosure). I checked out both on Amazon – Alxum is about £29 while ASUS ROG is about £48 (the Plugable’s as of today around £31 and was way pricier when I purchased it unfortunately) – but didn’t feel like spending more money on either. Moreover I didn’t like the looks of the Alxum one, it didn’t seem to have the heat sink design of the Plugable so I wasn’t sure if that’s something I wanted to go with. I decided to stick with the SSD for now.

Two days ago, however, I figured f*ck it! let me purchase the ASUS ROG and see how it goes. I got it yesterday and wow is it an amazing looking product. From the Amazon page it looked a bit too flashy (colourful LEDs at the back!) for my taste but when you get the product in hand it’s so beautiful. It’s hard to explain, but even before I used it… just from the packaging itself when I opened it and took this enclosure out I was in love with it. I had purchased it thinking I’ll return if it doesn’t work, but holding it in hand I was like even if it doesn’t work I’ll just keep it as it’s so beautiful. It’s like holding some alien artifact in your hand. Solid, weighty, amazing! I am not the sort who usually drools over some hardware but this was something. (My previous experience with Asus has mostly been with their WiFi routers, and my wife has an Asus laptop with its LEDs and stuff but I haven’t used it much except seen the LEDs; so maybe this is how everyone feels about their Asus gamer devices but this was a first for me).

Anyways, with excitement in my hands I put in the NVMe into the enclosure. Even putting the NVMe into the enclosure was so cool. It’s a spacious enclosure so you know the NVMe has a bit of breathing space. There’s thermal paste inside the enclosure to keep the NVMe cool. And after sliding it in there’s a small screw you use to tighten it in place. You can wrap the enclosure in a rubber casing they provide, and there’s a “R” (for ROG, but obviously they meant Rakhesh – it was designed by the aliens for me). I then cloned from the SSD to the NVMe, rebooted and pressed the Option key (of course I powered on the Magic Keyboard and attached it so there’s no confusion), selected the NVMe… and moment of truth, presto! it worked!!

So it does look like macOS does not like JMicron controllers any more. Or at least here’s one more anectodal experience to add to the rest.

To ensure it contines working I even shutdown the iMac and powered it on (coz remember that’s how I first had the issue). No problemo – it continues to work. (Note: When starting from a powered off state one must remember to attach the Magic Keyboard and press the Option key and select the NVMe coz it looks like the boot process takes a bit to detect it. The internal HDD or external SSD is detected before the external NVMe so those are booted first if you don’t manually intervene).

Finally I am back to where I started. Minus about 50 quid (sad face) but with this cool alien artifact in hand (excited face) and a working NVMe external boot device (happy face!). Yay!

To be safe, I now have two Carbon Copy Cloner tasks. One clones the NVMe to the SSD (coz you know, who knows when macOS decides to have an issue with the ASMedia controllers! I can at least use the SSD to boot then) and the other clones to the internal HDD (in case the SSD too refuses to boot I have this as a last resort). Amazing software, Carbon Copy Cloner.