MacOS – Recognize externel hard drive as internal

bootcampexternal-diskhard drivemacosterminal

I need my 2018 Mac mini (Mojave) to recognize the external hard drive as an internal one so I can use Bootcamp and install Windows on it.

I tried the answer in "How to let MacBook Pro recognize my external hard drive as internal hard drive?". However, the command dd if=/dev/zero of=/dev/disk2 bs=1 count=1 didn't work for me. I can still eject the hard drive and in Disk Utility it is still listed under "External".

Are there any other options to get my Mac to see my external drive as internal?

Best Answer

It's not so much as recognizing if the drive is internal or not, it's whether it's removable or not. Whether or not a drive is identified as "removable" is dependent on what the firmware of the external drive has set; it's called the Removable Media Bit or RMB for short. Microsoft has a good write up on this.

The removable media device setting is a flag contained within the SCSI Inquiry Data response to the SCSI Inquiry command. Bit 7 of byte 1 (indexed from 0) is the Removable Media Bit (RMB). An RMB set to zero indicates that the device is not a removable media device. An RMB of one indicates that the device is a removable media device.

But wait; those are SCSI devices, not USB! Actually, USB devices are seen as SCSI devices.

So, to do this, you have to "flip the bit" in the USB device's (not your Mac's) controller firmware. Some allow you to do it, some don't.

Flipping the Bit

There are several tools out there for doing this (I only know of the Windows utilities).

Important Note: The procedure is different for different brands of drives and you may brick your external drive as you are writing to the USB controllers firmware.

There are many "Mass Production USB Prep Tools" like Ameco available (that's a search link as I'm not providing any links to this software; use at your own risk) for download. I don't often source quotes from discussion forums, but this one from Hak5: Collection of Production Tools for USB-devices bears repeating:

WARNING : THIS IS NOT FOR NOOBS . USE AT YOUR OWN RISK & RTFM

Don't take that as being new to IT or computers. Take it as if you don't know how or have never manipulated individual bits (1s and 0s) and written them to firmware, this is not for you. I'm not saying you shouldn't try and experiment - I fully encourage you to do so, but you shouldn't do this on a production piece of equipment you paid good money for.

TL;DR

Don't do this. (IMO) It's better to have Windows installed on your genuinely non-removable drive. You don't need much to have a Windows install (I have a VM with only 40GB allocated to it). What you can do is migrate the user profile to the external drive (mine is an iSCSI LUN from a Synology NAS). This will allow you to use minimal space for Bootcamp while allowing you to have as much space as needed for what you need to do with Windows.