This tutorial intends to show the steps to perform a clean install of Windows on an external drive. The obvious advantage of doing this is that you don't use up that precious and limited SSD space on your Mac.
There is some material out there, but sadly not one guide worked 100% on its own for me. Still, they pointed in the right direction and got me to figure a successful method. And as I recently managed to recreate my own process, I decided to write this guide for anyone wanting to do the same.
- A SSD drive (du'h)
- Download Windows 10 ISO (64 bits)
- Download and install Virtual Box OSX (I used 5.2.6)
- Access to a Windows 10 Machine OR create a Windows 10 temporary Virtual Machine
- Download the Windows Support Software (see below)
- External basic USB Keyboard and Mouse
- A 2 Gb+ USB Drive -and/or- a software to write on NTFS disks (personally, I use Tuxera NTFS)
The Windows Support Software is a set of Boot Camp drivers for your specific Macbook hardware. To download this open the Boot Camp Assistant app, go to Action > Download Windows Support Software
. Save that folder on an external USB Drive, as you'll need it later.
This software will let you update the drivers and control the settings of you Macbook hardware, such as trackpad behaviour and gestures, support for the keyboard backlight, etc.
In order to get your SSD ready, we need to erase its content and create the a bootable partition plus another partition where to install Windows.
The following steps have to be performed on a Windows machine (or Virtual Machine).
-
On the Start menu, look for the Command Prompt (or type
cmd.exe
), right click, and select "Run as Administrator" -
Open the DiskPart tool by typing
diskpart
and perform the following commands:list disk
: to list and identify the number of the target diskselect disk #
: to select itclean
: to erase its contentconvert MBR
: to create the Master Boot Record, which sets the data structure of the diskcreate partition primary size=350
: to create the boot partitionformat fs=FAT32 quick
: to perform a quick format with the FAT32 file systemactive
: to set it as an active partitionassign letter=b
to assign a letter to the partition (you can whichever you want, I just use 'b' to remember it's the "boot" partition)
At this point, a new Explorer window will pop-up with the disk unit we just created. Just close it and proceed with the creation of the second partition, where Windows will be installed:
create partition primary
: this time by not specifying the size it uses all the remaining spaceformat fs=ntfs quick
: to format this time with the NTFS file systemassign letter=w
to assign a letter to the partition (again, whichever letter you want)
This is only the first half we have to perform on a Windows machine. After the next step, we'll have to come back here one more time to finalize and activate the boot partition.
There are a number of limitations when it comes to installing Windows, using Boot Camp or even mounting a Virtual Machine on an external drive. Thankfully, there are ways to bypass them and get everything working our way.
diskutil list
diskutil unmountDisk /dev/disk#
VBoxManage internalcommands createrawvmdk -filename "bootcamp.vmdk" -rawdisk /dev/disk#
Start Virtual Box with administrator privileges
sudo /Applications/VirtualBox.app/Contents/MacOS/VirtualBox
Create a Virtual Machine from the disk file created
Load the Virtual Optical Disk Drive with the Windows 10 ISO file
Run the Windows 10 installation Don't let Windows restart!
With Windows almost fully installed, we just need to write the bootable information to the corresponding partition.
The following steps have to be performed on a Windows machine (or Virtual Machine).
-
Initialize again the Command Prompt as an Administrator (right click and select "Run as Administrator")
-
Type
w:\windows\system32\bcdboot w:\windows /f ALL /s b:
to create the boot sectionRemember to replace the
w:
andb:
drive names with the ones you used.If this gives you any problems, try removing the
/f ALL
part.
Now your SSD is ready to boot!!! Let's go back and finish the installation.
Turn down your Macbook, plug in the SSD and press the option (⌥) key to open the boot menu. With the arrow keys, select your Windows drive (EFI boot) and press Enter.
Windows now will finish installing. It might restart again which might result in booting into OS X, but just shut down and press the option key again to select the Windows drive.
It is worth noting that the built-in keyboard and trackpad might not work, but a simple USB keyboard and mouse will be detected and work without any problem.
After the configuration ends, you'll only need to install the Windows Support Software. Plug in the USB drive (alternatively, you can put this folder directly in the SSD drive after step 2, but you'll need an additional software to write in the NTFS drive), extract the contents and follow the instructions.
Now you have Windows 10 running on an external SSD!
Some pieces of advice from issues I've experienced:
- DON'T UNPLUG THE SSD WHILE RUNNING WINDOWS! (this should be obvious, but you can never be too careful)
- Don't close the lid to make your laptop sleep. It seems that the USB ports get disconnected when you do this, because my computer simply restarts when I open it again.
- There might be some issues when trying to update Windows, as it's not installed in an UEFI disk. This is Microsoft's fault, adding weird "security" measures which are mostly a nuisance. There are workarounds, but I still haven't gotten to solve them. I'll post about that as soon as I do!
- Thanks to Hacker Noon for the basic steps on mounting the Virtual Machine to install Windows
- And to BleepToBleep for how to create the boot partition