Switch Windows 8 from a hybrid MBR/GPT => GPT only on Macbook Pro Retina

3

2

I used DiskUtility+Bootcamp Wizard to setup my hard drive for Windows 8 (final MSDN). Somewhere in that process, the Apple tools turned my GPT disk into a hybrid MBR/GPT. All four of my MBR's primary partitions are consumed as follows:

  1. EFI partition
  2. HFS+ partition (=encrypted, therefore ="Apple_CoreStorage")
  3. HFS+ partition (Recovery partition, contains unencrypted Mac bootloader)
  4. NTFS partition (Windows8 all-in-one partition)

So when I try turning on Bitlocker in Windows 8, it complains about not finding a System drive. I know on Windows 8 the Bitlocker setup (via right click disk->turn on bitlocker) tries to create the 200(?)MB system partition if it is missing. However with all 4 partitions filled I suspect it can't create system drive => it can't find it => throws back an error like BitLocker Setup could not find a target system drive. You may need to manually prepare your drive for BitLocker:

enter image description here

I've already tried disabling hibernation, swap file etc. Now I'm thinking that if I were to get rid of the MBR scheme altogether, perhaps I can be alright within the GPT world without MBR's 4 primary partitions limit.

So, how can I get rid of the MBR tables on the hybrid scheme in a manner that still leaves Mac OS and Windows 8 in working conditions?


Details:

Hardware is the MacbookPro Retina.

diskutil list output

sid-mbpr:~ sid$ diskutil list
 /dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:          Apple_CoreStorage                         160.0 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:       Microsoft Basic Data Win8                    90.1 GB    disk0s4

GPT vs MBR addresses

sid-mbpr:~ sid$ sudo gptsync /dev/rdisk0
Password:

Current GPT partition table:
 #      Start LBA      End LBA  Type
 1             40       409639  EFI System (FAT)
 2         409640    312909639  Unknown
 3      312909640    314179175  Mac OS X Boot
 4      314179584    490233855  Basic Data

Current MBR partition table:
 # A    Start LBA      End LBA  Type
 1              1       409639  ee  EFI Protective
 2         409640    312909639  ac  Apple RAID
 3      312909640    314179175  ab  Mac OS X Boot
 4 *    314179584    490233855  07  NTFS/HPFS

Status: GPT partition of type 'Unknown' found, will not touch this disk.**

**: Ignore this message, the gptsync tool is old and doesn't understand the UUID for "Apple_CoreStorage" / FileVault2 partitions. Since LBA addresses are alright, safe to ignore this message.

DeepSpace101

Posted 2012-10-07T08:48:24.677

Reputation: 7 579

I'm sorry if I'm missing something here, but doesn't it make more sense to try to facilitate some actual free space if you're suspecting the error is thrown because no free space is around to use? Seems like messing with the MBR might not do much. – pzkpfw – 2012-10-07T17:40:15.467

To clarify, bitlocker setup does that task as part of 'can't find system partition". It reduces the boot partition, created the system partition and adds the system partition to the MBR. Source: http://support.microsoft.com/kb/933246 (see Preferred order of operations there, MBR partition check is before space check)

– DeepSpace101 – 2012-10-07T17:42:05.227

Answers

1

Not an answer in the strict sense to the specific question. However, as a user I bypassed the need of the answer by converting my Windows 8 system into a virtual machine on the Macbook Pro.

However, I would have tried the following if I hadn't abandoned the original question earlier (to save time!):

  1. Allow Bootcamp to create the Windows7/8 USB bootable disc
  2. Allow Bootcamp to create the 4th partition (as primary)
  3. Boot the Win7/8 media
  4. Delete the bootcamp created bootcamp partition
  5. In the just-created-free space, create 2 extended partitions (one system, one boot)

I'm not 100% sure if the Windows system partition** (1st used during bootup) can be a logical partition or not.

** Per MSFT's naming convention, system partition boots the system and the boot partition contains the system (c:\windows) - go figure!

DeepSpace101

Posted 2012-10-07T08:48:24.677

Reputation: 7 579

2

I know its old news but if anyone else needs a hand regarding removing the Hybrid MBR, you could try gdisk utility.

I was attempting to install Windows 8.1 on my MBP 2011 8,3 using the EFI method last night and the EFI installer would complain at the partitioning step that Windows couldnt be installed onto the partition I wanted as it could see the MBR partitions of the Hybrid MBR/GPT. Windows 8 doesnt try to look for a GPT partition once it finds an MBR one and so as you suggest, it can be removed which will hopefully make the Bitlocker tool happy as well.

