X

Send us a Topic or Tip

Have a suggestion for the blog? Perhaps a topic you'd like us to write about? If so, we'd love to hear from you! Fancy yourself a writer and have a tech tip, handy computer trick, or "how to" to share? Let us know what you'd like to contribute!

Thanks for reaching out!

How to Use Boot Camp on an External Drive to Run Windows on a Mac

Boot Camp Assistant Icon

Boot Camp and Boot Camp Assistant allow you to install Windows on your Mac. It’s a nice capability that lets you select – at boot time – which operating system you wish to use: macOS or Windows.

One of the downsides to Boot Camp and the Windows installer is that it restricts you to only installing Windows on your Mac’s internal drive. While Boot Camp Assistant can partition your startup drive for you to make room for Windows, there are bound to be many of you who just don’t have room to spare on your startup drive to install Windows.

Installing Windows on an external drive would be a great solution to the problem of available space, but as we said, Boot Camp and Windows impose a restriction on installing to an external drive.

Or do they?

There are actually a few ways you can successfully install Windows on an external drive. They range from creating clones of an existing PC installation or using Microsoft IT tools for installing Windows. But the method we’re going to outline here is a bit different. It allows you to install Windows on an external drive without first having Windows installed on a PC or in a virtual environment.

This is an advanced process with quite a few pitfalls that can trip you up. Be sure to read through the process before undertaking it. Also, make sure you have a current backup before beginning.


What You Need to Install Boot Camp on an External Drive

  • 4 GB or larger USB flash drive.
  • Bootable external drive. We’re using a USB 3.0 drive, but a Thunderbolt drive should work as well.
  • Boot Camp Windows Support Software.
  • VirtualBox virtualization app (available for free).
  • A licensed copy of Windows 10 ISO or an install DVD.
  • Wired keyboard and mouse. During the Windows installation, the drivers for Apple wireless keyboards and mice aren’t installed until the very end of the process. If you’re not using a portable Mac with a built-in keyboard and trackpad, you’ll need a wired keyboard and mouse to complete the installation.

Prepare the External Drive for Installing Windows

The external drive that you’ll install Windows on needs to be prepared by erasing and formatting the drive for use with Windows.

Warning: The erase, format, and partitioning process will delete all data currently contained on the external drive.

  1. Ensure the external drive is connected to your Mac.
  2. Launch Disk Utility, located at /Applications/Utilities.
  3. In the Disk Utility sidebar, select the external drive that will be used for Windows. The device will likely have the name of the external enclosure’s manufacturer listed. Do not select the volume located just underneath the device name.
  4. Click the Erase button in the Disk Utility toolbar.
  5. Use the dropdown menu to set the Scheme to “Master Boot Record.”
  6. Use the dropdown menu to set the Format to “MS-DOS (FAT).”
  7. You can use any name you wish (up to 8 characters), but we suggest naming the external WIN10.
  8. Click the Erase button.

The external drive will be formatted and a single MS-DOS (FAT) volume will be created.


Prepare the USB Flash Drive for the Windows Support Software

The USB flash drive needs to be formatted to accept the Windows software that Boot Camp Assistant will download and install.

Screenshot of flash drive formatting window
The flash drive needs to be formatted for use on Windows

Warning: The process of preparing the USB flash drive will delete any data contained on the flash drive.

  1. Make sure the USB flash drive is connected to your Mac.
  2. Launch Disk Utility, located at /Applications/Utilities.
  3. In the Disk Utility sidebar, select the USB flash drive device. The device will likely have the name of the USB flash drive manufacturer listed. Do not select the volume located just underneath the device name.
  4. Click the Erase button in the Disk Utility toolbar.
  5. Use the dropdown menu to set the Scheme to “Master Boot Record.”
  6. Use the dropdown menu to set the Format to “MS-DOS (FAT).”
  7. You can leave the Name field as is.
  8. Click the Erase button.

The USB flash drive will be formatted and a single MS-DOS (FAT) volume will be created.


Download Boot Camp Windows Drivers

We only need Boot Camp Assistant for its ability to download all of the Windows drivers we’ll need to ensure the install of Windows will run correctly on Mac hardware. We won’t be using Boot Camp Assistant to partition a drive or step us through the install process.

