I have a Macbook Pro with retina, Yosemite and 500GB hard drive.
I tried to install Windows using Bootcamp and accidentally deleted a partition, now my Mac cannot boot anymore.
This is the output from sudo gpt -r show disk0
gpt show: disk0: Suspicious MBR at sector 0
start size index contents
0 1 MBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 776617328 2 GPT part - FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
777026968 1269760 3 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
778296728 616
778297344 198807552 4 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
977104896 131
977105027 32 Sec GPT table
977105059 1 Sec GPT header
I only need to make the second partition at index 2 and type FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
to be bootable again. This partition has FileVault 2 enabled.
But right now, I have no clue on what to do.
P/S: I Followed the instruction from @klanomath
Boot from a external hard drive with full Yosemite system
but at the last command to change the partition type
sudo gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0
It got this error:
gpt add: /dev/disk0: Suspicious MBR at sector 0
gpt add: /dev/disk0: error: no space available on device
This is the output from sudo gpt -r show /dev/disk0
gpt show: /dev/disk0: Suspicious MBR at sector 0
start size index contents
0 1 MBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 776617328 2 MBR part 218
777026968 1269760 3 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
778296728 616
778297344 198807552 4 MBR part 175
977104896 131
977105027 32 Sec GPT table
977105059 1 Sec GPT header
Progress:
I have executed command sudo gpt destroy /dev/disk0
But when I tried to add the first partition back using this command sudo gpt add -b 40 -s 409600 -i 1 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0
I got this error straight away
gpt add: /dev/disk0: Suspicious MBR at sector 0
gpt add: /dev/disk0: error: no primary GPT header; run create or recover
Now the command sudo gpt -r show /dev/disk0
gives me this
gpt show: /dev/disk0: Suspicious MBR at sector 0
start size index contents
0 1 MBR
1 409639
409640 776617328 2 MBR part 218
777026968 1269760 3 MBR part 175
778296728 616
778297344 198807552 4 MBR part 175
977104896 164
Progress 2:
I executed sudo gpt create /dev/disk0
and got this error:
gpt create: /dev/disk0: Suspicious MBR at sector 0
gpt create: /dev/disk0: error: device contains a MBR
and I executed this command sudo fdisk -i -a hfs /dev/disk0
to write new MBR
and executed sudo gpt create /dev/disk0
again but got the same error gpt create: /dev/disk0: error: device contains a MBR
Now sudo gpt -r show /dev/disk0
gives me this
start size index contents
0 1 MBR
1 62
63 977104997 1 MBR part 175
Progress 3 and final 😀
Firstly a big thank to @klanomath, without the help, I couldn't go this far.
I executed this command sudo gpt create -fp /dev/disk0
And this command sudo gpt recover /dev/disk0
to get the secondary GPT header
After that, I executed sudo gdisk /dev/disk0
and the disk is mounted and functions properly
Best Answer
The content type of the second partition is wrong. Instead of
FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
it has to be53746F72-6167-11AA-AA11-00306543ECAC
.To edit the content type you have to boot to Internet Recovery Mode and use
gpt
. Additionally the fourth partition will be removed (probably the "deleted" partition). Please check that it doesn't contain any data!Preparation:
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 Yosemite or El Capitan) or a thumb drive containing a full system (preferably Yosemite or El Capitan). If you boot to a full system and login as admin you have to prepend
sudo
to execute special commands likegpt ...
!Remove the fourth partition and change the content type of the second partition
Booted to Internet Recovery Mode open Utilities → Terminal in the menubar and enter:
diskutil list
to get the disk identifiers. Below I assume that your main disk has the disk identifiers disk0.First you have to remove the fourth partition (only do that if it is really empty!):
To delete a partition with
gpt
the disk has to be unmounted:Then you have to change the content type of the second partition:
In your case:
exit
and quit TerminalAddendum: Removing the stubborn MBR
You can either use
fdisk
orgpt
to remove the MBR at block 0. If you use an admin user prependsudo
using thegpt ....
commands.First get an overview again. This step is important before you destroy the gpt, because it's the source to rebuild it from scratch:
Then delete the gpt:
Create a new GUID partition table:
Finally add all partitions one by one:
Hint: You may add and remove partitions in an arbitrary order if you keep the right index number. In the above commands I added the third partition (
... -i 3 ...
) before adding the second partition (... -i 2 ...
). You don't have to unmount disk0 then because the partitions i=1 and i=3 don't contain auto-mounted volumes while the second partition does.I missed to detect the wrong partition type of your Recovery HD (the third partition with the index number 3) in the first part of my answer. Therefore I used:
above instead of the wrong
to re-add it.
If you still get errors, tackle the MBR with
fdisk
. If you use an admin user prependsudo
using thefdisk ...
commands.:and add the gpt entries with
gpt ...
outlined above.Resizing the main volume to fill the whole disk
Finally you probably want to resize the main volume to fill the whole disk.
Get an overview with:
You may have several CoreStorage Logical Volume Groups, if you boot from an external drive with a full system! Use the proper one!
Resize the whole stack:
Booted to Yosemite you can use
0g
for the size to expand it. 0g is a "magical" size here.Booted to El Capitan you have to use a real size like
500g
. If you get an error use a slightly smaller size like499g
or499500m
.