MacOS – Boot Camp won’t work: why don’t I have disk0s0 or disk0s1 partitions

bootcampdiskutilhard drivemacospartition

I'm trying to use Boot Camp after resolving a partition mess. I've gotten back to a single partition after receiving the The startup disk cannot be partitioned or restored to a single partition. message from Boot Camp Assistant, so I figure it should be happy, but I'm still getting the same message.

my-MBP:~ uname$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *750.2 GB   disk0
   1:                  Apple_HFS Macintosh HD            749.8 GB   disk0s2
/dev/disk2 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            Boot Camp              +1.4 GB     disk2

For no great reason, I'm guessing that even if there's only one partition, if it's not in the first spot(?) Boot Camp Assistant isn't happy. Is this reasonable? Any ideas to get Boot Camp working?

edit:

my-MBP:~ uname$ diskutil cs list
No CoreStorage logical volume groups found

edit:

Since it looks like i messed with the EFI partition, i looked at this question. I can't figure out how to make the answer apply to me, but here's some more output:

my-MBP:~ uname$ sudo gpt -r show disk0
Password:
       start        size  index  contents
           0           1         PMBR
           1           1         Pri GPT header
           2          32         Pri GPT table
          34      409606         
      409640  1464477344      1  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
  1464886984      262151         
  1465149135          32         Sec GPT table
  1465149167           1         Sec GPT header

Can i maybe use the 409606 block to remake EFI? Looks like it's the right size but isn't a partition?


OS X 10.11.2
MacBook Pro 13-inch, Late 2011
2.8 GHz Intel Core i7
750 GB SATA Disk Toshiba MK7559GSXF

Best Answer

I can hardly imagine someone will have a similar problem, but if they do:

Seems like Bootcamp wants to see an EFI partition. Once again, here was the gpt show output from above:

my-MBP:~ uname$ sudo gpt show disk0
       start        size  index  contents
           0           1         PMBR
           1           1         Pri GPT header
           2          32         Pri GPT table
          34      409606         
      409640  1464477344      1  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
  1464886984      262151         
  1465149135          32         Sec GPT table
  1465149167           1         Sec GPT header

As per the details in this question, i learned that the EFI partition should start at 40 with a size of 409600. To mess with disk0 (for me, the current and only disk), i booted in internet recovery by holding ⌘-R, unmounted disk0 with

diskutil unmountDisk disk0

then re-added by EFI partition using

sudo gpt add -b 40 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk0

I removed the -i 1 bit (setting the partition index to 1) for fear of messing with the main partition (which had itself moved to index 1). Here's the man page for gpt.

(The above apple.stackexchange answer describes how to reformat the EFI partition. I didn't do that and haven't run into any trouble so far. Maybe i'll regret it.)

To fix the incorrect indices, i followed Rod Smith's instructions here. It's all pretty clear, but briefly:

  1. Download and install the package.
  2. Run gdisk /dev/disk0 (or whatever disk you're working with)
  3. type ? to get to the main menu
  4. typed s to sort the indices, then w to write the changes

No more Bootcamp errors. Hooray!