Install Windows on the external SSD/HDD for your Mac

Sven Kirsimäe
4 min readDec 29, 2018

--

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.

Choose “GUID Partition Map” from the Scheme drop-down.

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:

  1. make sure to use the main identifier of the disk;
  2. do not use quotes around the -filename attribute value (bootcamp.vmdk).

For example, in my case, diskutil list listed:

Example output of my “diskutil list” command.

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)”.

Enable the EFI for under VM’s system settings.

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.

Enable Host I/O Cache under VM’s storage settings.

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.

Exit EFI Shell

Next, the interactive menu is presented. Choose Boot Manager.

Choose Boot Manager

From there, choose EFI DVD/CDROM.

Choose EFI DVD/CDROM for Windows installation to start.

Now Windows installation ISO is run and the installation process starts.

Windows 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:

  1. remove the VM installation in the VirtualBox;
  2. delete the bootcamp.vmdk file that was created by the createrawvmdk command;
  3. optionally, if VirtualBox is not used anymore, remove the application itself from the macOS.

Enjoy!

Running Windows without reserving any room from your current drive.

--

--