Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Wait. So as long as you never boot Mac OS X, you can always boot and reboot Windows? And as soon as you boot Mac OS X one time, Windows is in effect broken?

That is correct. If Windows reboots on its own then there is no problem. The external drive also shows up under the startup disk options in system preferences (though it doesn't work). The disk does not show up if I hold the option key at boot.
 
That is correct. If Windows reboots on its own then there is no problem. The external drive also shows up under the startup disk options in system preferences (though it doesn't work).

But immediately upon booting Mac OS X, Windows isn't bootable in any event so we don't actually know that choosing Windows in System Preferences > Startup Disk doesn't work. It might in fact be what's causing the inability for Windows to boot.

This is Lion or Mountain Lion?

The disk does not show up if I hold the option key at boot.

This behavior occurs before or after (or both) the first time you've booted Mac OS X?
 
:eek:

I am using the Seagate GoFlex.

I did a reinstall this afternoon and was able to get it to work again on the thunderbolt drive - I can reboot into windows on the drive as many times as needed, except I can no longer do so the first time I reboot into OSX. This makes me think it is a problem with the bootloader.

Very interesting, when you say reboot, do you mean a warm reboot or including a full power off and reboot?
 
Very interesting, when you say reboot, do you mean a warm reboot or including a full power off and reboot?

AstroZombie's technique does allow the installation which was awesome to the thunderbolt drive. I booted into bootcamp natively and installed drivers. I even went as far as going into the repair boot and rebuilt mbr and bcd as I had wanted to do previously.

It worked until the deletion of the bootcamp partition. I deleted it via the drive utility and then did the same thing via the bootcamp utility. Both caused the external thunderbolt bootcamp to get to the black screen with cursor. There is something the rMBP is doing requiring something from the bootcamp internal partition (Windows was not installed internally)

Theory, when bootcamp is created onto the internal drive, I think a MBR is written to that partition to allow a bootcamp install/boot. I saw this when I unplugged the thunderbolt before the internal partition was deleted and chose the "windows" partition at the option screen and it booted to a "windows" broken boot screen.

I'm thinking that apple now requires the bootcamp partition in order to boot to the thunderbolt drive.

I fixed my thunderbolt mbr and bcd before the internal partition was deleted and as observed once booting into mac osx the bootability is broken.
 
It worked until the deletion of the bootcamp partition. I deleted it via the drive utility and then did the same thing via the bootcamp utility. Both caused the external thunderbolt bootcamp to get to the black screen with cursor.

This is expected behavior. Apple hardware can only have one disk with an MBR which contains bootloader code, because there's no way for you to choose which disk to boot from like hardware that contains a real BIOS. You have to zero superfluous bootloaders.

Further I think you're better off with this level of nitty gritty experimentation and iteration to use real tools, i.e. you should become familiar with fdisk, gpt, and gdisk, and stop using Boot Camp Assistant and Disk Utility. The GUI apps blatantly obscure their true behavior. They are doing multiple things with a single click, so narrowing down exactly what is causing what behavior becomes immensely more difficult to figure out - and they do not restore the disk or partition states the way they once were, e.g. neither of them remove BIOS/MBR bootloaders from any disks.


Theory, when bootcamp is created onto the internal drive, I think a MBR is written to that partition to allow a bootcamp install/boot.

An MBR is present whether it's MBR only, or GPT. If it's a GPT disk, the UEFI spec says there should be a PMBR. That's an MBR with a single partition entry taking up all sectors of the disk, with ID 0xEE. It's there for legacy MBR editing utilities to see that the disk is entirely claimed for partition type 0xEE, rather than appearing empty, and subject to alteration. Newer MBR utils explicitly recognized type code 0xEE and will warn the user that the disk is a GPT disk.

Next, it might be time to stop using the term "bootcamp" because it's effectively a useless term. Boot Camp Assistant is a specific thing (with obscured behavior). However, "bootcamp" cannot be "created" on an internal drive. That's not what's happening, at all. When you use BCA, for the most part it's using:

diskutil resizevolume

First the JHFS+ volume is shrunk, the GPT is altered to account for the smaller Mac OS partition, the free space created is formatted FAT32, the MBR is then changed from a PMBR (a single entry MBR, with code 0xEE), to one that contains more than one entry. Apple goes for parity, i.e. they stuff the GPT and EFI System partition into the MBR's first entry as type 0xEE, then they stuff GPT partition 2 (Mac HD) into MBR partition 2; GPT #3 (Recovery HD) into MBR #3; and GPT #4 (FAT32 for Windows) into MBR #4.

When you use Windows to reformat that FAT32 volume as an NTFS volume, it actually edits the MBR to change the type code from 0C to 07. The GPT partition type code is unchanged (both because Windows ignored GPTs when booted in BIOS mode, and because the GPT partition type code for FAT32 and NTFS are the same, unlike in the MBR world).

You can achieve this hybrid MBR multiple ways, as there are no standards for them. You can do it manually with fdisk. You can do it with gdisk which has an explicit option for creating a hybrid MBR, with options. You can do it with gptsync which is a utility included with rEFIt and rEFInd - but it's kinda brain dead in that it only goes for the parity option.

If you need/want a fifth partition, you can run into huge problems because you can put five partitions in an MBR (but you can put 128+ in a GPT). Apple's tools basically puke, and overwrite a hybrid MBR with a PMBR as soon as there are 5 or more partitions. The tools do this without adequate warning. And it will make Windows unbootable until the hybrid MBR is recreated.

I saw this when I unplugged the thunderbolt before the internal partition was deleted and chose the "windows" partition at the option screen and it booted to a "windows" broken boot screen.

Apple's EFI scans disks and if it finds three true attributes on any disk: a hybrid MBR (defined as an MBR with the first entry 0xEE, and at least one additional MBR entry); one MBR entry other than the first entry has the active (bootable) flag set; there is bootloader code in the first 440 bytes of the MBR (sector 0); if those three things are true, it produces a hard coded "Windows" labeled disk icon. If you have two disks that fit this description, you still get one "Windows" labeled disk; the exception is it will produce a second "Windows" option for CD/DVD media with appropriate icon.

When you choose this option, EFI loads a CSM, which runs a BIOS, which in turn only understands MBR, blindly chooses the first available disk that has those three characteristics, and then blindly loads and executes the first 440 bytes of code in the MBR - the first stage bootloader. That then chain loades to additional bootloaders located within the Windows NTFS volume.

I'm thinking that apple now requires the bootcamp partition in order to boot to the thunderbolt drive.

What it would require is no other disk having a hybrid MBR or latent bootloader code in its MBR; only the Thunderbolt disk should have a hybrid MBR and bootloader code.

I fixed my thunderbolt mbr and bcd before the internal partition was deleted and as observed once booting into mac osx the bootability is broken.

Yeah I'm virtually certain this is because you have two sets of bootloader code, and we do not have a UI from Apple to choose which disk is the boot disk like on computers with a real BIOS and a BIOS setup menu.

AstroZombie138 is experiencing a different problem specific to the 2012 MBPs (I think, or maybe it's Mountain Lion I'm still not sure), where all of this functions as expected until he boots Mac OS X and that somehow breaks Windows bootability on the external Thunderbolt drive. And that's pretty weird.

Using dd to copy sector 0 through 34 to a binary file will copy the MBR (including bootloader code and tables), the primary GPT header and tables. Doing that before booting Mac OS X gives a snapshot of both partitions and bootloader info in a working state. Then boot Mac OS X, confirm that Windows boot is now broken, and take another copy of sectors 0 to 34, and then compare the two files.

If they're the same - well holy crap because that means something may be corrupting the bootloaders within the Windows volume and that would be pretty hideous.
 
So is there a good third party boot manager that might work?

I would try rEFInd first and see if it can help. If not, maybe GRUB2 can work. It definitely can boot Windows, I've done it. But GRUB2 requires inordinate amounts of learning from a Mac user perspective. It's all command line configuration. There is a script that actual builds the configuration file, however, so it's not like old GRUB where you had to create the grub.conf by hand.

There are two parts to GRUB. The GRUB bootloader which reads the configuration file and displays a menu on-screen. You choose what you want to boot from that text GUI screen and then it boots that option.

The second part is the operating system specific installation package which contains grub-install and grub-mkconfig applications. Grub-install's job is to install the grub bootloader onto the disk (boot.img goes in the MBR whose sole purpose it jump to core.img which goes in its own GPT partition. It only needs to be 1MB but you will have to use gdisk to make such a partition because nether Disk Utility nor diskutil will create a partition of such a small size.) And grub-mkconfig is what probes all disks and builds the bootloader menu configuration file.

So the question is what OS do you get GRUB2 built for? Windows? I haven't tried it, don't even know if there is a package for it but I think there is. Or do you install a minimal Linux somewhere?

Kinda complicated.

Let me just say it was a lot for me to chew off but I'm finally pretty proficient with GRUB. So hopefully rEFInd works.
 
It's a pain getting it to work (particularly for Windows 7), but an EFI install might solve your issues. Windows 8 is pretty easy to install, but it can be rather unstable initially. Once I installed all the bootcamp drivers, it's fairly stable (I assume one of the stock drivers was causing it to crash a lot). Only issue at this point is that I can't get audio to work on my rMBP.

Windows 7 is another story. I think I got it installed, but then it refused to boot after that. I think I can get it to work with some more tinkering though.
 
It's a pain getting it to work (particularly for Windows 7), but an EFI install might solve your issues.

It's a fair point. If I didn't know how to compel Windows 8 to UEFI boot, and also didn't know how to use GRUB2, I'd probably go down the Windows 8 UEFI boot path... but only because I remember the GRUB2 learning curve and figure it can't be that bad for Windows 8 UEFI boot! But I could be wrong, UEFI is a PITA also...
 
Is there anyway/trick that the bootcamp assistance(when we select the drive) thinks the thunderbolt drive as internal HD? This might solve the question! ;)
 
Is there anyway/trick that the bootcamp assistance(when we select the drive) thinks the thunderbolt drive as internal HD? This might solve the question! ;)