Screenshot of boot camp assistant
The latest version of the Apple drivers that Boot Camp needs can be downloaded using Boot Camp Assistant.
  1. Launch Boot Camp Assistant, located at /Applications/Utilities.
  2. In the Boot Camp Assistant window that opens, click the Continue button.
  3. In the Select Tasks window, remove checkmarks from “Create a Windows 7 or later version install disk” and “Install Windows 7 or later version.” Ensure the checkbox labeled “Download the latest Windows support software from Apple” is checked, and then click Continue.
  4. Select the device you wish to have the Windows support files installed on; this should be the USB flash drive you prepared earlier. After making your selection, click Continue.
  5. Boot Camp Assistant will download and install the needed Windows support software on the selected device.
  6. Once the install is nearly complete, you’ll be asked to provide your administrator password so the Boot Camp Assistant can change the file permissions on the USB flash drive. Provide your administrator password, and click Continue.

The Windows support software has been installed on the USB flash drive.


Use VirtualBox to Install Windows on the External Drive

This is the tricky part of the process, at least in the sense that we’re going to trick Boot Camp and the Windows installer into thinking your external drive is actually your main internal drive, or in the parlance of Windows, your C: drive.

You could perform this tricky bit of virtualization using Parallels or VMware Fusion, but we’re going to use VirtualBox because it’s free. You can download the app from the VirtualBox website.

Once you download and install VirtualBox, we’re ready to begin the installation process.

Most of the virtualization trickery will be performed from within Terminal, so go ahead and launch Terminal, located at /Applications/Utilities.

Screenshot of diskutl command
You can find the external drive by looking for the name, type, or if this is your only external, by the location [external, physical]
  1. With the external drive you formatted for installing Windows on connected to your Mac, enter the following Terminal command without the quotation marks: “diskutil list” and then press enter or return.
  2. A list of all attached disks will be displayed in Terminal. Scroll through the list and locate the external drive you plan on using to install Windows. If you followed our suggestion earlier, it will be named WIN10 and be of the type DOS_FAT_32.
  3. Once you locate the external drive, make a note of its Identifier. The Identifier appears in the last column and will have the format of the word “disk” followed by a number. In our case, the identifier is disk4.
  4. Now that we know the disk identifier, we need to eject the disk so it’s no longer connected logically to the Mac (it will still be connected physically).
  5. Locate the WIN10 disk on your Desktop or in the Finder window sidebar.
  6. Right-click on the WIN10 disk and select Eject from the popup menu.

Use VirtualBox to Map the External Drive to a VirtualBox Disk

The next step in the process is to map the external drive to a VirtualBox disk.

  1. In Terminal, enter the following without the quotation marks: “sudo VBoxManage internalcommands createrawvmdk -filename “bootcamp.vmdk” -rawdisk /dev/disk4″
    Note: Be sure to replace /dev/disk4 with the actual disk number you found from the disk identifier, and then press enter or return.
  2. At the Terminal prompt, enter your administrator password, and then press enter or return.

The bootcamp.vmdk virtual disk will be created in your home folder.


Create a VirtualBox Virtual Machine for Windows

We will use VirtualBox to install Windows 10 to our external drive. We can do this because in the previous step, we mapped the external drive to a VirtualBox virtualized disk.

Virtual Box VM
The Windows VM you create uses a virtualized connection to your external drive.

