Previous 1 2 Next 24 Replies Latest reply: Aug 25, 2013 8:52 AM by GregoryBL
GregoryBL Level 1 Level 1 (0 points)

Hello,

 

As the title mentions, I'm trying to install Windows on my iMac 11,1 in which I've swapped out the Superdrive for a SSD.

 

My current setup is with 10.8 boot drive + recovery partition on the SSD and an HFS+ data partition on the second drive (HDD).

 

What I would like is for the SSD to contain the same partitions, but for the HDD to also include a bootable Windows partition.

 

Two problems with this:

 

1. The computer won't boot from a USB drive so I can't make a proper installer (out of the legal Windows 7 .iso I have).

 

The two ways around this I have read about (and tried) are to use virtualization to convince the installer it's running from a CD and not an .iso and to put the install files on a separate bootable partition of the internal drive. I managed to use Parallels 8 to install Windows 7 to a second partition on the HDD (though it couldn't make some writes due to security issues), but couldn't make it bootable. I tried making a hybrid MBR (using gdisk) on the HDD before installing Windows 7 to the partition, which made it bootable, but Windows got stuck before it loaded. This leads into problem #2.

 

2. The HDD doesn't know how to boot itself. My suspician is that the bootloader and/or BIOS emulation code (I don't really understand how this works) doesn't exist on the HDD. I have no idea how to fix this issue.

 

Any help would be appreciated in getting this to work. I'm familiar with the command line, so don't be afraid I'm going to wimp out if you ask me to use it.


