MAC EXPERTS: Please help troubleshoot a Boot Camp issue
August 7, 2011 12:08 PM   Subscribe

MAC EXPERTS: Please help out a brother with a Boot Camp troubleshooting issue. Relatively clear explanation follows.

Fairly straightforward scenario:

(1) Spring 2011-model MacBook Pro (13-inch) running 10.7 on the primary partition.

(2) Ran Bootcamp, installed Windows 7 Home Premium on partition #2.

No problems so far. When I started up with the option key, saw the expected three options (10.7, Windows, and the little restore partition that 10.7 creates). Windows ran great. Then...

(3) I wanted to create a relatively small bootable partition running 10.6, for those times when I want to run PowerPC applications. Using Disk Utility, I split off a small part of Partition #1, giving me:

1- Lion
2- Blank (I haven't yet installed Snow Leopard)
3- BOOTCAMP - Windows
(The 10.7 restore partition doesn't show up in Disk Utility)

BUT NOW -- I can't boot into Windows anymore!

* Disk Utility, the Finder and the Startup Disk preference pane all still show the Boot Camp volume, with all the files intact.

* When I boot holding down the option key, all I see are 10.7 and the restore partition.

* When I select "BOOTCAMP - Windows) in the Startup pane and restart, the computer holds for several minutes on a blank gray screen. Then I get a black screen with white DOS-like text that says "No bootable disk -- insert boot disk and press any key."

I sure would appreciate some help with this. Thank you very much!
posted by Alaska Jack to Computers & Internet (18 answers total)
 
Best answer: Could the problem be that Windows boot.ini file still thinks it's supposed to be the third partition (after the 10.7 partition and the 10.7 restore partition), whereas now, with the addition of the future 10.6 partition, it's the fourth? From a tutorial on creating a three-partition Boot Camp setup:

I found that my Windows XP install would no longer boot continuously blue-screening - I took the lucky guess of figuring that the boot.ini file needed to be edited to reflect that the Windows boot partition was not now number 3 but number 4 in the partition table order. Counterintuitively, after step 11, the gpt index of the partition is still number 3 (your middle partition between OS X and Windows will actually have index id#4) but, apparently, XP just looks at the partitions in order in the MBR wrapper inside your GPT on your drive. To edit the boot.ini file on the Windows volume from OS X, I installed MacFuse and NTFS-3G and pico. I simply changed the 3's to 4's and saved the file. When I rebooted into windows this time it came up successfully, as did the FAT32 volume; since I'd updated my Boot Camp Drivers to 2.1 already it even sees the GPT partitioning of the drive correctly from Disk Management.

Alternately, this tutorial on triple-booting OS X, Linux, and Windows suggests that the Windows partition has to be last one in order to be recognized by Boot Camp. So the question might then be, is your new 10.6-to-be partition the last partition, or the second partition? And in either case, are the partitions now in the order that will work for both Boot Camp and Windows, or do they need a little shuffling around? See this passage:

MBR only supports 4 primary partitions and GPT does not support extended partitions. Combining these two limitations means that a dual partition system disk can have a maximum of 4 primary partitions. In addition, Apple reserves the first primary partition for the "EFI System Partition". That leaves us with only three partitions to play with, one for each OS. Hence, we cannot have a Linux swap partition, instead we must create a swapfile. Also, for some reason Boot Camp expects the Windows "C:" drive to be the last partition present on the drive. If it isn't, Windows setup will crash with a "cannot find hall.dll" error after the first reboot.

Caveat: Neither of these tutorials is for 10.7; they both seem to be from the 10.5 era. And I've never personally attempted to triple boot with Boot Camp; I'm still on the usual 10.6/XP dual boot (though I may be in your camp soon, given the PowerPC application thing). But the tutorials do point to some potential issues to look into while troubleshooting.
posted by limeonaire at 12:29 PM on August 7, 2011


Response by poster: OK, checking this out right now. One problem so far is that I don't seem to have a boot.ini file. Maybe this was changed in recent versions of Boot Camp?
posted by Alaska Jack at 3:24 PM on August 7, 2011


Best answer: I'm going to assume that by stating you "ran Bootcamp" you used the Bootcamp Assistant to partition your hard drive. Everything below is based on that. Keep in mind that you proceed at your own risk and should back up all your files before proceeding.

WHAT WENT WRONG
When you used Disk Utility to create another partition for your 10.6 install, you changed your partition map from:
0 - EFI
1 - Lion
2 - Windows 7

to:

0 - EFI
1 - Lion
2 - HFS+ blank
3 - Windows 7

When you installed Windows 7, the win7 boot loader was installed to the EFI partition. It has the boot.ini file that holds, among other things, the location of your Windows 7 system. the boot.ini file is looking for your system files (the Windows directory) to be on disc0 partition2 but alas, your stuff got moved to disc0 partition3. Hence, "no bootable disk".

HOW TO FIX
  1. Open Disk Utility and select your entire disk (the icon labeled with the size of your disk in GB).
  2. Click on the "Partition" tab.
  3. Click on the partition you created for your 10.6 install to select it.
  4. Click the "-" button to delete it. At this point, a warning may say something like, are you sure you want to delete? Go ahead and click yes. Watch the partition disappear.
  5. Drag the bottom right corner of your main Lion partition downward to reclaim the space left blank by deleting the partition in step 4.
  6. When Disk Utility finishes, reboot your machine and hold down the Option key. You should now see your Windows 7 disk as a bootable option. Select it and it should boot.
You should now be back at the point before you originally partitioned your Lion volume to create the 10.6 partition.

HOW TO BEST PROCEED
If you still want that 10.6 partition you have two choices:
  • Install 10.6 on an external drive - easiest option.
  • Launch Windows 7 and use Disk management to first shrink your Windows 7 drive and then create a FAT partition that you can then convert to HFS+ to install 10.6 - not so easy option.
I highly recommend buying an external Firewire drive and installing 10.6 there. Good luck.
posted by inviolable at 3:33 PM on August 7, 2011 [1 favorite]


Response by poster: Thanks inviolable! I bet you're right.

Here is the output from diskutil list:

=================
/dev/disk0
#:..........TYPE NAME..........SIZE..........IDENTIFIER
0:..........GUID_partition_scheme..........*750.2 GB..........disk0
1:..........EFI..........209.7 MB..........disk0s1
2:..........Apple_HFS Mac Daddy..........553.5 GB..........disk0s2
3:..........Apple_Boot Recovery HD..........650.0 MB..........disk0s3
4:..........Apple_HFS Snow Leopard..........939.5 MB..........disk0s4
5:..........Microsoft Basic Data BOOTCAMP..........96.3 GB..........disk0s5
=================

You (obviously) know a lot more about this than I do. Does this confirm your diagnosis?
posted by Alaska Jack at 4:03 PM on August 7, 2011


Response by poster: inviolable --

would it be possible to get boot.ini off that EFI partition, and edit it to make it look for windows in the correct place?
posted by Alaska Jack at 4:07 PM on August 7, 2011


Best answer: Even ignoring Windows being confused about what partition it's installed on, this partition layout is unlikely to work.

I could give a long explanation, but the short version is that typical Windows installations in Boot Camp must be within the first four partitions, and yours isn't anymore. My recommendation is to get rid of the Snow Leopard partition, and then use a third-party partitioning tool to shrink the Windows partition, and put Snow Leopard after it. I believe 'parted', which comes with most Linux distributions, will do this.
posted by vasi at 4:08 PM on August 7, 2011


Response by poster: Uh oh, I think I'm boned.

I just used disk utility to delete the 10.6 partition per above, which looked reasonable to me.

To my surprise, the layout went from:

* Mac Daddy (the 10.7 partition)
* Snow Leopard (Blank)
* Bootcamp (Windows 7)

to

* Mac Daddy
* Disk0S6 (formatted as FAT. DU says "This partition can't be modified"
* [A grey rectangle with no label. When I click on it, the Partition Information section reads "Free Space."]

Nooooooooooooo! Do not want!

Oddly, DiskUtil says something different. It says:

=======

/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *750.2 GB disk0
1: EFI 209.7 MB disk0s1
2: Apple_HFS Mac Daddy 553.5 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
4: Microsoft Basic Data 96.3 GB disk0s6

=======

Hmm. Now what.
posted by Alaska Jack at 4:23 PM on August 7, 2011


Wow, that's really strange that the Windows partition is now numbered 6. Can you mount it?
posted by vasi at 4:36 PM on August 7, 2011


Response by poster: Ok, this gets weirder.

I attempted to address this by repairing the windows partition using the repair utility on the Windows install dvd. Following that, I now have my option-boot items back.

But now I have this in Disk Utility

*Bootcamp. 96 GB
* Mac Daddy 553.47 GB
* Disk0S5 (FAT, 750.16 GB)

Disk Utility sez: "You can't resize any of the partitions on this disk because it uses the Master Boot Record partition scheme."

Also, it's a 750 GB disk, so I don't understand the sizes listed above.

Here once again is diskutil:

======
0: FDisk_partition_scheme *750.2 GB disk0
1: Windows_NTFS BOOTCAMP 96.3 GB disk0s1
2: Apple_HFS Mac Daddy 553.5 GB disk0s2
3: 0xEE 750.2 GB disk0s5

What did I just do!?
posted by Alaska Jack at 5:01 PM on August 7, 2011


Response by poster: More importantly, how do I beg forgiveness of the gods of technology and get them to revert things back to the way they were!
posted by Alaska Jack at 5:02 PM on August 7, 2011


Is there anything on your windows partition? Why are you trying to avoid reinstalling? Partition the mac the way you want, then run bootcamp last and reinstall windows.
posted by chairface at 5:29 PM on August 7, 2011


Best answer: What you just did was behave as if anything involving Windows and partitioning was actually designed in some reasonable fashion*, and blindly relied on tools whose internals you don't fully understand to do stuff to partition tables whose structure you don't fully understand. You've done nothing outrageous from a Mac person's point of view (you're kind of used to your computers behaving at least moderately sanely) but you've just discovered at first hand just how much Windows dislikes not being fully in charge of its boot hard disk.

The gods of Redmond are, unfortunately, not forgiving gods. I believe that putting your boot world back together is going to need hands-on attention from somebody who does properly grok GPT and MBR tables and both Windows and Mac boot sequences.

If this page feels more like a quagmire than a foothold, that is probably not going to be you within any reasonable timeframe.

*as opposed to being formed, rather like limestone, from the crushed skeletons of trillions of ancient kludges
posted by flabdablet at 5:32 PM on August 7, 2011


Looks like some MBR/GPT confusion going on, it's not unheard of, though in the past I've only seen it with broken Linux partitioning tools. Could you run 'sudo gpt -r show /dev/rdisk0' and paste the results, just to make sure? (Don't worry if it prints a message about a "suspicious MBR", that's normal.)

You may be able to repair this by installing rEFIt, and then restarting. At the rEFIt menu, choose the "Partitioning Tool" and let it do its stuff. Then reboot, and diskutil should report something normal (just as soon as we've figured out what this "normal" thing is, anyway).
posted by vasi at 5:42 PM on August 7, 2011


inviolable --

would it be possible to get boot.ini off that EFI partition, and edit it to make it look for windows in the correct place?


So you know for future reference, boot.ini is a file that lives in the Windows partition and tells Windows which partition on the hard drive is the Windows boot partition, among other things. It has nothing to do with the EFI partition, which it looks like Apple computers normally reserve as partition 0.
posted by limeonaire at 6:18 PM on August 7, 2011


Response by poster: Thank you all very much for the guidance. Ultimately I just sacrificed that partition table to the gods of Redmond, and after re-creating the boot camp partition, am now reinstalling Windows.

*$ it. Triple-booting 10.7, Windows and 10.6 (for PowerPC applications) would be a simple, relatively elegant solution to my problem. As it is, I do have a few external drives -- I guess I will put 10.6 on one and work it that way.

Rats.

Thanks again everyone!

- aj
posted by Alaska Jack at 7:20 PM on August 7, 2011


Your triple-boot setup should be quite doable, but you will need to make sure that everything Windows-related falls within the first four partitions, and that after Windows is installed, its partitions get neither renumbered nor moved. That means you need to carve as much space off your 10.7 partition as you're going to need for everything else before you do the Windows install. Once Windows is in place, you need to treat any partitions before the Windows ones as unalterable.

Also, don't ever use Windows-based disk partitioning tools on this drive. Most of them won't understand the Mac's GPT scheme, and will brutalize it and some of the contents of its existing partitions while creating MBR-style partitioning.

An MBR-style partition table defining so-called "logical" partitions (which is the only way it can define more than four partitions) does not confine itself politely to the ends of the drive the way GPT does. "Logical" partitions are defined as sub-partitions within an outer "extended" partition, within which the first "track" (i.e. some arbitrary number, often 63, of 512-byte sectors) is reserved for partitioning information. If you try to flip a GPT-partitioned disk to MBR partitioning, and it has more than four GPT entries, you will necessarily shorten and/or move some of those and lose some filesystem data.
posted by flabdablet at 1:49 AM on August 8, 2011


A hint on how to find further hints: Linux installation "triple-boot" instructions will probably help you accomplish this. It is possible to do this, but it isn't particularly easy.

(Maybe you can run 10.6 in a virtual machine somehow?)
posted by krilli at 2:36 AM on August 8, 2011


Response by poster: Well, maybe I'll try again this winter when I have some time to spare. Thank you!
posted by Alaska Jack at 8:46 AM on August 8, 2011


« Older Vintage Flashlight Bulb Hunt   |   What sizes shoes do I wear? Newer »
This thread is closed to new comments.