Contributor(s): Peter Esser

iMac - Install Dual Boot Windows on old upgraded iMac

I recently decided to install Windows 10 on my iMac as a secondary OS. Turns out, this is more difficult than just inserting a DVD and hit install since I upgraded my mid-2011 iMac with an external SSD as the main operating system.

This is a guide on "How to install Windows 10 on an old upgraded iMac".

Outline

  1. Pre-Requirements
  2. Deactivate System Integrity Protection
  3. Boot on old OS
  4. Download necessary files
  5. Create partition
  6. Setup partition table
  7. Setup VirtualBox
  8. Install Windows
  9. Start Windows
  10. Install Windows drivers
  11. Activate SIP
  12. Related links

Pre-Requirements

  • Upgraded iMac mid 2011 - I previously upgraded my iMac with an external SSD to make it faster. This guide will work on many other platforms (presumingly) but I couldn't verify which systems. Let me know if it worked on your particular setup.
  • At least 40Gb storage on your external SSD - That space will be used for the Windows installation.
  • USB Stick with at least 8Gb - We will copy the windows drivers onto there. You could use this one here: SanDisk Ultra 32GB *

Deactivate System Integrity Protection

El Capitan's System Integrity Protection is a new feature which prevents even the administrators to overwrite or modify any system files. Thus, this feature is essential for increasing system security on the operating system. Hence, please make sure to re-enable this feature as soon as you are done with this guide.

  1. Restart your iMac.
  2. Hold down Command-R until you see a progress bar.
  3. In the top menu, select Utilities and than Terminal.
  4. Type in csrutil disable (Terminal should say that SIP is disabled).
  5. From the Apple menu, restart your iMac
  6. (Make sure that you reenable that feature after you are done with this guide using csrutil enable).

Boot on old OS

Since we want to install Windows 10 on the SSD (to make it run faster) and we have to modify the SSD partitions to do so, we have to start using the old installation of the OS (which you should have kept). If you don't have the OS installation on the HDD anymore, this guide might work with some slight modifications but I cannot guarantee.

  1. Restart your iMac
  2. Hold the Command key
  3. Select your HDD as the boot device

Download necessary files

We will need those programs and files in order to set up Windows 10. We will use VirtualBox as a way to start the Windows installation on the SSD (on a separate partition). This partition will be modified using GPT fdisk. We will use the ISO file for the installation and in order to install the iMac specific drivers, we have to download those from Apple using BootCamp.

  1. Download Windows 10
  2. Download drivers for Windows 10
    • Start the BootCamp program installed under Application -> Utilities
    • From the menu, select Actions -> Download Windows Support Software (If this step fails please consult Step 2 and 3 of this guide)
    • Copy all its content onto a USB-Stick (formatted for Windows).
  3. Download and install GPT fdisk (The installation might prompt an unsigned app. Right click on the file and hit open.)
  4. Download and install VirtualBox (only for installing; can be deleted afterward.)

Create partition

We are preparing the SSD by splitting the filesystem that is currently installed (i.e. the MacOS) into two, one for MacOS and one for Windows. To do so, we have to reduce the size of the MacOS system, since we can not have two operating systems on one partition.

  1. Start Disk Utilities from Applications -> Utilities
  2. Choose the SSD where you want to install Windows on (not the partition on that drive).
  3. Click the button called "Partition"
  4. Click the little + button underneath the cake chart
  5. Resize the new partition to at least 40Gb (better is 60Gb) (Make sure you have enough free space on the SSD)
  6. Rename the new partition to BOOTCAMP
  7. Select FAT as the format.
  8. Click Apply (will take about a minute).

Setup partition table

Windows installations require a GUID Partition Table (GPT) in order to be installed on a hard drive with EFI boot (what we want). Thus, we want to convert our hybrid MBR back to a GPT disk partition. That is where we use the GPT fdisk tool.

  1. Open the terminal (Applications -> Utilities)
  2. Run diskutil list and find our BOOTCAMP partition. Remember the disk number found under the identifier (i.e. disk1s1 -> disk1).
  3. Run sudo gdisk /dev/disk0 but instead of disk0 use the disk part from the previous step
  4. You will have to enter your password (you will not see that you are typing). Submit using Enter.
  5. Type p and submit with Enter. Verify that the BOOTCAMP partition is listed (Else hit CTRL+C and restart from 2.).
  6. Type x + Enter to start expert mode.
  7. Type n + Enter to create a GPT. (The program will print nothing...)
  8. Type w + Enter to write this change.
  9. Close the terminal

