Warning: Following this process verbatim will wipe all data off your Mac. Do a Time Machine backup before starting.
Update: Using 'Internet Recovery' will normally fix anything that goes wrong with this process and will return your Mac to factory default
Update: Various people asked about variants on this process, for example when you have a 3TB HDD but no SSD - check the comments for the responses
This howto is for people who receive the Boot Camp Assistant error "Boot Camp does not support installing Windows on this Mac." - "Boot Camp does not currently support installing Windows on a Mac with a 3 TB hard drive."
The problem with installing Boot Camp on a 3TB Mac is due to the way the Boot Camp Assistant works, and the way the Mac EFI boots up Windows. The BCA normally makes some space at the end of the "disk" (either Fusion or normal) by shrinking the HFS+ partition, and then creates a FAT32 partition at the end you can install Windows into. The problem is that when the EFI boots up a Windows operating system it exposes an MBR-style partition to Windows by mapping the GUID partitions into the MBR space. The two issues with this are first that the FAT32 partition at the end would be in the 5th position (and MBR only supports four partitions) and second that the FAT32 partition ends beyond the 2TB boundary, which is also not possible with MBR.
My solution was to delete all the existing partitions, repartition the 3TB drive so that the FAT32 one is at position 3 (so that's good for the MBR) and starts and ends within the 2TB limit, and then to recreate the Fusion Drive using the rest of the disk.
Here is the process:
Ideally, create a Mountain Lion 10.8.2 USB install drive (http://osxdaily.com/2012/02/17/make-bootable-os-x-10-8-mountain-lion-usb-install-drive/) However for some reason I wasn't able to get this to boot, kept getting that 'no entry' symbol. So actually I used the 'OS X Recovery Disk Assistant' (http://support.apple.com/kb/DL1433) in the end and installed the Mac OS over the Internet.
Create a Windows 8 USB install drive (http://www.microsoftstore.com/store/msstore/html/pbPage.Help_Win7_usbdvd_dwnTool) Note that if you have a problem booting from the stick with a BOOT/BCD error make sure you completely reinitialized the stick using Disk Utility's "Erase" function to create a single FAT32 partition, then try the Win7 USB/DVD tool again.
Get Apple's boot camp drivers (http://www.cafe-encounter.net/p682/download-bootcamp-drivers), extract and copy to the Windows USB stick
Plug MacOS install/recovery stick into iMac. Reboot iMac, hold down Cmd-R to boot from the Recovery USB drive Open Terminal from the Utilities menu.
To delete the existing fusion drive, find the Logical Volume Group and Logical Volume GUIDs
-bash-3.2# diskutil coreStorage list CoreStorage logical volume groups (1 found) +-- Logical Volume Group 80387D15-BBD1-4DC9-9DF3-585CFA84E8E9 ========================================================= +-< Physical Volume 68C6107F-BEFD-4227-8791-AA52DB3D239E | ---------------------------------------------------- +-< Physical Volume 9C805962-1088-45E6-B036-4D5E5FF273CA | ---------------------------------------------------- +-> Logical Volume Family FE6CD53B-0664-4135-906D-56EC2BB745EC ---------------------------------------------------------- +-> Logical Volume 9B2981DC-980A-43F1-80DF-89DF6052A339 ---------------------------------------------------
Using the info above (simplified here), delete the Logical Volume:
-bash-3.2# diskutil coreStorage deleteVolume 9B2981DC-980A-43F1-80DF-89DF6052A339 Started CoreStorage operation on disk3 Macintosh HD Unmounting disk3 Removing Logical Volume from Logical Volume Group Finished CoreStorage operation on disk3 Macintosh HD
and the Logical Volume Group:
-bash-3.2# diskutil coreStorage delete 80387D15-BBD1-4DC9-9DF3-585CFA84E8E9 Started CoreStorage operation Destroying Logical Volume Group Erasing disk0s2 Initialized /dev/rdisk0s2 as a 113 GB HFS Plus volume with a 16384k journal Mounting disk Erasing disk1s2 Initialized /dev/rdisk1s2 as a 3 TB HFS Plus volume with a 229376k journal Mounting disk Finished CoreStorage operation
To repartition for 512GB Boot Camp: (partition list does not include recovery hd, the installer will create this for us)
-bash-3.2# diskutil partitionDisk disk1 2 GPTFormat fat32 BOOTCAMP 512G jhfs+ coreStorage R Started partitioning on disk1 Unmounting disk Creating the partition map Waiting for the disks to reappear Formatting disk1s2 as MS-DOS (FAT32) with name BOOTCAMP 4096 bytes per physical sector /dev/rdisk1s2: 999755328 sectors in 15621177 FAT32 clusters (32768 bytes/cluster) bps=512 spc=64 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=411648 drv=0x80 bsec=999999488 bspf=122048 rdcl=2 infs=1 bkbs=6 Mounting disk Formatting disk1s3 as Mac OS Extended (Journaled) with name coreStorage Initialized /dev/rdisk1s3 as a 2 TB HFS Plus volume with a 196608k journal Mounting disk Finished partitioning on disk1 /dev/disk1 #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *3.0 TB disk1 1: EFI 209.7 MB disk1s1 2: Microsoft Basic Data BOOTCAMP 512.0 GB disk1s2 3: Apple_HFS coreStorage 2.5 TB disk1s3
Recreate the Volume Group:
-bash-3.2# diskutil coreStorage create "Fusion Drive" disk0 disk1s3 Started CoreStorage operation Unmounting disk0 Repartitioning disk0 Unmounting disk Creating the partition map Rediscovering disk0 Adding disk0s2 to Logical Volume Group Unmounting disk1s3 Touching partition type on disk1s3 Adding disk1s3 to Logical Volume Group Creating Core Storage Logical Volume Group Switching disk0s2 to Core Storage Switching disk1s3 to Core Storage Waiting for Logical Volume Group to appear Discovered new Logical Volume Group "2E019D11-B34D-4332-B176-249CE449CB29" Core Storage LVG UUID: 2E019D11-B34D-4332-B176-249CE449CB29 Finished CoreStorage operation
Recreate the Logical Volume using the GUID displayed from the previous command:
-bash-3.2# diskutil coreStorage createVolume 2E019D11-B34D-4332-B176-249CE449CB29 jhfs+ "Macintosh HD" 100% Started CoreStorage operation Waiting for Logical Volume to appear Formatting file system for Logical Volume Initialized /dev/rdisk3 as a 2 TB HFS Plus volume with a 204800k journal Mounting disk Core Storage LV UUID: 209B3BC4-AE74-4258-9ED0-BA16D06DFC62 Core Storage disk: disk3 Finished CoreStorage operation
Exit Terminal, choose to Reinstall OS X, install on Macintosh HD.
After install completed and verified, replace the Mac OS install USB stick with the Windows one, reboot, hold Alt whilst booting and select 'Windows'. (These are Windows 8 instructions, but 7 is similar)
Click 'Next' on the first screen asking you about localization settings, and on the next screen choose "Repair your computer" (if you proceed straight to Setup, it'll claim your partition isn't suitable for installation).
Open a Command Prompt either by selecting "Troubleshoot" and then "Advanced Options" and then "Command Prompt", or by doing Shift-Function-F10.
X:Sources>diskpart Microsoft DiskPart version 6.2.9200 Copyright (C) 1999-2012 Microsoft Corporation. On computer: MININT-H3JEAN1 DISKPART> list volume Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- Volume 0 D BOOTCAMP FAT32 Partition 476 GB Healthy Volume 1 EFI FAT32 Partition 200 MB Healthy Hidden Volume 2 C NTFS Removable 14 GB Healthy
We want to switch around C and D, then format C and make it 'Active'.
DISKPART> select volume 2 Volume 2 is the selected volume. DISKPART> assign letter=e DiskPart successfully assigned the drive letter or mount point. DISKPART> select volume 0 Volume 0 is the selected volume. DISKPART> assign letter=c DiskPart successfully assigned the drive letter or mount point. DISKPART> format fs=ntfs label="BOOTCAMP" quick 100 percent completed DiskPart successfully formatted the volume. DISKPART> active DiskPart marked the current partition as active.
At this point exit out, reboot, and go back into the installer. Now setup will let you install Windows on the "BOOTCAMP" partition. After Setup completes you can install the Boot Camp drivers pack from the USB stick.
That's it. You can boot into Windows by holding 'Alt' on startup, just like normal.