Whether it is internal or external is not related to the problem. Something upon booting Mac OS X is corrupting something - otherwise the Thunderbolt drive boots and reboots Windows, apparently all day long. The instant Mac OS X is booted, Windows booting is somehow broken.

I wonder if booting Mac OS X from DVD (or Recovery HD) causes this problem also? If not, I'd like to know what's in NVRAM, the state of the full MBR and GPT, and the first 1-2MB of the NTFS volume. Then boot Mac OS X proper and again make copies NVRAM, MBR, GPT, and NTFS states. Then try to boot Windows and again make copies of NVRAM, MBR, GPT, and NTFS.

Somewhere something is altering something. Computers are deterministic machines. They don't just act weird like this without reason.
 
Whether it is internal or external is not related to the problem. Something upon booting Mac OS X is corrupting something - otherwise the Thunderbolt drive boots and reboots Windows, apparently all day long. The instant Mac OS X is booted, Windows booting is somehow broken.

I wonder if booting Mac OS X from DVD (or Recovery HD) causes this problem also? If not, I'd like to know what's in NVRAM, the state of the full MBR and GPT, and the first 1-2MB of the NTFS volume. Then boot Mac OS X proper and again make copies NVRAM, MBR, GPT, and NTFS states. Then try to boot Windows and again make copies of NVRAM, MBR, GPT, and NTFS.