Setup VirtualBox

In order to install Windows to the SSD (which is not the main hard drive of your system), we have to use a virtual environment. We will use VirtualBox since it is free to use. However, before VirtualBox can write to our SSD, we have to eject all the partitions from the SSD card (do so by right-clicking them).

  1. Open terminal (Application -> Utilities)
  2. Run diskutil list and search for the BOOTCAMP partition and remember the disk on which it is (disk1 in my case).
  3. Create a virtual disk using this command: sudo VBoxManage internalcommands createrawvmdk -filename “bootcamp.vmdk” -rawdisk /dev/disk1 where you have to replace disk1 with your actual disk.
  4. Enter your password and submit using Enter. (If this step failed with a "Resource busy" error, you didn't eject all partitions from that external device).
  5. Start VirtualBox using this command: sudo /Applications/VirtualBox.app/Contents/MacOS/VirtualBox which will open the program.
  6. Click the "New" button in the toolbar
  7. Enter a name like "Win10" and set the type to "Microsoft Windows" with version "Windows 10 (64-bit) and continue.
  8. Accept the default memory size (is only used for the installation and not for running Windows 10).
  9. In the Hard Disk prompt, select "Use existing virtual hard disk file" and select the file you created called "bootcamp.vmdk" (located under your home folder).
  10. Click "create".
  11. Under "Storage" you see "SATA Port 0: bootcamp.vmdk". Click add and select the Windows 10 ISO file you have downloaded earlier.

Install Windows

Now it is finally time to install Windows. But you might have already expected it will not be as straight forward as a normal Windows installation.

  1. Start the VirtualBox instance you've created beforehand
  2. Follow the Windows installation until you can select "Custom: Install Windows only (advanced)"
  3. You will see a list of all partitions on your machine. Select the "BOOTCAMP" partition.
  4. Since this partition is not in NTFS format, we have to format it Do not delete this partition. Just format it.
  5. After this formatting is done, hit Next.
  6. Windows is installing!
  7. When the message "Windows needs to restart" appears: You have to kill the VirtualBox by closing the window it is in and then "Power off".

At this point, you have successfully installed Windows and all that is left to do is to install the drivers (which will be as simple as executing a setup file).

Start Windows

In order to boot to your second operating system (in fact the third one: twice MacOS and once Windows) you have to restart your mac and start the boot menu:

  1. Shut down your machine.
  2. Turn on your iMac and immediately hold down the Option key.
  3. Select the BOOTCAMP partition
  4. Proceed with the Windows installation (wireless mice and keyboards won't work until we have installed the drivers in the next step...)

Note: this can take a little while...

Install Windows drivers

Installing the drivers is as simple as installing the software that you already loaded onto the USB-Stick:

  1. Open Windows Explorer (if you have a wired keyboard press Win+E or for an Apple keyboard layout Command + E).
  2. Navigate to your USB-Stick
  3. Open the folder called "Windows Support Software" and then "BootCamp".
  4. Execute the "Setup.exe" file

You have successfully installed Windows under your iMac. Please don't forget to activate the SIP again:

Activate SIP

See the first section of this guide.

Many thanks to the following articles that helped me to put this article together:

Reference 1: Tom Nelson. "Tech Tip: How to Use Boot Camp on an External Drive". Internet: https://blog.macsales.com/40947-tech-tip-how-to-use-boot-camp-on-an-external-drive, May 9, 2017 [Jan. 31, 2019].

Reference 2: Github user OZNU. "How to Install / Bootcamp Windows 10 on a mid-2011 iMac using USB". Internet: https://gist.github.com/oznu/8796d08d73315483c3b26e79a8e3d350, Apr. 4, 2016 [Jan. 31, 2019].


* Everything followed by a star (*) is a link from the Amazon Partner program. This program allows me to earn a little bit of money if you buy a product after clicking this link. Note that this does not effect the price of the product, so you have no disadvantage using this link. Learn more here!