This Stack Overflow question advises how to remove the Hybrid MBR. I'll quote the relevant bits from that answer here which is what I did last night to get around Windows 8.1 installer complaining about the hybrid MBR/GPT. Full kudos to Rod Smith for his excellent tool, website and and post.

The solution in this case is to clear the hybrid MBR data. A number of utilities can do this. I'll describe how to do it with my own GPT fdisk (gdisk) utility:

  1. Download GPT fdisk from its Sourceforge page and install it. (Versions are available for Linux, OS X, and Windows. I'll assume you'll do this from OS X.)
  2. Launch gdisk on your disk by typing sudo gdisk /dev/disk1 in a Terminal window. (Change the device identifier if it's not as you presented earlier or if you use another OS for the job.)
  3. Type p to view the partition table to verify you're working on the correct disk. If not, type q to quit without saving your changes and try again with another device.
  4. Type x to enter the experts' menu.
  5. Type n to create a fresh protective MBR. Note that gdisk won't confirm a change; it'll just show you a new experts' prompt.
  6. Type w to save your changes. You'll be asked to confirm this action. Do so.

Some other resources on the gdisk page

neversleepz

Posted 2012-10-07T08:48:24.677

Reputation: 121

1

Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference.

– Canadian Luke – 2014-01-02T17:21:15.030

Thanks @Canadian Luke. Makes sense and edited accordingly – neversleepz – 2014-01-04T04:12:08.867

0

Further to my previous answer, some information specific to BitLocker can also be found on this thread. https://discussions.apple.com/message/24339789#24339789

Basically, in order to work around Microsofts partitioning scheme for BitLocker which must align with the 128MB block sizes, you'll need to make a HFS+ partition that aligns to the start of the next block.

I ended up getting BitLocker working for the Windows partition and FileVault working for the OS X partiion, but I installed Windows first so it could do what it liked and then using 'gpt' created a HFS+ volume. It appears that Disk Utility doesn't like the partition map that Windows creates containing the "Microsoft reserved partition", because its partitions are not separated by 128 MB, see https://developer.apple.com/library/mac/technotes/tn2166/_index.html, so I ended up using gpt to create a HFS+ volume at the end and then used Disk Utility to erase/format it.

neversleepz

Posted 2012-10-07T08:48:24.677

Reputation: 121

Please edit into your previous answer. – kmarsh – 2014-01-04T05:27:52.570

I cant add more links to my previous answer, not enough rep yet. – neversleepz – 2014-01-09T01:14:56.180

0

I had the same issue: changing a MBR-hybrid partition schema to GPT-only on a Macbook Retina (Mid-2012), to enable Bitlocker on a Windows 10 partition

The "GPT fdisk" description above works fine, maybe the following extra information helps someone save some time:

  • if Windows 10 had already been installed while having the hybrid-MBR partition table, switching the partition table to GPT-only might render the Windows installation broken (but the OS X partition and the OS X rescue partition will stay intact). Also the partition table data of Windows 10 will still be usable, just Windows within that partition might not boot any more.

  • easiest way to fix this is by reinstalling Windows 10 after switching the partition table to GPT-only, having a GPT-ready USB installation stick: when self-creating such a stick from a downloaded Win10 ISO, the USB stick installation must match "GPT-only" partition scheme (e.g. created with the Windows tool https://rufus.akeo.ie)

  • Finally after Windows installation, allow Bitlocker to work without TPM-Module: gpedit -> Local Computer Policy -> Computer Configuration \ Administrative Templates \ Windows Components \ Bit Locker Drive Encryption \ Operating System Drives -> enable "Require additional authentication at startup".

then finally Bitlocker can be enabled (Bitlocker then slightly shrinks the Windows partition to create a 5th Bitlocker boot partition).

Alex

Posted 2012-10-07T08:48:24.677

Reputation: 1

Update, some time later: the MacOS does not like such a partition scheme (with 5 partitions, where one of it is a Bitlocker boot partition). As soon as you do a major update of MacOS it will silently delete your Bitlocker boot partition. The Windows partition will still be there, but it is now non trivial difficult to access (as it's encrypted, but can't be bootet due to the missing bitlocker partition). time saving is, to just reinstall Windows. Reparing the Bitlocker partition may require finding time-consuming individual solutions – Alex – 2017-08-19T08:17:03.223