Install Windows on the external SSD/HDD for your Mac
I enjoy my MacBook and macOS but sometimes I need to boot up to Windows to play around with some of Windows OS specific tooling. My MacBook’s SSD is too much to invest in the rarity of Windows usage I currently have.
Thus, I’ve decided to set up Windows on an external drive that I could plug-in anytime for the Windows experience without losing the current SSD space on my macOS installation.
Tom Nelson has composed an excellent article on how to use Boot camp on an external drive and my post is a filter of followup comments that worked for me.
Disclaimer
As with every technology out there, I’m expecting my notes to be depreciated at some unforeseen future, but they worked for:
- machine: MacBook Pro 15-inch, 2017
- macOS: macOS Mojave (10.14.2)
- drive: Kingston, SSDNow V300
- VirtualBox: v5.2.22
- Windows ISO: Windows 10 Pro official ISO, October 2018 Update selection.
I’m pretty certain, though, the steps will work on similar variations.
Notes on preparing the external drive
Follow the path of the original article including these changes:
When erasing drive with Disk Utility, make sure to use the GUID Partition Map scheme. The naming of the drive does not matter and as described in the original post, the format must be Windows-recognizable FAT.
GUID Partition Map is used by Intel-based Mac computers and will make sure the drive is recognized and able to boot up.
When setting rawdisk flag for VBoxManage internalcommands createrawvmdk command:
- make sure to use the main identifier of the disk;
- do not use quotes around the -filename attribute value (bootcamp.vmdk).
For example, in my case, diskutil list listed:
GUID Partition Map creates a bit more complicated layout and is visible as the external physical disk /dev/disk2. For the createrawvmdk command I would then use:
sudo VBoxManage internalcommands createrawvmdk -filename bootcamp.vmdk -rawdisk /dev/disk2
Notes on creating the virtual machine (VM) under VirtualBox
Follow the path of the original article including these changes:
Under Settings ->System check the “Enable EFI (special OSes only)”.
Enabling EFI is required due to the usage of the GUID Partition Map and VM needs to know it is been used.
Potentially optional: Under Settings -> Storage choose the main root controller and check the “Use Host I/O Cache” as enabled.
Optionality disclaimer: I’m not sure if it is specific to the drive I’m using but I was starting to have errors when starting the Windows installation within the VM. This check improved the process and I was able to continue.
Notes on installing Windows on via the VirtualBox
Follow the path of the original article including these changes:
When EFI Shell is prompted then Windows ISO, attached to the VMs storage controller, must be booted as DVD/CDROM.
If this is the case, wait until you see EFI Shell presented and enter exit.
Next, the interactive menu is presented. Choose Boot Manager.
From there, choose EFI DVD/CDROM.
Now Windows installation ISO is run and the installation process starts.
Cleanup
After successful installation, as the last step, make sure to free up the space taken by the VirtualBox. One of the main goals of using the external drive for Windows installation is not to waste your storage on the macOS system. Thus, make sure to:
- remove the VM installation in the VirtualBox;
- delete the bootcamp.vmdk file that was created by the createrawvmdk command;
- optionally, if VirtualBox is not used anymore, remove the application itself from the macOS.
Enjoy!