I have a MacBook Pro 13' 2017 with 250GB of storage. The internal SSD has died unfortunately. Occasionally, it will show up and be able to boot from it but leaving the MacBook on sleep for more than an hour or so makes it crash and it refuses to boot then. So, I've since installed MacOS on my external SSD (Samsung T7 Touch 500GB) which works fine. Now, I'd like to also install Windows 10 on that same drive but I'm unsure how I would do that or if it's even possible. The first problem that I encounter, for example, would be that Bootcamp tells me to unplug all external devices before I can run it, which of course I can't because that's where I have my MacOS installed. I've seen this question but I'm not sure how I would go about setting up my partitions as described in one answer.
Be aware, the internal drive is needed to do firmware updates. Currently, firmware updates are included in with certain versions of macOS. This would mean you could end up failing to install a clean version of macOS or have a failure while running a routine update to macOS.
I do not know for sure why the internal drive is needed for firmware updates. On my HP PC, a firmware update is performed by first copying the update file to the FAT32 formatted internal EFI partition, then the firmware is asked to update itself. The firmware then reads the update file from the internal EFI partition. I assume this is also true for Macs, but I do not know for sure.
An exception to have a working internal drive for firmware updates may exist by using an external Thunderbolt 3 drive (such as the Samsung X5). On a 2018 Mac mini, the Samsung X5 shows up as
disk0 and the internal drive appears as
disk1. Also, both drives appear as NVMe drives.
Otherwise, macOS can be installed on an USB external drive. The Boot Camp assistant can not be used to install Windows on a external drive. Installing windows manually can not be done on an external USB drive by just using the Windows installer GUI. However, Windows 10 can be installed on an external drive by using the Windows 10 CLI. In other words, you can open a Command Prompt window while running the Windows 10 GUI installer and enter commands to install Windows 10 on an internal or external drive.
The basic steps for installing Windows 10 on an external drive are are as follows:
- Use MacOS to create space for Windows 10. The
diskutilcommand is usually more reliable than the Disk Utility application.
- Use the Boot Camp Assistant to download the Windows Support Software. This contains the Windows 10 drivers.
- Use macOS to create the Windows 10 installer. You will need a Windows 10 ISO file. Usually the contents of the ISO file is this placed on an ExFAT formatted flash drive. This flash drive should include a copy of the Windows Support Software.
- Boot from the Windows 10 GUI installer on the USB flash drive.
- Open a Command Prompt window and install a bootable Windows 10. The three basic commands needed are given below.
diskpart: This command is used to edit and format the partitions.
dism: The command copies the Windows 10 image to the external drive and installs Windows 10 drivers from the Windows Support Software to the Windows store on the external drive.
bcdboot: This command installs the Windows 10 boot files to the EFI partition. Usually, this is the EFI partition on the external drive.
- Boot to Windows 10 and follow the instructions.
- Run the
Setup.exeapplication included with the Windows Support Software.
Running macOS from external drives is easy and supported by Apple in firmware, software and testing.
Running Windows on an external drive via boot camp is the opposite. It is not so easy or vendor documented / supported / tested by Apple.
That being said, it’s a very common request, so here is that thread of some awesome custom setups to attempt this in your case if you want to give it a shot.