https://gist.github.com/oznu/8796d08d73315483c3b26e79a8e3d350
Apple has released support for bootcamping Windows 10, but only on 2012 Macs and later. Despite not being supported. it is possible to install Windows 10 on earlier iMacs and it seems to run quite well.
IMPORTANT: Unplug all external and physical hard drives (where possible) that you won't be installing to to avoid accidentally erasing them. Also make note of which drives and partitions remain (e.g. System and Storage hard drives), and be super careful to not erase the wrong one.
RECOVERY: If you nuke your machine, restore your time machine backup. Instructions here.
- A mid-2011 iMac or similar running OSX El Capitan
- An 8GB or larger USB drive
- An ISO containing Windows 10 (I used Windows 10 Enterprise)
- 50GB free disk space, 100GB recommended
El Capitan ships with a new OS X feature: System Integrity Protection (SIP), also known as "rootless" mode. This reduces the attack surface for malware that relies on modifying system files by preventing any user, whether with system administrator ("root") privileges or not from modifying a number of operating system directories and files.
It is necessary to disable OSX's System Integrity Protection so you can modify the Bootcamp Utility in the next step.
- Restart your Mac.
- Before OS X starts up, hold down Command-R and keep it held down until you see an Apple icon and a progress bar. Release. This boots you into Recovery.
- From the Utilities menu, select Terminal.
- At the prompt type exactly the following and then press Return:
csrutil disable
- Terminal should display a message that SIP was disabled.
- From the menu, select Restart.
Once you have finished installing Windows you should enable SIP again by following the same steps but run csrutil enable
instead.
For some reason Apple decided that if your Mac has an optical drive, there could be no reason you need to Bootcamp off a USB. If you're like me, you haven't touched an optical disk in a few years and prefer the ease and speed of using a USB flash drive instead.
- Find out your Macs Model Identifier and Boot ROM Version:
- Open Terminal and run
system_profiler SPHardwareDataType
. Note down the values. - My mid-2011's Model Identifier was "iMac12,2" and the Boot ROM Version was "IM121.0047.B23".
- Open terminal and navigate to /Applications/Utilities/Boot Camp Assistant.app/Contents
- Change directory:
cd /Applications/Utilities/Boot Camp Assistant.app/Contents
- Show files in directory:
ls
- The file we are going to edit is the Info.plist file.
- Make a backup of this file by running:
sudo cp Info.plist Info.plist.bak
- You will need to enter your OSX user account password.
- If you get the error saying cp: Info.plist.bak: Operation not permitted, SIP is still enabled, please refer to step 1.
- Open the Info.plist in your favorite text editor, to keep this guide simple, I'll use nano.
sudo nano Info.plist
- You want to edit FOUR things:
- Add your Boot ROM Version to DARequiredROMVersions
- Delete the word "Pre" from UEFIModels and add your Model Identifier
- Delete the word "Pre" from USBBootSupportedModels and add your Model Identifier
- Remove your model from Win7OnlyModels (if it's there)
- Close and save the file by pressing
Ctrl+x
followed byy
on your keyboard. - The last step is to do a code sign. Boot Camp Assitant will not run if it's been edited. You need to resign it. Open Terminal (use spotlight to find it) and type this:
sudo codesign -fs - /Applications/Utilities/Boot\ Camp\ Assistant.app —-deep
- It will probably ask for your password. Then it will say you need to download a developer tool from Apple. Agree to download it. (You don't need to install the whole X-Code, if it asks.) Once its been installed (it's automatic), you need to go BACK to Terminal and run that command again. This time it will work.
This download will contain the Windows drivers you will need to run Windows on your Mac. Windows 10 will install and run without them but not very well and a lot of hardware either won't work, or won't work very well until you install the drivers.
- Open Boot Camp Assistant from Applications -> Utilities
- Click continue at the introduction, if you completed step 2 correctly, you should see three options.
- Create a Windows 7 or later version install disk
- Download the latest Windows support software from Apple
- Install Windows 7 or later version
- Choose none of three options, instead:
- From the Actions menu select Download Windows Support Software
- Select your Macs Desktop or Downloads folder as the destination for the download
- The download is 1.35GB so may take a few minutes
- Navigate inside the downloaded folder and delete any ATI and NVIDIA folders from it
- Download the latest and greatest ATI and NVIDIA drivers from their respective websites. For ATI you have to select "Mac Graphics" -> and then pick the graphics driver for your Mac (e.g. for iMac mid-2011)
Method#1 (DO NOT USE THIS METHOD IF YOUR WINDOWS .ISO IS THE WINDOWS10_ISO_OCTOBER_2018 ONE - IT WONT WORK OPT FOR METHOD#2)
- Open Boot Camp Assistant from Applications -> Utilities
- Click continue at the introduction, and check the box in Create a Windows 7 or later version install disk. Ensure no other boxes are checked and click continue.
- If you have not already done so, insert the USB flash drive you want to burn the Windows 10 image to. Remember that any data on the USB drive you select will be erased.
- Continue the wizard, selecting the Windows 10 ISO file when prompted.
- After completing the wizard you will have your bootable Windows 10 installer USB.
- Copy the folder you downloaded in in Step 3 containing the Bootcamp Windows Support Software to root of USB flash drive.
Method#2 (WORKS EVEN IF YOU HAVE WINDOWS10_ISO_OCTOBER_2018)
- Use Rufus / UNetbootin - you are done
- Remove the network cable from your Mac (THIS IS IMPORTANT - OTHERWISE WINDOWS WILL AUTOINSTALL THE GRAPHICS DRIVER FOR ATI AND OTHER STUFF AS WELL AND IT MAY CAUSE ISSUES)
- Reboot your Mac with the bootable Windows 10 Installer USB plugged in.
- Before OS X starts up, just after you hear the startup sound, repeatedly press and hold down the Option (or Alt key if your using a Windows keyboard) for a second or two until you see the boot selection options.
- You should see an option to boot from a USB device labelled "EFI Boot", choose this one.
- Once the Installer loads press Shift + F10 and on the command prompt type the following:
diskpart select disk 0 clean convert gpt
System partition:
create partition efi size=2048 format quick fs=fat32 label="System" assign letter="S"
Microsoft Reserved (MSR) partition create partition msr size=1024
Windows partition create partition primary size=308200
Create space for the recovery tools shrink minimum=1000 format quick fs=ntfs label="Windows" assign letter="W"
create partition primary format quick fs=ntfs label="Recovery tools" assign letter="R" set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac" gpt attributes=0x8000000000000001 list volume exit
- The Windows 10 installation will now start, follow the steps, selecting Custom Installation.
- When asked to format the disk click the "New" button and type the following number on the textbox "307800" then press Apply -> OK on the dialog that will pop up -> Next
- Windows will restart 4 or so times during installation. Be ready to hold down the Options / Alt key after each reboot, but instead of selecting the USB device named "EFI Boot" select the newly created hard disk labelled the "EFI Boot" instead to ensure the installation continues smoothly. This is the same method you will use to choose between booting into OSX or booting into Windows once setup is complete.
- If you want to have 2 keyboard layouts make sure that you add them during installation (US-International + Your country's keyboard layout). Windows Update will be disable for good once windows installation is complete so you won't be able to add keyboad layouts from within windows (sucks but it's the truth)
- Finish installing Windows until you get to the desktop.
The Bootcamp Windows Support Software should be on the Windows 10 installer USB you created earlier.
- Open Services.msc and disable the following services:
- Background Intelligent Transfer Service (BITS)
- Windows Update Service
This is important because if you allow windows to auto-download and auto-update the OS (after having installed the October2018 ISO) the entire OS will blow itself up -completely- upon attempting to install the very first Windows Cumulative Update. This will force you to re-install the entire OS from scratch (guh)
- Open Windows Explorer and go to the USB drive
- Install the Broadcom NetXtreme driver, Atheros Wifi driver
- Install the ATI Graphics Driver from the Legacy section of bootcampdrivers.com
- Reboot the machine
- Once you get back to the desktop open WindowsSupport -> Bootcamp -> setup.exe This will install all the required drivers and the bootcamp utility for Windows.
- Install MacsFanControl
- Install all other apps:
- Samsung Magician
- Nvidia Drivers (if you have an nvidia eGPU)
- MSI Afterburner (if you have an NVidia go with MSI's utility and whatever you do stay away from EVGA's app because it's too poorly written and it will hog your machine's resources)
- SharpKeys
- AutoHotKey
- Process Hacker
- Vlc
- Antivirus (you will need a third party AV since you won't be able to use Windows Update!)
- Chrome
- Logitech Gaming Mouse software
- WoW (remember to run scan+repair if you copy the files over from another machine)
- Tweak windows to optimise performance:
- Search Reddit for: "[GUIDE] How to make windows 10 less intrusive and faster 2019/2020/2021/" You will find a couple of zips there. Download them, read their README files and run them (they take some time to complete - be patient)
- Disable notifications
- Disable unneeded services
- Elevate WoW.exe priority + have it run with admin privileges + set it as a gaming app with high priority
See Step 1.
The drivers installed as part of the Bootcamp Windows Support Software work well, WiFi, Graphics, External Monitors, Webcams and Bluetooth are all working. Audio was the only immediately noticable issue, though strangely the audio provided through my 2008 Apple Cinema display works without issue.
There’s no way around this one at the time of this writing other than reverting the Windows installation back to BIOS emulation (which defeats the purpose here)