Somewhere something is altering something. Computers are deterministic machines. They don't just act weird like this without reason.

But this wont happen (blinking cursor) if you install the bootcamp on the internal HD. Future updates from apple might bring hopes for 256 SDD users with so little space. Right now just installed bootcamp at 30GB of space the installed all my games on the external hdd. :D
 
But this wont happen (blinking cursor) if you install the bootcamp on the internal HD.

What's your point?

It also doesn't happen (to AstroZombie138) on his external so long as he never boots Mac OS X. The blinking cursor indicates the CSM has loaded but is likely stuck at the bootloader stage - the question is why does it not get stuck until after Mac OS X has booted after an otherwise successful (and working) Windows installation.
 
:)

working without having a "second" bootcamp partition on the internal "drive". And with rebooting/booting to macos.

I had Windows 7 on a TB SSD (Elgato) working perfectly on a MBP 17" and switched do the rMBP 15" and got this "blinking problem". Tried everything (using winclone, manually and so on) nothing worked to get Wind 7 onto the TB SSD without having something on the internal system.
 
Apple's documentation expressly says you can't use Boot Camp Assistant on external disks. You can't even use it on just any internal disk either. Windows support on Apple hardware is very limited. They also don't propose how to get around using BCA to install Windows, even though it can be done. So I'm not sure what the support policy even is for Thunderbolt drives. I'm curious if you've brought this problem to the attention of the Thunderbolt product's manufacturer?

