Windows will not boot to the boot camp partition on a DIY fusion drive – gives “No bootable device found” error

bootcampfusion-drive

I have a MacBookPro 9,1 (mid-2012, non-retina) running OS X 10.8.2.

Here is what I have done to my system:

  1. Installed Windows 7 x64 Pro to a boot camp partition; installed all windows updates.
  2. Using WinClone, save an image of this boot camp partition.
  3. Removed optical drive and HDD.
  4. Installed HDD in place of optical drive.
  5. Installed SSD in place of HDD.
  6. Booted to recovery partition, installed OS X on a flash drive.
  7. Booted to flash drive, created fusion drive using MacWorld's instructions
  8. Booted to recovery partition on flash drive.
  9. Restored system to fusion drive from a Time Machine backup. Unfortunately, it seems that because I never installed OS X on my fusion drive, I do not have a recovery partition. But that's an issue for another day.
  10. Using Boot Camp assistant, created a boot camp partition on my HDD.
  11. Using WinClone, restore my Windows installation from the previously created image.

Now, Windows boots to a black screen telling me that it can't find a bootable device. I have tried a few things to resolve this, all without effect:

  1. I know that VMware Fusion has to prepare a boot camp partition in order to virtualize it, so I figured it might inadvertently fix things. Alas, while it did successfully boot my boot camp partition into a virtual machine, I still can't boot into Windows.
  2. I figured I'd just try to reinstall Windows. Surprisingly, my system booted to my Windows install disc, which was in my original optical drive (which I had put in a USB case). But, Windows refused to install, giving me a an error 0x8030024. It seems the solution to this issue is to disconnect all drives but the one on which you want to install Windows, which is something I would dearly like to avoid. It would be a pain, but more than that, I'm afraid it would bork my fusion drive, even if I'm careful to never boot to OS X with the SSD disconnected.
  3. A lot of places said that this error results from a borked MBR, and suggest using a tool like gptfdisk to rewrite it. I followed the instructions here, but that didn't work either.

I am now completely at a loss as to how to proceed, and Google isn't much help either.

In conclusion, here is some information that you may find helpful:

$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *240.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:          Apple_CoreStorage                         239.7 GB   disk0s2
   3:                 Apple_Boot Boot OS X               134.2 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *750.2 GB   disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:          Apple_CoreStorage                         648.4 GB   disk1s2
   3:                 Apple_Boot Boot OS X               650.0 MB   disk1s3
   4:       Microsoft Basic Data BOOTCAMP                100.9 GB   disk1s4
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Mayfly                 *884.0 GB   disk2

$ diskutil cs list
CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group 63DC419F-1A09-4C5B-977A-F59F79502CA1
   =========================================================
   Name:         FusionDrive
   Size:         888087773184 B (888.1 GB)
   Free Space:   0 B (0 B)
   |
   +-< Physical Volume B1B14251-2DB3-491C-9E7A-5C2FD11881BA
   |   ----------------------------------------------------
   |   Index:    0
   |   Disk:     disk0s2
   |   Status:   Online
   |   Size:     239713435648 B (239.7 GB)
   |
   +-< Physical Volume D0BA2837-514D-4620-8E1D-26D18137CA94
   |   ----------------------------------------------------
   |   Index:    1
   |   Disk:     disk1s2
   |   Status:   Online
   |   Size:     648374337536 B (648.4 GB)
   |
   +-> Logical Volume Family 736A8900-FE9C-4342-A932-EDC35444774C
       ----------------------------------------------------------
       Encryption Status:       Unlocked
       Encryption Type:         None
       Conversion Status:       NoConversion
       Conversion Direction:    -none-
       Has Encrypted Extents:   No
       Fully Secure:            No
       Passphrase Required:     No
       |
       +-> Logical Volume B4997853-59F8-4480-BB48-3481B2F2A123
           ---------------------------------------------------
           Disk:               disk2
           Status:             Online
           Size (Total):       884000030720 B (884.0 GB)
           Size (Converted):   -none-
           Revertible:         No
           LV Name:            Mayfly
           Volume Name:        Mayfly
           Content Hint:       Apple_HFS

$  sudo gpt -r -vv show disk1
Password:
gpt show: disk1: mediasize=750156374016; sectorsize=512; blocks=1465149168
gpt show: disk1: Suspicious MBR at sector 0
gpt show: disk1: Pri GPT at sector 1
gpt show: disk1: Sec GPT at sector 1465149167
      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  1266356128      2  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
 1266765768     1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
 1268035304         280         
 1268035584   197111808      4  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
 1465147392        1743         
 1465149135          32         Sec GPT table
 1465149167           1         Sec GPT header

$ sudo fdisk /dev/disk1
Disk: /dev/disk1    geometry: 91201/255/63 [1465149168 sectors]
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: EE    0   0   2 - 1023 254  63 [         1 - 1268035583] <Unknown ID>
*2: 07 1023 254  63 - 1023 254  63 [1268035584 -  197111808] HPFS/QNX/AUX
 3: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused  

Best Answer

The issue, it seems, was that the hard drive was in the optical bay. I found claims that Windows was designed not to boot from external drives, and that if you put an HDD in an optical bay and try to boot Windows from it, it will fail.

I have no idea if this is an accurate statement, but what I do know is this: when I switched my HDD back to its original position and put the SSD in the optical drive bay, Windows started booting again as though nothing had happened. The fusion drive still worked, too.