Bootcamp booting clobbered by Yosemite upgrade

I've enjoyed being able to boot into OSX Mavericks or Windows 8.1 for the past year on my MBP (mid 2012, single 500GB SSD) but I recently performed the Yosemite upgrade. The resulting OSX installation appears to work fine but when I hold down the Option key after the chime the option to boot from Bootcamp Windows is missing. Worse, when I set "Startup Disk" to Bootcamp Windows the result fails.


@Loner T usually requests the following Terminal results so here they are:


Last login: Sun Sep 20 22:09:22 on ttys000

My-MacBook-Pro:~ me$ diskutil list

/dev/disk0

#: TYPE NAME SIZE IDENTIFIER

0: GUID_partition_scheme *512.1 GB disk0

1: EFI EFI 209.7 MB disk0s1

2: Apple_CoreStorage 255.3 GB disk0s2

3: Apple_Boot Recovery HD 650.0 MB disk0s3

4: Microsoft Basic Data BOOTCAMP 255.5 GB disk0s4

/dev/disk1

#: TYPE NAME SIZE IDENTIFIER

0: Apple_HFS Macintosh HD *254.9 GB disk1

Logical Volume on disk0s2

F6545BAB-5B31-4838-A188-C59D210B12FB

Unencrypted



==========


My-MacBook-Pro:~ me$ diskutil cs list

CoreStorage logical volume groups (1 found)

|

+-- Logical Volume Group B8FA8874-F8C3-4EC1-8F53-0F555EDFC166

=========================================================

Name: Macintosh HD

Status: Online

Size: 255250432000 B (255.3 GB)

Free Space: 18907136 B (18.9 MB)

|

+-< Physical Volume 84E5E470-49E8-4585-AA1D-397BDEA61A3D

| ----------------------------------------------------

| Index: 0

| Disk: disk0s2

| Status: Online

| Size: 255250432000 B (255.3 GB)

|

+-> Logical Volume Family E409753F-A5B6-4DAC-BF6F-17CE4956E11E

----------------------------------------------------------

Encryption Status: Unlocked

Encryption Type: None

Conversion Status: NoConversion

Conversion Direction: -none-

Has Encrypted Extents: No

Fully Secure: No

Passphrase Required: No

|

+-> Logical Volume F6545BAB-5B31-4838-A188-C59D210B12FB

---------------------------------------------------

Disk: disk1

Status: Online

Size (Total): 254879203328 B (254.9 GB)

Conversion Progress: -none-

Revertible: Yes (no decryption required)

LV Name: Macintosh HD

Volume Name: Macintosh HD

Content Hint: Apple_HFS



==========


My-MacBook-Pro:~ me$ sudo gpt -vv -r show /dev/disk0

Password:


gpt show: /dev/disk0: mediasize=512110190592; sectorsize=512; blocks=1000215216

gpt show: /dev/disk0: PMBR at sector 0

gpt show: /dev/disk0: Pri GPT at sector 1

gpt show: /dev/disk0: Sec GPT at sector 1000215215

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 498536000 2 GPT part - 53746F72-6167-11AA-AA11-00306543ECAC

498945640 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC

500215176 632

500215808 499077120 4 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7

999292928 922255

1000215183 32 Sec GPT table

1000215215 1 Sec GPT header



==========


My-MacBook-Pro:~ me$ sudo fdisk /dev/disk0

Disk: /dev/disk0 geometry: 62260/255/63 [1000215216 sectors]

Signature: 0xAA55

Starting Ending

#: id cyl hd sec - cyl hd sec [ start - size]

------------------------------------------------------------------------

1: EE 1023 254 63 - 1023 254 63 [ 1 - 1000215215] <Unknown ID>

2: 00 0 0 0 - 0 0 0 [ 0 - 0] unused

3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused

4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused



I would appreciate help getting Bootcamp booting again.

Posted on Sep 20, 2015 8:43 PM

Reply
68 replies

Sep 21, 2015 9:39 AM in response to Loner T

Model Identifier: MacBookPro9,1

Last login: Mon Sep 21 11:31:52 on console