The nature of the corruption that appears to be occurring that breaks Windows only after Mac OS is booted for the first time subsequent to a successful (and working) Windows installation, isn't understood. I can't tell you if it's an OS bug or a firmware bug, but either way it would seem if it is in fact corruption caused, that it would need an OS update or a firmware update to prevent said corruption.
 
Procedure for win 7 on ext thunderbolt with rmbp

My setup up.

rMBP 2.7ghz 512gb ssd
seagate thunderbolt, crucial 64gb ssd, and elgato thunderbolt cable

From all my trial and errors, I was unable to install win 7 without a small fat partition on the internal drive. I went as far as opening the machine and removing the harddrive to overcome the WINDOWS 7 INSTALL ERROR 0x80300024 on the thunderbolt drive.

1. create fat partition on internal drive:

Code:
diskutil resizevolume /dev/disk0s2 494G MS-DOS FAT 4G

2. format thunderbolt drive vis disk utility (I used GUID partition with msdos fat format)

3. rebooted and pressed option key to boot via created bootcamp win 7 install disk on usb key

4. Chose thunderbolt drive partition and formated fat to ntfs and installed win7

5. now at reboot a "bootcamp" windows icon shows up after install. choose windows

6. install bootcamp drivers.

I could not install to the thunderbolt drive without a fat partition on the internal ssd
 
This doesn't make sense. There is a FAT partition already on an internal SSD - all GPT disks are required to have one, it's called the EFI System partition.

Can you post the results from:
Code:
diskutil list
 
This doesn't make sense. There is a FAT partition already on an internal SSD - all GPT disks are required to have one, it's called the EFI System partition.

Can you post the results from:
Code:
diskutil list

I agree with you but another "fat" partition is needed. this is for the rMBP.

Code:
Michaels-MacBook-Pro:~ michaelwheaton$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            494.0 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:       Microsoft Basic Data FAT                     5.4 GB     disk0s4
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *64.0 GB    disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:       Microsoft Basic Data BOOTCAMP                58.7 GB    disk1s2
 
This doesn't make sense. There is a FAT partition already on an internal SSD - all GPT disks are required to have one, it's called the EFI System partition.

Can you post the results from:
Code:
diskutil list

Which windows does not see and use as a fat partition.


I suspect windows is still sticking the base boot loader files on the fat partition, but everything else on external?

edit: I'd assume the partition could be much smaller still, if this is the case.
 
I agree with you but another "fat" partition is needed.

Is it installing anything on that FAT partition?


Which windows does not see and use as a fat partition.

Yeah I understand that, it's stuffed in the 1st MBR entry along with the GPT as the protected 0xEE partition.

A consequence of creating a FAT partition on disk0 is that diskutil will hybridize the MBR. And it may be that which is causing a difference in either the EFI or CSM behaviors, not this FAT partition itself.

I suspect windows is still sticking the base boot loader files on the fat partition, but everything else on external?

This should not happen. When installing Windows you choose a disk or a disk partition and that is the only disk or disk partition that should be modified. If I understand correctly it is /dev/disk1 that was chosen for Windows, in which case it should not have done a thing to /dev/disk0.