In order for VirtualBox to be able to access the external drive, we need to launch VirtualBox with elevated permissions. Once again, we turn to Terminal.

  1. Enter the following at the Terminal prompt without the quotation marks: “sudo /Applications/VirtualBox.app/Contents/MacOS/VirtualBox” Press enter or return.
  2. If asked, supply your administrator password, and then press enter or return.
  3. VirtualBox will open.
  4. In the VirtualBox window, click on the New button in the toolbar.
  5. In the sheet that drops down, enter a Name for the installation; we suggest WIN10.
  6. Set the Type to Microsoft Windows.
  7. Set the Version to Windows 10 (64-bit).
  8. Click the Continue button.
  9. Accept the default memory size, and click Continue.
  10. In the Hard Disk sheet, select Use an existing virtual hard disk file.
  11. Just below the option to use an existing virtual hard disk file is a dropdown menu for selecting a file to use. You may notice the menu is empty or does not contain the virtual disk file we created earlier. Click the folder icon just to the right of the dropdown menu. This will allow you to browse to the bootcamp.vmdk file, which is located in your home folder. Select the bootcamp.vmdk file, click the Open button and then click the Create button.
  12. VirtualBox has created a virtual environment for us to install Windows 10 in that will actually perform the install on the external drive. The next step is to mount the Windows 10 ISO you downloaded earlier from Microsoft.
  13. In VirtualBox, select the Windows 10 virtual machine, and then locate the Optical Drive. This is usually located in the Storage section of the virtual machine. Click the Optical Drive item and select Choose Disk Image.
  14. Browse to where you downloaded the Windows 10 ISO.
  15. Select the Windows 10 ISO, then click open.

Install Windows on Your External Drive Via VirtualBox

  1. Start the installation process by clicking the Start button in the VirtualBox toolbox.
  2. The Windows 10 installation will start. Follow the onscreen instructions until you come to the Windows Setup screen with the heading “Which type of installation do you want?”
  3. Select the “Custom: Install Windows only (advanced)” option.
  4. The Windows setup will display the currently available drives and partitions that Windows can be installed on. Because the external hard drive has been assigned to the VirtualBox machine, it is the only drive that will be listed.
  5. When we used Disk Utility to format the drive, we chose MS-DOS (FAT), which is incompatible with Windows 10. We did this because Disk Utility can’t format with NTSF, but the Windows installer would recognize MS-DOS. All we need to do now is change the drive’s format to NTSF.
  6. Select the drive, and then click the Format button.
  7. Wait until the format is complete (the Next button will become available), and then click Next.
  8. The Windows installation will start, with files being copied to the external drive.
  9. Warning: An extremely important step follows…
    When you see the message “Windows needs to restart” immediately shut down the virtual machine by clicking on the red close button on the window. Select “Power off the machine” from the list of options, and then click OK to power off the virtual machine.
Windows 10 Install
Windows Setup will install the needed files to your external drive. Be sure to prevent Windows Setup from automatically restarting.

At this point, the Windows installer has copied all the files to the external drive, and has set up a boot environment that you can start your Mac from. Next time you boot from the external drive, Windows will complete the installation process.


Restart Your Mac With the External Windows Drive

  1. Close any apps you may have open, then restart your Mac.
  2. Hold down the Option key during the restart. This will cause the Mac’s Startup Manager to display a list of drives you can start from. Use the arrow keys on your keyboard to select the Windows drive.
  3. Your Mac will boot from the external Windows drive. The bootup process can take a while, so be patient.
  4. Windows will finish the install process. At some point during the installation, Windows will restart your Mac. When it does, your Mac will restart with the normal Mac OS. You need to be present to hold down the Option key and select Windows to start from.
  5. Windows will finish the installation and present you with the Windows desktop.

Getting Apple Hardware Working Under Windows

The USB flash drive you used earlier to make the Windows Support software contains all the drivers you need to install in Windows for the Apple hardware to work.

Boot Camp Setup screen
To complete the Windows installation, run the Boot Camp Setup app to install the needed Apple drivers.
  1. Make sure the USB flash drive is connected to your Mac.
  2. Click on the Windows Start button and select File Explorer.
  3. In the File Explorer sidebar, select the USB flash drive, it will probably have a D or E drive letter assigned to it.
  4. Open the Boot Camp folder
  5. Run the Setup app inside the Boot Camp folder.
  6. Follow the on-screen instructions to install the Boot Camp drivers.

Once the installation completes, all your Apple hardware, including wireless keyboards and mice, should be working.


Tom Nelson
the authorTom Nelson
Writer
Tom has been an enthusiastic Mac user since the Mac Plus. He’s also been known to dabble in the dark side, otherwise known as Windows, and has a well-deserved reputation for being able to explain almost anything to anybody. Tom’s background includes more than 30 years as an engineer, programmer, network manager, software tester, software reviewer, database designer, and computer network and systems designer. His online experience includes working as a sysop, forum leader, writer, and software library manager.
Be Sociable, Share This Post!

Leave a Reply