iMac (27-inch Mid 2011), OS X Mountain Lion (10.8.4)
  • The hatter Level 9 Level 9 (60,880 points)

    people that take the route that you did - swap the optical back in to do the install.

     

    the presence of two Mac GUID drives will also prevent Windows from installing.

     

    You would need Mac OS on the drive in order to use Boot Camp Assistant. It is a one trick pony.

     

    With Mac Pro, with 4+ internal drives, Windows can be the only drive present, the one to be used.

     

    It would be easier if the SSD was larger to have Mac and Windows - and Samsung has some great prices and new EVO line with 750GB.

     

    You probably are going to need to clone or backup or copy - should anyway - to external.

     

    Restore a Mac OS to the hdd and use BCA

    Format the SSD as FAT or disconnect it. (and MBR, not GUID)

    Try to find how to edit plist to allow booting from USB-DVD

  • GregoryBL Level 1 Level 1 (0 points)

    Thanks for the reply.

     

    I have both time machine and CCC backups on an external drive (unplugged to avoid updating to bad state) and CrashPlan offisite backups, so no worries there.

    The hatter wrote:

     

      the presence of two Mac GUID drives will also prevent Windows from installing.

     

    Can you explain the above in more detail?

     

    The way I think I can install Windows is to put the installer on a bootable partition of my SSD and boot it. The firmware on my computer prevents booting from a USB drive (I tried using rEFInd) - it's not a simple matter of editing a plist.

  • The hatter Level 9 Level 9 (60,880 points)

    Windows rules for GUID vs Apple's Boot Camp MBR. The presence of other drives with GPT is a no no. Reformat as MBR. Or Unplug. Make them go away. It expects to use rules for UEFI + GPT

     

    Most were able in the past to add their machine ID to a plist to try booting from USB-DVD. I am not up to date on flash drives and Boot Camp 5.0 and would have to read the instructions.

     

    http://www.microsoft.com/whdc/device/storage/GPT_FAQ.mspx

     

    http://www.microsoft.com/whdc/device/storage/GPT-on-x64.mspx

     

    Apple may have pulled these two:

     

    http://developer.apple.com/library/mac/#technotes/tn2166/_index.html

     

    http://developer.apple.com/technotes/tn2006/tn2166.html

     

    http://www.macgeekery.com/tips/troubleshooting/when_the_boot_camp_assistant_fail s

  • GregoryBL Level 1 Level 1 (0 points)

    My understanding of how Bootcamp works is it creates a hybrid MBR that uses GPT in each section.

     

    I tried last night to install Windows using Parallels 8 on a partition of my SSD created by the Bootcamp Assistant. However, Windows still wouldn't boot. I then tried to edit the MBR myself using gdisk, leaving me with the windows partition not even showing up in in the UI after I hold option at startup.

     

    Here's the output from fdisk:

    ~ # sudo fdisk /dev/disk0

    Password:

    Disk: /dev/disk0          geometry: 31130/255/63 [500118192 sectors]

    Signature: 0xAA55

             Starting       Ending

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

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

    1: EE    0   0   2 - 1023 254  63 [         1 -  461055999] <Unknown ID>

    *2: 07 1023 254  63 - 1023 254  63 [ 461056000 -   39061504] 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     


    ~ # sudo fdisk /dev/disk1

    Disk: /dev/disk1          geometry: 121601/255/63 [1953525168 sectors]

    Signature: 0xAA55

             Starting       Ending

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

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

    1: EE 1023 254  63 - 1023 254  63 [         1 - 1953525167] <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     

     

    Here's the output from gpt:

    ~ # sudo gpt -r -vv show disk0

    gpt show: disk0: mediasize=256060514304; sectorsize=512; blocks=500118192

    gpt show: disk0: Suspicious MBR at sector 0

    gpt show: disk0: Pri GPT at sector 1

    gpt show: disk0: Sec GPT at sector 500118191

          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  460383864      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC

      460793504     262496        

      461056000   39061504      3  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7

      500117504        655        

      500118159         32         Sec GPT table

      500118191          1         Sec GPT header


    ~ # sudo gpt -r -vv show disk1

    Password:

    gpt show: disk1: mediasize=1000204886016; sectorsize=512; blocks=1953525168

    gpt show: disk1: PMBR at sector 0

    gpt show: disk1: Pri GPT at sector 1

    gpt show: disk1: Sec GPT at sector 1953525167

           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  1951845952      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC

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

      1953525128           7        

      1953525135          32         Sec GPT table

      1953525167           1         Sec GPT header


     

    And diskutil:

     

    ~ # diskutil list

    /dev/disk0

       #:                       TYPE NAME                    SIZE       IDENTIFIER

       0:      GUID_partition_scheme                        *256.1 GB   disk0

       1:                        EFI                         209.7 MB   disk0s1

       2:                  Apple_HFS Jane                    235.7 GB   disk0s2

       3:       Microsoft Basic Data                         20.0 GB    disk0s3

    /dev/disk1

       #:                       TYPE NAME                    SIZE       IDENTIFIER

       0:      GUID_partition_scheme                        *1.0 TB     disk1

       1:                        EFI                         209.7 MB   disk1s1

       2:                  Apple_HFS JaneHDD                 999.3 GB   disk1s2

       3:                 Apple_Boot Recovery HD             650.0 MB   disk1s3

     

     

    Any suggestions?

  • Christopher Murphy Level 3 Level 3 (555 points)

    So you want:

    SSD= OS X and Data (JHFS+)

    HDD= Windows and Data (?filesystem?)

     

    Or do you want two OS's on one, and one OS on the other? I don't think you can have two instances of Windows on a Mac, because it doesn't have a configurable BIOS to let you choose which disk to boot from; thus far I haven't seen the firmware show more than one instance of Windows (using option key at the startup chime), but this could be a firmware specific limitation.

  • GregoryBL Level 1 Level 1 (0 points)

    I would really like:

     

    SSD= OS X

    HDD= Data (HFS+) & Windows

     

    If that's impossible or risky I'll be fine with:

     

    SSD= OS X & Windows

    HDD= Data (HFS+) and Data (NTFS or FAT32)

     

    I attempted to create the second one last night. Because Windows wasn't booting I didn't attempt to make the second Data partition on the HDD.

     

    Sorry it was confusing.

  • Christopher Murphy Level 3 Level 3 (555 points)

    disk0=256GB, I'm assuming that's the SSD with both OS X and Windows on it. The GPT and MBR are not in sync, but the hybrid MBR #2 entry is valid so it should be able to boot Windows. What happens if you zap PRAM, allow boot back to OS X, and then look in the Startup disk panel? Is there a Windows option in there or not?

     

    The fact that the MBR and GPT aren't sync'd makes me wonder how they got unsync'd. Normally the MBR has four entries: GPT+EFI, OS X, Recovery HD, and Windows. So there seems to be part of the story missing.

     

    disk1=1000GB, I'm assuming that's the HDD, but it contains OS X also.

     

    So the layouts you have on SSD and HDD don't correspond to the description in your first post, paragraph 2. So it makes it difficult to understand what you want to do, but I'm going to guess you want to get Windows bootable again on the SSD. The trouble is, you have an iMac that can't BIOS boot USB sticks like some of the newer hardware apparently can, yet you've removed your optical drive. So you're sorta stuck when it comes to running things like Windows startup repair.

     

    I think this layout isn't optimal given the limitations, and you should instead consider returning the optical drive to the internal bay. Option A: get a much bigger SSD, and go with an external USB based hard drive (not bootable); or Option B: something like the OWC eSATA upgrade where they pull out the CD/DVD drive, and give you an eSATA port. Now you can swap between a full speed, and bootable external hard drive or CD/DVD drive on demand.

  • Christopher Murphy Level 3 Level 3 (555 points)

    If you go with the first layout, you don't need to use Bootcamp Assistant, as you don't need a hybrid MBR. The disk is only 1TB, so you can use MBR only on that disk and it does make things simpler because then you can resize partitions on that disk from within Windows (unlike a Boot Camp'd drive, for which 3rd party software is needed).

     

    The bigger concern is what you're going to do about booting the Windows installer from CD/DVD if you ever need to use startup repair, like it's appearing is needed now? Are you going to crack open the iMac each time, move the HDD over to the first SATA port and put the optical back in; fix things; then swap everything back? Might be rare but it seems tedious.

     

    If it's possible to get Windows on the SSD booting, it's possible to use a *recent* version of Winclone to migrate it from SSD to HDD. It might be possible a sector copy from SSD to HDD, along with sector copying the boot loader, will also work and for free. It should work, but then Windows is notoriously finicky about being moved and the Winclone folks have figured out what sorts of things need to be updated (probably the BCD) in order to make it work.

  • GregoryBL Level 1 Level 1 (0 points)

    Thanks for your help so far.

     

    I'll be able to play around with the computer tonight (5-6 hours from now) and answer your questions about resetting the pram.

     

    I'm not sure why my recoverly partition is on the HDD other than to say that the HDD is actually the original drive that came with the computer and is still in the HDD slot. I never moved it, which I assume means it's connected to the first SATA port. The SSD was installed in the optical bay.

     

    Before I tried to create my own hybrid MBR there were three partitions there: What I assume were GPT+EFI, OSX, and (FAT32). However, running the Windows intaller in Parallels wouldn't let me install to the FAT32 partition so I used disk utility to format that partition as NTFS (using tuxera-NTFS). I figured this would destroy the MBR that bootcamp created so I used gdisk to recreate the hybrid MBR, which is what you see, and probably why it is out of sync.

     

    I agree swapping the optical disk in to boot the Windows Installer is a tedious an unsatisfactory solution. Would it be possible to dedicate ~8GB of space on the SSD to a Windows Installer partition that I could boot to if I have trouble? I'm not sure exactly how getting that bootable on an internal disk would work, and suspect it might be the same issue with having two separate Windows partitions coexisting (if Windows were then installed on the HDD), but it would solve my problem of not being able to use a windows installer CD or boot to usb. I saw a forum post this weekend where someone claimed to have created an installer partition on disk and then installed Windows in place.

  • Christopher Murphy Level 3 Level 3 (555 points)

    You should probably look in System Profiler for the performance of the two SATA ports. On my laptop, only the port for the original HDD support 6Gbps SATA. The port for the CD/DVD is 3Gbps SATA. So you'll want the SSD on the faster port.

     

    As far as I know, you can't have two "disk drive" instances of Windows on a Mac. Only one shows up. By "disk drive" I mean SSD or HDD. If you have Windows on either of those, and insert a Windows DVD installer, the firmware separately will recognize that Windows, so you can differentiate between booting optical Windows, USB Windows, and "disk" Windows. But if two "disks" have Windows, only one shows up and there's no way to pick which one does (I think it's the one on the first port but I'm not sure how it determines which one to show). This might be firmware dependent.

     

    So I don't see how you put 8GB on the SSD to boot Windows for emergencies, but then have the day to day Windows on the HDD.

  • GregoryBL Level 1 Level 1 (0 points)

    Christopher Murphy wrote:

     

    You should probably look in System Profiler for the performance of the two SATA ports. On my laptop, only the port for the original HDD support 6Gbps SATA. The port for the CD/DVD is 3Gbps SATA. So you'll want the SSD on the faster port.

     

    Unfortunately, both are sata 2 3Gbps (it's a mid 2009 machine) so I didn't switch them. I'm also not certain a 3.5" drive would fit in the optical bay.

     

     

    Christopher Murphy wrote:

     

    As far as I know, you can't have two "disk drive" instances of Windows on a Mac. Only one shows up. By "disk drive" I mean SSD or HDD. If you have Windows on either of those, and insert a Windows DVD installer, the firmware separately will recognize that Windows, so you can differentiate between booting optical Windows, USB Windows, and "disk" Windows. But if two "disks" have Windows, only one shows up and there's no way to pick which one does (I think it's the one on the first port but I'm not sure how it determines which one to show). This might be firmware dependent.

     

    So I don't see how you put 8GB on the SSD to boot Windows for emergencies, but then have the day to day Windows on the HDD.

     

    Would it be possible to camoflage the installer "disk drive" by listing it as free space or non-active in the MBR or the GPT and then change the MBR if I need it? It would probably be less of a pain to do that than to open the machine and swap in the optical drive.

  • The hatter Level 9 Level 9 (60,880 points)

    It does not really affect OS X whether the SSD is on SATA2 or 3 on Mac Pro (any, from 2006 to current) using today's SSDs like Samsung 840s.

     

    As I tried to say, format the non-Windows disk drive (no matter what it is, SSD or not‚ as MBR and FAT and have Mac OS X on t he other drive.

     

    When you get done, restore the contents back to normal.

     

    And if you don't want Mac OS and Windows on hdd but want an HFS volume for data, then fine you can erase and place data on that volume.

     

    you just cannot  have two disk drives during Windows install that are both formatted as GUID.

  • Christopher Murphy Level 3 Level 3 (555 points)

    Would it be possible to camoflage the installer "disk drive" by listing it as free space or non-active in the MBR or the GPT and then change the MBR if I need it?

     

    It's an interesting idea. The MBR needs to be correct for both for the installer volume to be bootable, and for its startup repair to see the other volume. What's needed is a way to trick the firmware into only seeing one of them. The firmware needs three things to be true to present a Windows volume as bootable: boot code in the MBR, a hybrid MBR (2 or more entries), one entry other than the first marked as bootable.

     

    The easiest one to manipulate is the boot flag (also called the active bit), such that only the partition you want to boot from is set. Windows startup repair will likely set this bit if unset on a Windows volume; which means after it runs you'll have two set to active. To regain the desired behavior you'll need to unset one of them. Fortunately this can be done easily with Apple's fdisk program, using the flag command.

     

    Possible problem: I don't know that you can just image the DVD installer onto an e.g. 8GB partition. I think there is a way to create a "rescue disk" of sorts for Windows, but I've never done this so I can't tell you how to do it. If you can figure out how to create such a thing, or a minimal install of Windows, that could go on the SSD, and then use fdisk's flag command to remove the active bit (boot flag) on that partition. I haven't tested this exact combination so I don't know that it'll work. But if it doesn't, it's possible to copy the MBR boot strap code to a file, and then erase that boot strap code. It sounds difficult, it's actually easy, as long as you get the command exactly right. If you get it wrong... well, just don't get it wrong. Cross that bridge if we get to it. The fdisk flag command is way easier and less risky.

     

    I think the first two things to sort out: 1.) Get the HDD's partion map converted to MBR only, and remove the GPT structures. This is possible to do without reformatting the disk or losing any data on it if you wish. 2.) Get the Windows you have on the SSD booting again, so that a valid Windows volume can be migrated to the HDD so that you don't have to reinstall the optical drive. I don't actually know for sure that this will be successful without 3rd party software. But it's worth a shot.

     

    After that, figure out how to get a minimal install of Windows (rescue disk or whatever) onto the SSD, mainly to save space on the SSD. For all I know, that's a feature of the install DVD.

  • GregoryBL Level 1 Level 1 (0 points)

    Christopher Murphy wrote:

     

    disk0=256GB, I'm assuming that's the SSD with both OS X and Windows on it. The GPT and MBR are not in sync, but the hybrid MBR #2 entry is valid so it should be able to boot Windows. What happens if you zap PRAM, allow boot back to OS X, and then look in the Startup disk panel? Is there a Windows option in there or not?

     

    Ok. I zapped the PRAM. I directly restarted and held option and Windows wasn't present in the menu. I used rEFInd to try to boot Windows on the partition and I got "BOOTMGR is missing. Press Ctrl-Alt-Del to restart." (which didn't work). I then restarted again - it booted into the recovery partition (weird). Restarted again holding option and the menu included Windows, but had the same message.

     

    Christopher Murphy wrote:

     

    Possible problem: I don't know that you can just image the DVD installer onto an e.g. 8GB partition. I think there is a way to create a "rescue disk" of sorts for Windows, but I've never done this so I can't tell you how to do it. If you can figure out how to create such a thing, or a minimal install of Windows, that could go on the SSD, and then use fdisk's flag command to remove the active bit (boot flag) on that partition. I haven't tested this exact combination so I don't know that it'll work. But if it doesn't, it's possible to copy the MBR boot strap code to a file, and then erase that boot strap code. It sounds difficult, it's actually easy, as long as you get the command exactly right. If you get it wrong... well, just don't get it wrong. Cross that bridge if we get to it. The fdisk flag command is way easier and less risky.

     

    In looking for a way to create the recovery partition I stumbled upon this thread: http://forums.macrumors.com/showthread.php?t=601414&page=2 . Post 27 (reproduced minus a beginning quote):

    Infrared wrote:

     

    I installed Windows 7 without using a DVD. These are the steps I used.


    (1) I created a 4GB FAT partition on my Leopard hard drive.

    (2) I opened the Win7 ISO in Finder and copied the contents to that partition.

    (3) The partition was made active and bootable.

    (4) I booted off the partition and ran the installer.


    Step 3 requires putting a Vista/Win7 compatible Volume Boot Record at

    the head of the partition. You can do this in VMWare by using the Win7

    ISO as a recovery disc (bootrec.exe /fixboot):


    http://support.microsoft.com/kb/927392


    I already had Server 2008 installed on another disk. I created the FAT

    partion from there using Disk Management, and made it active. Doing

    that apparently set up the VBR correctly.

     

    This was a long time ago (Jan 2009), but I've seen other references to just copying over the files to a partition created by BCA and getting it to install Windows. The .iso includes files called "bootmgr" and "bootmgr.efi" at top level, so this seems possible to me. (I'm not sure about using VMWare (or Parallels) to write the Volume Boot Record, but the link suggests Bootrec.exe helps troubleshoot the "Bootmgr is Missing" issue. That's probably what's stopping me from booting now.)

     

    So I think my plan is:

     

    1. Get Windows booting on the SSD. I think this requires writing a VBR at the head of this partition, which I'm not really sure how to accomplish. I'll try with Parallels and see if I can follow the steps on that Microsoft support page. It seems the VBR is written in the first sector of an individual partition, so hopefully Parallels won't be stopped from accessing it.

     

    2. Clear out that partition (not format, just trash all Windows files) and place the installer files on the partition. I'm not worried about it remaining 20GB instead of formatting to ~8GB because most of it will be empty and I generally try to keep 30-40 GB free on the SSD.

     

    3. Convert the partition map of the HDD to MBR. My understanding is that this can be done without losing data using gdisk (I can retransfer from an external but I don't particularly want to wait for the nearly 400 GB to make the transfer from my external drive). Because I only have three partitions and one is the EFI partition, I assume this should not require any partition to be destroyed (is that correct?). Additionally, will the recovery partition still work from an MBR only disk?

     

    4. Install Windows from the (hopefully) bootable Windows Installer created in step 2 to a partition on the HDD. Do I need to make this partition first externally? Can DiskUtility do this, or do I need to find another way?

     

    Thanks again for all of your help thus far. I think my next steps are compatible with what you suggested (though I don't intend to migrate the Windows volume, just to use it to install on the other drive). Do you see any major problems with this?

Previous 1 2 Next