My-MacBook-Pro:~ me$ sudo dd if=/dev/rdisk0s4 count=1 2>/dev/null | hexdump -C

Password:

00000000 eb 52 90 4e 54 46 53 20 20 20 20 00 02 08 00 00 |.R.NTFS .....|

00000010 00 00 00 00 00 f8 00 00 3f 00 ff 00 00 b0 d0 1d |........?.......|

00000020 00 00 00 00 80 00 80 00 ff 4f bf 1d 00 00 00 00 |.........O......|

00000030 00 00 0c 00 00 00 00 00 02 00 00 00 00 00 00 00 |................|

00000040 f6 00 00 00 01 00 00 00 6a 35 e9 ee 6e e9 ee a8 |........j5..n...|

00000050 00 00 00 00 fa 33 c0 8e d0 bc 00 7c fb 68 c0 07 |.....3.....|.h..|

00000060 1f 1e 68 66 00 cb 88 16 0e 00 66 81 3e 03 00 4e |..hf......f.>..N|

00000070 54 46 53 75 15 b4 41 bb aa 55 cd 13 72 0c 81 fb |TFSu..A..U..r...|

00000080 55 aa 75 06 f7 c1 01 00 75 03 e9 dd 00 1e 83 ec |U.u.....u.......|

00000090 18 68 1a 00 b4 48 8a 16 0e 00 8b f4 16 1f cd 13 |.h...H..........|

000000a0 9f 83 c4 18 9e 58 1f 72 e1 3b 06 0b 00 75 db a3 |.....X.r.;...u..|

000000b0 0f 00 c1 2e 0f 00 04 1e 5a 33 db b9 00 20 2b c8 |........Z3... +.|

000000c0 66 ff 06 11 00 03 16 0f 00 8e c2 ff 06 16 00 e8 |f...............|

000000d0 4b 00 2b c8 77 ef b8 00 bb cd 1a 66 23 c0 75 2d |K.+.w......f#.u-|

000000e0 66 81 fb 54 43 50 41 75 24 81 f9 02 01 72 1e 16 |f..TCPAu$....r..|

000000f0 68 07 bb 16 68 52 11 16 68 09 00 66 53 66 53 66 |h...hR..h..fSfSf|

00000100 55 16 16 16 68 b8 01 66 61 0e 07 cd 1a 33 c0 bf |U...h..fa....3..|