Also, we have different things going on here between Mikewh who is not reporting subsequent corruption of Windows after rebooting into Mac OS X, nor is he installing Windows on the external Thunderbolt disk. AstroZombie138 is trying to install and boot Windows from his external Thunderbolt disk, and Windows installs and boots fine even without this small FAT partition that Mikewh is creating; the problem is that after booting Mac OS X for the first time after a successful installation of Windows, something with Windows gets corrupted and I'm not sure what - but it seems bootloader related considering how early on it happens and without errors.
 
This should not happen. When installing Windows you choose a disk or a disk partition and that is the only disk or disk partition that should be modified. If I understand correctly it is /dev/disk1 that was chosen for Windows, in which case it should not have done a thing to /dev/disk0.

I have observed windows doing exactly this before in my own PC, it seems to want to stick the boot files on lowest numbered disk that's marked active unless it has no choice.
 
Which windows does not see and use as a fat partition.


I suspect windows is still sticking the base boot loader files on the fat partition, but everything else on external?

edit: I'd assume the partition could be much smaller still, if this is the case.

I believe that is correct. Now that I examine my internal ssd with partition inspector here is what I get

Code:
*** Report for internal hard disk ***

Current GPT partition table:
 #      Start LBA      End LBA  Type
 1             40       409639  EFI System (FAT)
 2         409640    965253383  Mac OS X HFS+
 3      965253384    966522919  Mac OS X Boot
 4      966524928    977104895  Basic Data

Current MBR partition table:
 # A    Start LBA      End LBA  Type
 1              1       409639  ee  EFI Protective
 2         409640    965253383  af  Mac OS X HFS+
 3      965253384    966522919  ab  Mac OS X Boot
 4 *    966524928    977104895  0b  FAT32 (CHS)

MBR contents:
 Boot Code: Unknown, but bootable

Partition at LBA 40:
 Boot Code: Unknown, but bootable
 File System: Unknown
 Listed in GPT as partition 1, type EFI System (FAT)

Partition at LBA 409640:
 Boot Code: None
 File System: HFS Extended (HFS+)
 Listed in GPT as partition 2, type Mac OS X HFS+
 Listed in MBR as partition 2, type af  Mac OS X HFS+

Partition at LBA 965253384:
 Boot Code: None
 File System: HFS Extended (HFS+)
 Listed in GPT as partition 3, type Mac OS X Boot
 Listed in MBR as partition 3, type ab  Mac OS X Boot

Partition at LBA 966524928:
 Boot Code: Windows BOOTMGR (Vista)
 File System: FAT32
 Listed in GPT as partition 4, type Basic Data
 Listed in MBR as partition 4, type 0b  FAT32 (CHS), active
 
Is it installing anything on that FAT partition?




Yeah I understand that, it's stuffed in the 1st MBR entry along with the GPT as the protected 0xEE partition.

A consequence of creating a FAT partition on disk0 is that diskutil will hybridize the MBR. And it may be that which is causing a difference in either the EFI or CSM behaviors, not this FAT partition itself.



This should not happen. When installing Windows you choose a disk or a disk partition and that is the only disk or disk partition that should be modified. If I understand correctly it is /dev/disk1 that was chosen for Windows, in which case it should not have done a thing to /dev/disk0.

Also, we have different things going on here between Mikewh who is not reporting subsequent corruption of Windows after rebooting into Mac OS X, nor is he installing Windows on the external Thunderbolt disk. AstroZombie138 is trying to install and boot Windows from his external Thunderbolt disk, and Windows installs and boots fine even without this small FAT partition that Mikewh is creating; the problem is that after booting Mac OS X for the first time after a successful installation of Windows, something with Windows gets corrupted and I'm not sure what - but it seems bootloader related considering how early on it happens and without errors.

I can't believe it but a MBR was created on the internal fat portion see below

