Theoretically everything is fine with your Fusion Drive. Fusion Drives look like this. Disk0 is your SSD with 121 GB and disk1 is your HDD with ~1 TB (~1.121 TB summed up).
The larger parts of your SSD (disk0s2) and your HDD (disk1s2) are pooled to a CoreStorage LVG (Fusion Drive: disk3) with a size of 967.8 GB. The rest is reserved for EFIs, a Recovery HD (alltogether ~1.3 GB) and your old Windows partition - now probably free space (~152 GB).
The logical volume 'Macintosh HD' (967.8 GB) spans disk0s2 and disk1s2. This is the first 'Macintosh HD' in picture 1. The volume 'Macintosh HD' - it's the one visible on the desktop - should ideally also have about 967.8 GB. This is the second 'Macintosh HD' in picture 1.
In fact it has only 852.67 GB (see picture 3).
In the second picture the logical volume 'Macintosh HD' is the first listed in black, the volume 'Macintosh HD' is the second listed in black, the other two 'Macintosh HD's listed in grey are the parts of your SSD and HDD dedicated to the logical volume 'Macintosh HD'.
In my opinion something went wrong after deleting various partitions with the Bootcamp Assistant/Disk Utility or in Windows.
Preparation:
- Detach any external drive (especially your external Time Machine backup drive)
Restart to Internet Recovery Mode by pressing alt cmd R at startup.
The prerequisites are the latest firmware update installed, either ethernet or WLAN (WPA/WPA2) and a router with DHCP activated.
On a 50 Mbps-line it takes about 4 min (presenting a small animated globe) to boot into a recovery netboot image which usually is loaded from an apple/akamai server.
I recommend ethernet because it's more reliable. If you are restricted to WIFI and the boot process fails, just restart your Mac until you succeed booting.
Alternatively you may start from a bootable installer thumb drive (preferably Mavericks or Yosemite) or a thumb drive containing a full system (preferably Mavericks or Yosemite).
Now you may either repair CoreStorage or rebuild your Fusion Drive:
'Repair CoreStorage' (not recommended):
First i would try to check the volume 'Macintosh HD' with Disk Utility.
If the volume is corrupted consider a reinstall of Mac OS X.
If the volume is ok quit Disk Utility
- Open Terminal and enter
diskutil unmountDisk /dev/LVIdentifier
and both diskutil unmountDisk /dev/DiskContainingApple_CoreStorageIdentifier
In your case: first diskutil unmountDisk /dev/disk3
then diskutil unmountDisk /dev/disk0
and diskutil unmountDisk /dev/disk1
- remove the EFI NO NAME partition with
gpt remove -i IndexNumberOfEFINoName DiskIdentifier
:
gpt remove -i 4 disk1
- Remount the CoreStorage disks and then the Logical Volume:
In your case: first diskutil mountDisk /dev/disk0
and diskutil mountDisk /dev/disk1
and then diskutil mount /dev/disk3
.
enter gpt -r -vvv show /dev/diskIdentfierOfApple_CoreStorage
to get infos of your HDD CoreStorage disk.
In your case: gpt -r -vvv show /dev/disk1
It should look like this:
-bash-3.2# gpt -r -vvv show /dev/disk1
gpt show: /dev/disk1: mediasize=1000204886016; sectorsize=512; blocks=1953525168
gpt show: /dev/disk1: PMBR at sector 0
gpt show: /dev/disk1: Pri GPT at sector 1
gpt show: /dev/disk1: GPT partition: type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B, start=40, size=409600
gpt show: /dev/disk1: GPT partition: type=53746F72-6167-11AA-AA11-00306543ECAC, start=409640, size=1671210848
gpt show: /dev/disk1: GPT partition: type=426F6F74-0000-11AA-AA11-00306543ECAC, start=1671620488, size=1269760
gpt show: /dev/disk1: Sec GPT at sector 1953525167
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 1671210848 2 GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
1671620488 1269760 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
1672890248 280634887
1953525135 32 Sec GPT table
1953525167 1 Sec GPT header
The free space on your HDD has 280634887 blocks. Please calculate the biggest block number dividable through 8. That's 280634880 blocks (á 512 bytes) which equals 143685058560 B or ~143.7 GB.
Add the size of your HDD CoreStorage Physical Volume (852666400768 B)
The result is 143685058560 B + 852666400768 B = 996351459328 B
- Resize your HDD CoreStorage physical volume with
diskutil cs resizeDisk HDDPVUUID newsize
In your case: diskutil cs resizeDisk 93892BE8-2B7F-4ABD-A4C3-984495DCD98D 996351459328b
- Calculate the maximal size of your CoreStorage Logical Volume in
diskutil cs list
: (size disk0s2) + (size disk1s2)
In your case that's 120988852224 B + 996351459328 B = 1117340311552 B. That should be the size of your refreshed Logical Volume Group.
- Resize your Logical Volume with
diskutil cs resizeVolume LVUUID LVGSize-128 MB
In your case that's diskutil cs resizeVolume D237FFDC-7DA4-41D7-AC13-4CC7E5E8C0A0 1117212311552b
. If you get an error (There is not enough free space...) choose a smaller size like 1117148311552b.
- Quit Terminal and open Disk Utility.
- Check your expanded CoreStorage Volume for errors.
- Quit Disk Utility, choose your CS volume as startup disk and restart your Mac
'Rebuild Fusion Drive' (recommended if you have a Time Machine backup)
- Booted to Internet Recovery Mode open Utilities → Terminal in the menubar and enter:
diskutil cs list
to get the CoreStorage listing.
- Copy the Logical Volume UUID, it's the fifth listed.
- Now delete the Logical Volume with
diskutil cs deleteVolume LVUUID
.
In your case: diskutil cs deleteVolume D237FFDC-7DA4-41D7-AC13-4CC7E5E8C0A0
.
- Copy the Logical Volume Group UUID, it's the first listed in the listing of
diskutil cs list
.
- Then delete the Logical Volume Group with
diskutil cs delete LVGUUID
.
In your case: diskutil cs delete 1EFE58BC-3613-44C4-86EE-D816F3B66E3E
- Enter exit and quit 'Terminal'
- Open 'Disk Utility'. Enter 'Ignore' if you are asked to fix the drives.
Choose your SSD and partition it: 1 Partition Mac OS X Extended (Journaled),
hit the Options button and choose GUID Partiton table and hit OK and Apply.
Please check that the size is ~121 GB
Example:
Choose your HDD and partition it: 1 Partition Mac OS X Extended (Journaled),
hit the Options button and choose GUID Partiton table and hit OK and Apply.
Please check that the size is ~1 TB
Example:
Quit Disk Utility and open Terminal
Enter diskutil list
Example (your disk identifiers and sizes are different of course: Your volume SSD probably has the Identifier disk0s2 and the size 121 GB and your volume HDD probably has the Identifier disk1s2 and the size 1.0 TB):
Enter diskutil cs create "Name" IdentifierSSD IdentifierHDD
In your case probably diskutil cs create "Macintosh HD" disk0s2 disk1s2
.
Copy the resulting LVGUUID
Example:
Enter diskutil cs CreateVolume LVGUUID jhfs+ "Macintosh HD" 100%
.
Example:
Enter diskutil cs list
Check the size of your Logical Volume. It should have the size ~1.121 TB
Example:
Quit Terminal
- Open 'Disk Utility' and check your newly created volume for errors
- Quit 'Disk Utility'
- Attach your external Time Machine backup drive or check this answer if you use NAS or another network share.
- Open 'Restore from Time Machine Backup'
- Choose the appropriate Time Machine backup and restore your system
- Reboot to your restored system.
- Unmount and detach your Time Machine backup drive
- Open 'Terminal' and enter 'diskutil list'
- Check if your 'Recovery HD' is listed.
- If your 'Recovery HD' is missing, usually reinstalling your current system with the latest available system installer (e.g. 'Install OS X Mavericks (10.9.5)' if Mavericks is currently installed) will recreate it without loosing any data. AFAIK Recovery Partition Creator 3.8 will NOT create a Recovery HD on CoreStorage volumes.
- After reinstalling the system with the latest available system installer open
App Store
and install the latest security fixes.
Update 1
I do not believe there is a way to keep OS X from updating the MBR table. It would appear that OS X relies on partition entries appearing in ascending order in the GPT. Also, OS X desires the index of each MBR partition entry to be the same as the partition entry in the GPT. Occasionally, when OS X finds a discrepancy, it will make a correction.
Users have found tools, such as gdisk, that allow editing of the MBR table. This will allow GPT entries with indices greater than 4 to appear in the MBR table. Fixes of this type are temporary since OS X may erase them at any time. Furthermore, El Captain (OS X 10.11), with SIP turned on (the default), will not let gdisk
change the MBR table. Rod Smith has recently published changes to rEFInd which allow SIP to be turned on/off at boot time.
Since you refer to a Hybrid GPT for use with Windows, I will assume you have a Mac dated before 2012. My Mac is a 2007 iMac. I have run Vista in 32 mode and Windows 7, 8, 8.1 and 10 in 64 bit mode. These installs were not from upgrades, but rather clean installs into freshly formatted partitions. In each case, the Device Manager showed all devices working properly after installing the Boot Camp Support Software. Also, no version of the Boot Camp Assistant was used to install Windows. However, due to the limitations of my Macs firmware, I am required to install Windows in BIOS/MBR mode.
Along with Windows and OS X, I have also installed 64 bit Ubuntu Linux. Since Windows needs to be installed in BIOS/MBR mode, I decided to install Ubuntu in EFI/GPT mode. Also, to aid in choosing an operating system at startup, I install rEFInd in its own partition.
So how many partitions does that make my Computer? Let's count.
- 1 EFI partition FAT formatted.
- 2 Windows partitions NTFS formatted. (Sometimes I two different Windows installed)
- 1 Fat formatted partition for data.
- 1 OS X partition HFS+ formatted. ( I do not use Core Storage)
- 1 OS X recovery partition HFS+ formatted
- 1 HFS+ formatted partition (Sometimes I have an older OS X installed
here)
- 2 partitions needed for Ubuntu (currently empty, Ubuntu was installed)
- 1 small HFS+ partition for rEFInd.
Since only Windows is required to use a BIOS/MBR scheme, it made sense to put all FAT and NTFS partitions first on my main drive. To do the same on a different computer depends on what equipment and software is available. In my case, I have 2 TB of external storage, a WinClone license, and a 40 MB/sec internet connection. I can boot OS X from the external storage which gives me the ability to image backup part or all of my internal disk and repartition as needed.
Original Answer
Well, the answer would seem obvious.
Put the Windows and data partitions before the OS X and Linux partitions.
I did this on my 2007 iMac and I have eliminated the problems you are having.
The easiest way to accomplish this is to install OS X on an external drive and boot from this drive. You then can repartition your internal drive. Then install OS X on the internal drive, followed by the other operating systems. This is what I did.
To explain what other installation options are available, I would need to know the model/year of your Mac.
Best Answer
The problem is not that you don't have an MBR. The problem is that an MBR can only have 4 partition entries. On an out-of-the-box fresh install of OS X, you'd be using 3 of those partition entries already; one for the EFI partition, one for the Mac HFS partition, and one for the recovery partition. That leaves only one MBR slot available for the Boot Camp Assistant to work with in order to install Windows.
In your situation, you have an additional Data partition called "Additional Storage" that is taking up the 4th slot. Since your Windows partition is the 5th partition on the disk, the MBR cannot handle this, nor does the Boot Camp Assistant know what to do in this scenario, so it refuses to work.
The solution is to manually use
fdisk
to make your partition table look like this:What I have done here is used the sector numbers from your output of the
gpt
command to show you what your MBR partition table should look like. If you look closely, I have omitted the recovery partition from the table (since it's generally useless and you'd likely want to access your Additional Storage partition while running Windows).To make these changes, use
fdisk -e /dev/disk0
to enterfdisk
in interactive mode. You can issue a?
command to get a list of the available commands you'll need to do the modifications.Also, when
fdisk
asks you if you want to edit in CHS mode, say no. Don't worry about thecyl/hd/sec
values. They won't have the same numbers for you as they do in my table above, but it doesn't matter.A few words of warning here:
This layout is horribly unsupported by both Apple and Windows. Having the GPT and MBR partition tables disagree with each other is an error as far as OS X is concerned, and there is a 650MB gap between partitions 2 and 3 as far as Windows is concerned.