00000110 0a 13 b9 f6 0c fc f3 aa e9 fe 01 90 90 66 60 1e |.............f`.|

00000120 06 66 a1 11 00 66 03 06 1c 00 1e 66 68 00 00 00 |.f...f.....fh...|

00000130 00 66 50 06 53 68 01 00 68 10 00 b4 42 8a 16 0e |.fP.Sh..h...B...|

00000140 00 16 1f 8b f4 cd 13 66 59 5b 5a 66 59 66 59 1f |.......fY[ZfYfY.|

00000150 0f 82 16 00 66 ff 06 11 00 03 16 0f 00 8e c2 ff |....f...........|

00000160 0e 16 00 75 bc 07 1f 66 61 c3 a1 f6 01 e8 09 00 |...u...fa.......|

00000170 a1 fa 01 e8 03 00 f4 eb fd 8b f0 ac 3c 00 74 09 |............<.t.|

00000180 b4 0e bb 07 00 cd 10 eb f2 c3 0d 0a 41 20 64 69 |............A di|

00000190 73 6b 20 72 65 61 64 20 65 72 72 6f 72 20 6f 63 |sk read error oc|

000001a0 63 75 72 72 65 64 00 0d 0a 42 4f 4f 54 4d 47 52 |curred...BOOTMGR|

000001b0 20 69 73 20 63 6f 6d 70 72 65 73 73 65 64 00 0d | is compressed..|

000001c0 0a 50 72 65 73 73 20 43 74 72 6c 2b 41 6c 74 2b |.Press Ctrl+Alt+|

000001d0 44 65 6c 20 74 6f 20 72 65 73 74 61 72 74 0d 0a |Del to restart..|

000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|

000001f0 00 00 00 00 00 00 8a 01 a7 01 bf 01 00 00 55 aa |..............U.|

00000200

My-MacBook-Pro:~ me$

Sep 22, 2015 2:14 PM in response to trwd

The Apple Technical Support did not look far enough. If you are unable to see Windows in Startup Disk or unable to boot, the Yosemite Recovery Upgrade wiped your MBR. It can be easily recreated. Please download GPT Fdisk from http://sourceforge.net/projects/gptfdisk/ and i will provide the steps.


Your NTFS Bootcamp/Windows has the proper header as shown by the DD command.

Sep 25, 2015 2:04 PM in response to Loner T

Thank you, Loner T. I had to travel the past couple days but am now ready to continue. Before making the changes you recommend I would like to make a backup image of my entire drive. Being a Windows IT person I am intimately familiar with imaging drives using programs like Terabyte Image and other tools, but I cannot find any equivalent tool for a dual-boot Mac that employs Bootcamp. For example, Stellar Disk Clone copies the Bootcamp partition but the resulting Bootcamp partition is not bootable or even NTFS any longer. Do you know of any imaging software that one can boot from a USB drive, clone or image a MBP system like mine, and end up with an actually usable dual-boot system?

Sep 28, 2015 10:46 AM in response to trwd

Disk Utility does not represent this correctly. If you look at your diskutil cs list output,


The LVG "Macintosh HD" is 255GB, Bootcamp is a separate partition, which is another 250+ GB. The GPT command output also reflects the same state. Bootcamp is a NTFS partition/volume, while Macintosh HD is a LVG/LV combination. A LVG can contain more than LV. You should check with CloneZilla . It is unlikely that such tools understand the LVG/LV abstractions.

Sep 28, 2015 12:50 PM in response to Loner T

Thank you again for responding, Loner T. You're amazingly patient and helpful.


In your last reply you wrote,

"It is unlikely that such tools understand the LVG/LV abstractions."


Are you saying that Clonezilla and/or Terabyte's Image for Linux may not understand the LVG/LV abstractions?


The first clone I made using Terabyte's program will not boot, though its partition structure is identical. I disconnected the internal drive to prevent a GUID conflict (clone and original having the same GUID, which causes problems in Windows at least -- don't know about Apple).


Please confirm whether it is feasible to boot a MacBook Pro from an external USB drive when the internal drive is disconnected. (ignoring whether the copy is valid or bootable; just is it possible provided the external drive is a perfect copy of the original?)

Sep 28, 2015 4:30 PM in response to Loner T

Thank you Loner T. Your reply may be a little beyond my understanding but (to confirm) I believe you told me how to see the GUID's on both internal and external drive.


You wrote earlier:


Bootcamp is a NTFS partition/volume, while Macintosh HD is a LVG/LV combination. A LVG can contain more than LV. You should check with CloneZilla . It is unlikely that such tools understand the LVG/LV abstractions.


When I emailed Terabyte (Image for Linux) Support with the news that the external copy did not boot I included the above comment from you. He replied with the following, which is equally beyond my understanding. Perhaps you will understand what he wrote, though. All I was able to deduce is that he's suggesting I try an option that copies all sectors. I wish you could correspond directly with him and arrive at a go/no-go conclusion as to whether Terabyte Image for Linux can make a perfect copy. I think it can but the Devil's in the Details (the settings).


If you are not using standard partitions in the GPT but something like LVM's in Linux, it would copy the GPT partition that is not HFS+ (or a known file system) as raw sector by sector. It won't update anything *outside* the volume/partition area if they keep meta data outside of it.


To test you would simple do the copy using the options, then remove the original (to not cause a conflict which may alter something) and put the copy in its place.


Booting on (U)EFI load ins the kernel loader from the EFI System partition which is responsible for booting the OS. If their using something like LVM's as an option, and data is outside partitions, you'd have to copy the entire drive raw (by enabling the "backup/copy unused sectors" option). That will copy all sectors on the source HD from 0-n to the new drive. If their LVM structure is a bad design like Dynamic Drives in Windows, it's possible it calculates the location it expects metadata based on the hard drive size.


A quick look up finds they call it "corestorage" and can be disabled. The command "diskutil cs revert" is what is used. Once reverted you can do normal things.

Sep 28, 2015 5:41 PM in response to trwd

trwd wrote:


Thank you Loner T. Your reply may be a little beyond my understanding but (to confirm) I believe you told me how to see the GUID's on both internal and external drive.


You wrote earlier:


Bootcamp is a NTFS partition/volume, while Macintosh HD is a LVG/LV combination. A LVG can contain more than LV. You should check with CloneZilla . It is unlikely that such tools understand the LVG/LV abstractions.

A Logical Volume Group is a container for the underlying HFS+ volume. The following indicates that it can be reverted exposing the underlying HFS+ partition/filesystem.

Revertible: Yes (no decryption required)



When I emailed Terabyte (Image for Linux) Support with the news that the external copy did not boot I included the above comment from you. He replied with the following, which is equally beyond my understanding. Perhaps you will understand what he wrote, though. All I was able to deduce is that he's suggesting I try an option that copies all sectors. I wish you could correspond directly with him and arrive at a go/no-go conclusion as to whether Terabyte Image for Linux can make a perfect copy. I think it can but the Devil's in the Details (the settings).


If you are not using standard partitions in the GPT but something like LVM's in Linux, it would copy the GPT partition that is not HFS+ (or a known file system) as raw sector by sector. It won't update anything *outside* the volume/partition area if they keep meta data outside of it.


To test you would simple do the copy using the options, then remove the original (to not cause a conflict which may alter something) and put the copy in its place.


Booting on (U)EFI load ins the kernel loader from the EFI System partition which is responsible for booting the OS. If their using something like LVM's as an option, and data is outside partitions, you'd have to copy the entire drive raw (by enabling the "backup/copy unused sectors" option). That will copy all sectors on the source HD from 0-n to the new drive. If their LVM structure is a bad design like Dynamic Drives in Windows, it's possible it calculates the location it expects metadata based on the hard drive size.


A quick look up finds they call it "corestorage" and can be disabled. The command "diskutil cs revert" is what is used. Once reverted you can do normal things.

At least the person on the other side is aware of what is going on. Please use the following command.


diskutil cs revert F6545BAB-5B31-4838-A188-C59D210B12FB


(The UUID came from your diskutil cs list output). This will expose the underlying JHFS+ volume which is a regular partition on disk. You can clone the disk using Terabyte or at least try and it and test it.

Sep 28, 2015 6:25 PM in response to Loner T

Will doing the following make a change that might be an obstacle to a future upgrade of OSX? It sounds like this will "disable corestorage", which doesn't sound good.

diskutil cs revert F6545BAB-5B31-4838-A188-C59D210B12FB


(The UUID came from your diskutil cs list output). This will expose the underlying JHFS+ volume which is a regular partition on disk. You can clone the disk using Terabyte or at least try and it and test it.

Sep 29, 2015 3:36 AM in response to trwd

Your diskutil cs list command shows the underlying physical volume to be disk0s2.


diskutil cs convert disk0s2


I have included the cs create command to show the initial creation of a CS LVG container from which LVs can be carved out.

diskutil cs convert

Usage: diskutil coreStorage convert

MountPoint|DiskIdentifier|DeviceNode

[-stdinpassphrase | -passphrase [passphrase]]

Convert a regular JHFS+ partition into a CoreStorage logical volume.

The file system must be mounted and resizable (i.e. Journaled HFS+).

Ownership of the affected disk is required.


diskutil cs create

Usage: diskutil coreStorage create lvgName

MountPoint|DiskIdentifier|DeviceNode ...

Create a CoreStorage logical volume group from one or more disks.

The specified disks will become the initial set of PVs.

All existing data on the drive will be lost.

Ownership of the affected disks is required.

Example: diskutil coreStorage create MyLVG disk1

Sep 30, 2015 7:11 AM in response to Loner T

I was able to make what appears to be a perfect clone of the internal SSD to an external USB HDD. I used Terabyte Image for Linux. I'll post how separately. Since both drives have the same GUID I cannot boot from the external USB HDD while the internal SSD is connected.


@Loner T: is it possible to change the GUID(s?) on the external HDD so I can have both connected and boot either one? If so, please tell me how to do this.


Pasted below are the results of the commands you suggested for showing the GUID.


First, the internal SSD:

sudo gdisk -l /dev/disk0

Password:

GPT fdisk (gdisk) version 1.0.0


Warning: Devices opened with shared lock will not have their

partition table automatically reloaded!

Partition table scan:

MBR: protective

BSD: not present

APM: not present

GPT: present


Found valid GPT with protective MBR; using GPT.

Disk /dev/disk0: 1000215216 sectors, 476.9 GiB

Logical sector size: 512 bytes

Disk identifier (GUID): 02445E37-1F51-4E77-91B0-00DEC704C5D7

Partition table holds up to 128 entries

First usable sector is 34, last usable sector is 1000215182

Partitions will be aligned on 8-sector boundaries

Total free space is 922893 sectors (450.6 MiB)


Number Start (sector) End (sector) Size Code Name

1 40 409639 200.0 MiB EF00 EFI System Partition

2 409640 498945639 237.7 GiB AF05 Macintosh HD

3 498945640 500215175 619.9 MiB AB00 Recovery HD

4 500215808 999292927 238.0 GiB 0700 BOOTCAMP


sudo gdisk /dev/disk0

GPT fdisk (gdisk) version 1.0.0


Warning: Devices opened with shared lock will not have their

partition table automatically reloaded!

Partition table scan:

MBR: protective

BSD: not present

APM: not present

GPT: present


Found valid GPT with protective MBR; using GPT.


Command (? for help): p

Disk /dev/disk0: 1000215216 sectors, 476.9 GiB

Logical sector size: 512 bytes

Disk identifier (GUID): 02445E37-1F51-4E77-91B0-00DEC704C5D7

Partition table holds up to 128 entries

First usable sector is 34, last usable sector is 1000215182

Partitions will be aligned on 8-sector boundaries

Total free space is 922893 sectors (450.6 MiB)



Number Start (sector) End (sector) Size Code Name

1 40 409639 200.0 MiB EF00 EFI System Partition

2 409640 498945639 237.7 GiB AF05 Macintosh HD

3 498945640 500215175 619.9 MiB AB00 Recovery HD

4 500215808 999292927 238.0 GiB 0700 BOOTCAMP



Command (? for help): i

Partition number (1-4): 1

Partition GUID code: C12A7328-F81F-11D2-BA4B-00A0C93EC93B (EFI System)

Partition unique GUID: 3F03187B-0E58-402F-A712-F86E70CFA2ED

First sector: 40 (at 20.0 KiB)

Last sector: 409639 (at 200.0 MiB)

Partition size: 409600 sectors (200.0 MiB)

Attribute flags: 0000000000000000

Partition name: 'EFI System Partition'



Now, the external USB HDD:

sudo gdisk -l /dev/disk2

GPT fdisk (gdisk) version 1.0.0


Warning: Devices opened with shared lock will not have their

partition table automatically reloaded!

Partition table scan:

MBR: protective

BSD: not present

APM: not present

GPT: present


Found valid GPT with protective MBR; using GPT.

Disk /dev/disk2: 2930277168 sectors, 1.4 TiB

Logical sector size: 512 bytes

Disk identifier (GUID): 02445E37-1F51-4E77-91B0-00DEC704C5D7

Partition table holds up to 128 entries

First usable sector is 34, last usable sector is 1000215182

Partitions will be aligned on 8-sector boundaries

Total free space is 922893 sectors (450.6 MiB)


Number Start (sector) End (sector) Size Code Name

1 40 409639 200.0 MiB EF00 EFI System Partition

2 409640 498945639 237.7 GiB AF05 Macintosh HD

3 498945640 500215175 619.9 MiB AB00 Recovery HD

4 500215808 999292927 238.0 GiB 0700 BOOTCAMP


sudo gdisk /dev/disk2

GPT fdisk (gdisk) version 1.0.0


Warning: Devices opened with shared lock will not have their

partition table automatically reloaded!

Partition table scan:

MBR: protective

BSD: not present

APM: not present

GPT: present


Found valid GPT with protective MBR; using GPT.


Command (? for help): p

Disk /dev/disk2: 2930277168 sectors, 1.4 TiB

Logical sector size: 512 bytes

Disk identifier (GUID): 02445E37-1F51-4E77-91B0-00DEC704C5D7

Partition table holds up to 128 entries

First usable sector is 34, last usable sector is 1000215182

Partitions will be aligned on 8-sector boundaries

Total free space is 922893 sectors (450.6 MiB)


Number Start (sector) End (sector) Size Code Name

1 40 409639 200.0 MiB EF00 EFI System Partition

2 409640 498945639 237.7 GiB AF05 Macintosh HD

3 498945640 500215175 619.9 MiB AB00 Recovery HD

4 500215808 999292927 238.0 GiB 0700 BOOTCAMP


Command (? for help): i

Partition number (1-4): 1

Partition GUID code: C12A7328-F81F-11D2-BA4B-00A0C93EC93B (EFI System)

Partition unique GUID: 3F03187B-0E58-402F-A712-F86E70CFA2ED

First sector: 40 (at 20.0 KiB)

Last sector: 409639 (at 200.0 MiB)

Partition size: 409600 sectors (200.0 MiB)

Attribute flags: 0000000000000000

Partition name: 'EFI System Partition'

Sep 30, 2015 7:43 AM in response to trwd

You can use Gdisk to change GUIDs for the disk. Do not change Partition Type GUIDs, only the Disk GUIDs on the SSD. Leave the original source disk intact.


sudo gdisk /dev/disk0

Password:

GPT fdisk (gdisk) version 1.0.0


Warning: Devices opened with shared lock will not have their

partition table automatically reloaded!

Partition table scan:

MBR: hybrid

BSD: not present

APM: not present

GPT: present


Found valid GPT with hybrid MBR; using GPT.


Recovery/transformation command (? for help): x


Expert command (? for help): ?

a set attributes

c change partition GUID

d display the sector alignment value

e relocate backup data structures to the end of the disk

g change disk GUID

h recompute CHS values in protective/hybrid MBR

i show detailed information on a partition

l set the sector alignment value

m return to main menu

n create a new protective MBR

o print protective MBR data

p print the partition table

q quit without saving changes

r recovery and transformation options (experts only)

s resize partition table

t transpose two partition table entries

u replicate partition table on new device

v verify disk

w write table to disk and exit

z zap (destroy) GPT data structures and exit

? print this menu

Sep 30, 2015 8:39 AM in response to Loner T

Thank you for replying so quickly, Loner T!


The SSD is the original internal SSD. The copy I made is an external HDD, which I figured out is Disk2 by using the Mount command to get that info.


So you say I can change the GUID using the experts command "G". Next, use "R" for Randomize -- is that okay? AND, do I then use "W" to write the change to the HDD?

Sep 30, 2015 8:48 AM in response to trwd

trwd wrote:


The SSD is the original internal SSD. The copy I made is an external HDD, which I figured out is Disk2 by using the Mount command to get that info.

Leave the SSD untouched.



So you say I can change the GUID using the experts command "G". Next, use "R" for Randomize -- is that okay? AND, do I then use "W" to write the change to the HDD?

Yes to all.

Sep 30, 2015 8:54 AM in response to Loner T

oops, a snag:


sudo gdisk /dev/disk2

Password:

GPT fdisk (gdisk) version 1.0.0



Warning: Devices opened with shared lock will not have their

partition table automatically reloaded!

Partition table scan:

MBR: protective

BSD: not present

APM: not present

GPT: present


Found valid GPT with protective MBR; using GPT.


Command (? for help): x


Expert command (? for help): g

Enter the disk's unique GUID ('R' to randomize): R

The new disk GUID is 0DD37833-D344-41D8-82C1-E216E3630A8E


Expert command (? for help): w

Warning! Secondary header is placed too early on the disk! Do you want to

correct this problem? (Y/N):

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Bootcamp booting clobbered by Yosemite upgrade

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.