Boot into Recovery Mode (Reboot and press cmd+R).
- Utilities menu > Terminal > Type:
# csrutil disable - Reboot normally
Download and install GPT fdisk from https://sourceforge.net/projects/gptfdisk/
Find Bootcamp partition location
# diskutil list
Run gdisk
# sudo gdisk /dev/disk0
# Command (? for help): v
Warning! Mismatched GPT and MBR partition! MBR partition 4, of type 0x07, has no corresponding GPT partition! You may continue, but this condition might cause data loss in the future!
Identified 1 problems!
Next, display the MBR partition table and make note of the start and end sectors for your BOOTCAMP partition.
- Command (? for help): r
- Recovery/transformation command (? for help): o
This should be partition 4 unless you’ve added additional partition(s), which is not officially supported by Boot Camp. It should show something like this:
Disk size is 1953525168 sectors (931.5 GiB)
MBR disk identifier: 0x7C170CB2
MBR partitions:
Number Boot Start Sector End Sector Status Code
1 1 409639 primary 0xEE
2 409640 975693095 primary 0xAF
3 975693096 976962631 primary 0xAB
4 * 976963584 1952806911 primary 0x07
Next, display the GPT partition table information:
- Recovery/transformation command (? for help): m
- Command (? for help): p
Number Start (sector) End (sector) Size Code Name
1 40 409639 200.0 MiB EF00 EFI System Partition
2 409640 975693095 465.1 GiB AF00 Customer
3 975693096 976962631 619.9 MiB AB00 Recovery HD
4 976963584 1953523711 465.7 GiB 0700 BOOTCAMP
Compare the start and end sectors for partition 4 to the MBR partition 4 start and end sectors. Most likely the start sectors will match, but the end sectors will be different.
The correct one should be 1952806911 but not 1953523711
Next, delete the GPT partition 4. (Note: this does not delete the actual partition from disk. It only deletes gdisk’s in-memory representation of the GPT).
- Command (? for help): d
- Partition number (1-4): 4
Now, create a new partition 4 using the start and end sector values from the MBR partition 4:
- Command (? for help): n
- Partition number (4-128, default 4): 4
- First sector (34-1953525134, default = 976962632) or {+-}size{KMGTP}: 976963584
- Last sector (976963584-1953525134, default = 1953525134) or {+-}size{KMGTP}: 1952806911
- Hex code or GUID (L to show codes, Enter = AF00): 0700
- Changed type of partition to ‘Microsoft basic data’
Now, change the name of the new partition 4 to BOOTCAMP:
- Command (? for help): c
- Partition number (1-4): 4
- Enter name: BOOTCAMP
Run the verify command. It should report no problems. If it still reports a problem, quit (q command) and start over.
- Command (? for help): v
If everything checks out, write new partition table to disk and exit.
- Command (? for help): w
Reboot and test your dual boot setup to verify all is working correctly.
Boot back into Recovery Mode (cmd+R).
- Utilities menu > Terminal > Type:
# csrutil enable - Reboot normally