When I purchased my MacBook Pro I setup BootCamp to run Windows 10 from an external SSD drive. I wrote up the details here: https://blog.brettski.com/2015/11/08/booting-a-macbook-pro-to-windows-using-an-external-ssd/ at the time.
What escapes me is why other MBP's cannot boot from this drive. If I connect the SSD to an identical MBP, hold down Option and start, the external drive is not an option to boot from. It works fine from the computer it was created on.
Does anyone know what may keep other computers from being able to use this drive as a boot drive?
Partition information:
brettskiworkmbp:~ brettski$ diskutil list
/dev/disk0 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *256.1 GB disk0
1: Microsoft Reserved 16.8 MB disk0s1
2: Microsoft Basic Data Win10 BC 255.6 GB disk0s2
3: Windows Recovery 471.9 MB disk0s3
/dev/disk1 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.3 GB disk1
1: EFI EFI 209.7 MB disk1s1
2: Apple_APFS Container disk2 500.1 GB disk1s2
/dev/disk2 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +500.1 GB disk2
Physical Store disk1s2
1: APFS Volume Main 383.0 GB disk2s1
2: APFS Volume Preboot 48.5 MB disk2s2
3: APFS Volume Recovery 517.0 MB disk2s3
4: APFS Volume VM 1.1 GB disk2s4
Best Answer
You do not have an EFI partition on the external drive. This would prohibit booting Windows on a different Mac. I expect that when you installed Windows, the boot files were placed in the EFI partition of the internal drive.
One possible solution would be to start over. This time make sure the external drive is correctly partitioned. The rules for partitioning are given in the Microsoft document UEFI/GPT-based hard drive partitions. If you are using the October 2018 Windows 10 release (1809), then I would recommend a WRE size of 800 MB.
Another possible solution would be to shrink your windows partition and add an EFI partition to the external drive. This is best done while booted to the Window Recovery Environment. (Hold down the shift key when rebooting Windows). After adding a EFI partition, you would then enter the commands to create the boot files in this partition. The command that actually creates the boot files is called bcdboot.
Below is a Windows installation similar to yours. This was setup in VirtualBox. The size of the drives and partitions are different, but the commands you would need to enter should close to what is shown.
The commands shown below were entered into a Command Prompt window after booting to the Windows Recovery Environment. These command create a bootable EFI partition at the end of the Windows disk. Also, the Windows boot files are removed from the original EFI partition.
After booting back to Windows, I noticed the Windows Recovery Environment did not work properly. Below are the commands entered in a Administrator Command Prompt window which fixed the problem.
If you have any questions, post a comment.