Comment

Name

416 Comments

  • I have been running Windows 10 1904 from an external drive (created via this method) for several months and it works pretty well. Updates to 1904 also work OK, but now I want to update this to the 20H2 version of Windows, but trying to run the installer always gives me the “can’t install on external drive” error. Going to the Windows Update in PC Settings always says my PC is up to date. Has anyone successfully done a major update to the external bootcamp drive?

  • This is a great tutorial, but I am having difficulty mapping the external drive to the VirtualBox disk. My specs and results below:

    MacBookPro – 13″, 2016
    BigSur (11.2.1 (20D74))
    SanDisk Cruzer Glide Media (64GB)

    STEP: Use VirtualBox to Map the External Drive to a VirtualBox Disk:

    COMMAND:
    diskutil list:
    RESULT:
    /dev/disk3 (external, physical):
    #: TYPE NAME SIZE IDENTIFIER
    0: FDisk_partition_scheme *64.0 GB disk3
    1: DOS_FAT_32 ⁨WIN10⁩ 64.0 GB disk3s1

    COMMAND:
    sudo VBoxManage internalcommands createrawvmdk -filename “bootcamp.vmdk” -rawdisk /dev/disk3
    Password:
    RESULT:
    VBoxManage: error: Cannot open the raw disk ‘/dev/disk3’: VERR_FILE_NOT_FOUND
    VBoxManage: error: The raw disk vmdk file was not created

    I went back to the previous step that directed to eject the external drive. After doing that, I checked in Disk Utility and was not able to see the disk. I removed and replaced the disk and it showed in Disk Utility . I unmounted it in Disk Utility and ran the command again. This time it mapped, but mapped to /users/{my name}/bootcamp.vmdk. When I continued to the VirtualBox, I ran into another error.

    STEP: Create a VirtualBox Virtual Machine for Windows
    RESULT: When I said “use and existing virtual hard disk file”, Virtual Box showed no files. I selected “Add” in the upper left corner. There were no files in the WIN10 folder. I navigated to /users/{my name}/bootcamp.vmdk and was given the error:

    Failed to open the disk image file:

    Could not open the medium ‘/Users/pspurgeon/bootcamp.vmdk’.
    VD: error VERR_RESOURCE_BUSY opening image file ‘/Users/{my name}/bootcamp.vmdk’ (VERR_RESOURCE_BUSY).

    Result Code:
    NS_ERROR_FAILURE (0x80004005)
    Component:
    MediumWrap
    Interface:
    IMedium {ad47ad09-787b-44ab-b343-a082a3f2dfb1}
    Callee:
    IVirtualBox {d0a0163f-e254-4e5b-a1f2-011cf991c38d}
    Callee RC:
    VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)

    Now, when I try it, VirtualBox says it can’t create the machine folder WIN10 because it already exists.

    Any one know what the resolution to this might be?

  • Hello!
    I don’t know if my last comment got posted, but I got the problem written in it was fixed, but I encountered another. I went into terminal and put in, ‘sudo VBoxManage internalcommands createrawvmdk -filename bootcamp.vmdk -rawdisk /dev/disk4’ into it, and, after a few times, got the, ‘RAW host disk access VMDK file bootcamp.vmdk created successfully.’ message. I put in, ‘sudo /Applications/VirtualBox.app/Contents/MacOS/VirtualBox’ and this showed up while VirtualBox was opening, ‘DEBUG: issetugid_for_AppKit was called by 0x7fff2b2ab773 /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit::_NSCheckForIllegalSetugidApp+0xb (via 0x7fff2b2ab512)
    DEBUG: issetugid_for_AppKit was called by 0x7fff2b2ab773 /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit::_NSCheckForIllegalSetugidApp+0xb (via 0x7fff2b2cb251)

    When VirtualBox opened, I pressed the new button, named it WIN10, the type was set to Microsoft Windows and the version Windows 10 (64-bit), and then I pressed continue and accepted the default memory size, pressed continue again, chose the Use an existing virtual hard disk file, and pressed the button to the right of the dropdown menu and looked for the file, but nothing showed up. I don’t know what’s goin’ on, but I would appreciate it if someone could give me the solution.

    Thanks,
    J C