Code:
Michaels-MacBook-Pro:~ michaelwheaton$ hexdump -C ~/mbr0.bin
00000000  33 c0 8e d0 bc 00 7c 8e  c0 8e d8 be 00 7c bf 00  |3.....|......|..|
00000010  06 b9 00 02 fc f3 a4 50  68 1c 06 cb fb b9 04 00  |.......Ph.......|
00000020  bd be 07 80 7e 00 00 7c  0b 0f 85 0e 01 83 c5 10  |....~..|........|
00000030  e2 f1 cd 18 88 56 00 55  c6 46 11 05 c6 46 10 00  |.....V.U.F...F..|
00000040  b4 41 bb aa 55 cd 13 5d  72 0f 81 fb 55 aa 75 09  |.A..U..]r...U.u.|
00000050  f7 c1 01 00 74 03 fe 46  10 66 60 80 7e 10 00 74  |....t..F.f`.~..t|
00000060  26 66 68 00 00 00 00 66  ff 76 08 68 00 00 68 00  |&fh....f.v.h..h.|
00000070  7c 68 01 00 68 10 00 b4  42 8a 56 00 8b f4 cd 13  ||h..h...B.V.....|
00000080  9f 83 c4 10 9e eb 14 b8  01 02 bb 00 7c 8a 56 00  |............|.V.|
00000090  8a 76 01 8a 4e 02 8a 6e  03 cd 13 66 61 73 1c fe  |.v..N..n...fas..|
000000a0  4e 11 75 0c 80 7e 00 80  0f 84 8a 00 b2 80 eb 84  |N.u..~..........|
000000b0  55 32 e4 8a 56 00 cd 13  5d eb 9e 81 3e fe 7d 55  |U2..V...]...>.}U|
000000c0  aa 75 6e ff 76 00 e8 8d  00 75 17 fa b0 d1 e6 64  |.un.v....u.....d|
000000d0  e8 83 00 b0 df e6 60 e8  7c 00 b0 ff e6 64 e8 75  |......`.|....d.u|
000000e0  00 fb b8 00 bb cd 1a 66  23 c0 75 3b 66 81 fb 54  |.......f#.u;f..T|
000000f0  43 50 41 75 32 81 f9 02  01 72 2c 66 68 07 bb 00  |CPAu2....r,fh...|
00000100  00 66 68 00 02 00 00 66  68 08 00 00 00 66 53 66  |.fh....fh....fSf|
00000110  53 66 55 66 68 00 00 00  00 66 68 00 7c 00 00 66  |SfUfh....fh.|..f|
00000120  61 68 00 00 07 cd 1a 5a  32 f6 ea 00 7c 00 00 cd  |ah.....Z2...|...|
00000130  18 a0 b7 07 eb 08 a0 b6  07 eb 03 a0 b5 07 32 e4  |..............2.|
00000140  05 00 07 8b f0 ac 3c 00  74 09 bb 07 00 b4 0e cd  |......<.t.......|
00000150  10 eb f2 f4 eb fd 2b c9  e4 64 eb 00 24 02 e0 f8  |......+..d..$...|
00000160  24 02 c3 49 6e 76 61 6c  69 64 20 70 61 72 74 69  |$..Invalid parti|
00000170  74 69 6f 6e 20 74 61 62  6c 65 00 45 72 72 6f 72  |tion table.Error|
00000180  20 6c 6f 61 64 69 6e 67  20 6f 70 65 72 61 74 69  | loading operati|
00000190  6e 67 20 73 79 73 74 65  6d 00 4d 69 73 73 69 6e  |ng system.Missin|
000001a0  67 20 6f 70 65 72 61 74  69 6e 67 20 73 79 73 74  |g operating syst|
000001b0  65 6d 00 00 00 63 7b 9a  a6 a1 33 20 00 00 00 fe  |em...c{...3 ....|
000001c0  ff ff ee fe ff ff 01 00  00 00 27 40 06 00 00 fe  |..........'@....|
000001d0  ff ff af fe ff ff 28 40  06 00 e0 58 82 39 00 fe  |......(@...X.9..|
000001e0  ff ff ab fe ff ff 08 99  88 39 20 5f 13 00 80 fe  |.........9 _....|
000001f0  ff ff 0b fe ff ff 00 00  9c 39 00 70 a1 00 55 aa  |.........9.p..U.|
00000200
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.