Jump to content

GPT (Chameleon 2) dualboot OS X and Windows 7


32 posts in this topic

Recommended Posts

Hi,

 

I am currently trying to make a dual-boot with Retail Leopard and Windows 7 RC1 (build 7100).

My disk is clean and GPT formatted.Now I booted from the Windows 7 DVD and in setup it tells me that GPT is not supported.

Is there any possibility to make the dual-boot.I love Mac OS X,but I need Windows (don't tell me to install Vista...).

 

EDIT: I have got just one HDD.

 

Thanks,

 

Adam

Link to comment
Share on other sites

Yeah, windows vista and windows 7 say that when you use GPT on a BIOS computer. Disk utility creates a Hybrid GPT/MBR to allow them ti install without complaint.

Link to comment
Share on other sites

Thanks! It works!

It always boots from the MBR NT bootloader!

I want that it boots from my Chameleon 2 on my GPT!

 

Adam

 

Hello!

 

Excuse my English, but I am Brazilian and I'm using Google for the translation.

Friend, I am having the same problem, can you please post this as it has dual boot step by step?

 

I'm sailing with the live-cd of ubuntu to be able to resolve this problem because my network card does not work either.

 

I appreciate the help!

 

Thank you!

Link to comment
Share on other sites

  • 1 month later...
Thanks! It works!

It always boots from the MBR NT bootloader!

I want that it boots from my Chameleon 2 on my GPT!

 

Adam

 

i have the same question..

want to install Windows 7 and then be able to boot it from within Chameleon 2.

Is there any way?

 

 

Adam,

I have read your post in the boot think 1.1.0,

I am thinking about installing Windows 7 on one of my Partitions,

and then put Chameleon 2 back on.

Then install boot think 1.1.0 on a usb-disk and boot from that,

whenever I need to get inside Windows 7.

Since boot think 1.1.0 doesn't seem to be able to use boot-flags.

I need THIS:

 

<key>USBBusFix</key>

<string>Yes</string>

 

what do u think,

any suggestions?

 

thx a lot

Link to comment
Share on other sites

  • 1 month later...

Hey, I'm on the same boat here, or similar, anyway:

 

Single SATA drive:

  1. EFI Partition
  2. Journaled HFS (OSX)
  3. MS System Reserved
  4. Windows Partition

 

I installed OSX first (retail updated to 10.5.8)

then installed Windows 7 on another partition.

I used the Boot123 cd to get back into OSX to reinstall chameleon 2,

then repaired the startup in windows, and set the OSX partition as active.

 

Now my computer boots into chameleon, but it only shows the OSX partition, and ignores the windows partition

 

How do I get windows as a choice on the chameleon screen?

Link to comment
Share on other sites

  • 5 weeks later...

jo_dadday and slitz, are you using a hybrid MBR setup? In my experience, Chameleon does strange things with the active flag in the MBR portion on a hybrid MBR setup. I recommend turning off the active flag entirely. I've got some more notes on this issue here.

 

--xXb3LLXx--, you need to be clearer and more precise. What precisely is your partition layout, in the GPT and MBR terms? Try posting the output of relevant utlities, such as "diskutil list /dev/disk0" and "fdisk /dev/disk0". What sort of error does Windows display when it refuses to install? Does your computer use an old-style BIOS or a newer EFI firmware? (EFI is uncommon even on new systems, aside from Apple hardware.)

Link to comment
Share on other sites

--xXb3LLXx--, you need to be clearer and more precise. What precisely is your partition layout, in the GPT and MBR terms? Try posting the output of relevant utlities, such as "diskutil list /dev/disk0" and "fdisk /dev/disk0". What sort of error does Windows display when it refuses to install? Does your computer use an old-style BIOS or a newer EFI firmware? (EFI is uncommon even on new systems, aside from Apple hardware.)

 

 

that was quick :star_smile: well here's my output, fdisk only shows one guid partition, meanwhile diskutil shows several, this is all done on a GUID partition. I have a hidden EFI partition as my first partition, thens snow leopard, then snow leopard install cd, then Leopard 10.5.8, then on my 5th partition I try to install windows 7 and vista, and xp, but eventhough I format the disk using Diskutility to create the hybrid mbr/guid partition to install windows, all 3 windows recognize the GPT and say that they don't support GPT, and won't install. ive tried both x64 bit and x86, but none avail. also unfortuatly i have a bios, i Wish i had efi.

 

Here's all the info that you asked...hopefully it helps, and sorry for being too general, I have a tendency of thinking all people understand me :star_smile:

 

Disk: /dev/rdisk0 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

 

 

and diskutil which shows all partitions

 

/dev/disk0

#: TYPE NAME SIZE IDENTIFIER

0: GUID_partition_scheme *1.0 TB disk0

1: EFI 209.7 MB disk0s1

2: Apple_HFS Snow 801.4 GB disk0s2

3: Apple_HFS SnowInstaller 16.1 GB disk0s3

4: Apple_HFS Leopard 21.5 GB disk0s4

5: Apple_HFS backup 160.6 GB disk0s5

^

|

 

was the hybrid mbr/guid however I converted it to HFS and made a backup incase I messed anything up...

 

hopefully this gets resolved (YN)

Link to comment
Share on other sites

OK, --xXb3LLXx--, I suggest you check my page on hybrid MBRs. Note that it's part of the documentation for my GPT fdisk program, which can create a hybrid MBR. Hybrid MBRs are presently the simplest way to install Windows to a GPT disk, at least on BIOS-based hardware. I've recently heard of success using the UEFI DUET software to get Windows to install on pure GPT setups, but AFAIK there are no official binaries for this software; you've got to compile it yourself and dig through the documentation to figure out how to get it to work. Somebody sent me a binary, but it's not working for me. With time this approach may become very useful, but I think a hybrid MBR is a simpler and better-tested solution for the moment, even though hybrid MBRs are ugly and dangerous things, as my page on the topic details.

Link to comment
Share on other sites

OK, --xXb3LLXx--, I suggest you check my page on hybrid MBRs. Note that it's part of the documentation for my GPT fdisk program, which can create a hybrid MBR. Hybrid MBRs are presently the simplest way to install Windows to a GPT disk, at least on BIOS-based hardware. I've recently heard of success using the UEFI DUET software to get Windows to install on pure GPT setups, but AFAIK there are no official binaries for this software; you've got to compile it yourself and dig through the documentation to figure out how to get it to work. Somebody sent me a binary, but it's not working for me. With time this approach may become very useful, but I think a hybrid MBR is a simpler and better-tested solution for the moment, even though hybrid MBRs are ugly and dangerous things, as my page on the topic details.

 

your site is down :) , do u know of any way of forcing the windows to think its mbr? because all I need is it installed to that partition, and then chameleon can boot it...

Link to comment
Share on other sites

your site is down :thumbsup_anim:

 

Actually, there was a typo in the link I provided. I've fixed it. Sorry about the inconvenience.

 

do u know of any way of forcing the windows to think its mbr? because all I need is it installed to that partition, and then chameleon can boot it...

 

If I understand what you're asking, the answer is no (at least, AFAIK), and I believe you're wrong in your statement after the question.

 

First off, I don't know of any way of tricking Windows into thinking a GPT disk is an MBR disk, unless you count a hybrid MBR as doing that. Windows reads the disk directly, sees what it sees (MBR or GPT), and reacts as it deems appropriate. You'd need very specialized virtualization software or an unusual low-level driver to intercept Windows' calls to read the partition table and dynamically "translate" GPT data into MBR format. AFAIK, no such software exists.

 

Second, if you somehow get Windows onto a GPT partition (there are several ways to do this, such as copying it or converting MBR to GPT), it won't boot. I don't know enough about the low-level Windows boot process to know precisely what's going on, but as far as I can tell, Windows has two entirely different boot paths: One for BIOS-based systems and one for EFI-based systems. The Windows BIOS boot path just plain doesn't support GPT, although the Windows EFI boot path does. Thus, if you install Windows and convert MBR to GPT, Windows will stop booting. Believe me; I've tried this. That said, this post. describes a way to convert Windows from an MBR-booting to a GPT-booting configuration, but the process is complex and uses the EFI DUET software, which is very hard to get working, in my experience. Maybe there's a way to do this with Chameleon or some other OSx86 boot loader, but if so, I have yet to see the procedure documented anywhere. I'd like to experiment along these lines myself, but doing so is very time-consuming.

Link to comment
Share on other sites

Actually, there was a typo in the link I provided. I've fixed it. Sorry about the inconvenience.

 

 

 

If I understand what you're asking, the answer is no (at least, AFAIK), and I believe you're wrong in your statement after the question.

 

First off, I don't know of any way of tricking Windows into thinking a GPT disk is an MBR disk, unless you count a hybrid MBR as doing that. Windows reads the disk directly, sees what it sees (MBR or GPT), and reacts as it deems appropriate. You'd need very specialized virtualization software or an unusual low-level driver to intercept Windows' calls to read the partition table and dynamically "translate" GPT data into MBR format. AFAIK, no such software exists.

 

Second, if you somehow get Windows onto a GPT partition (there are several ways to do this, such as copying it or converting MBR to GPT), it won't boot. I don't know enough about the low-level Windows boot process to know precisely what's going on, but as far as I can tell, Windows has two entirely different boot paths: One for BIOS-based systems and one for EFI-based systems. The Windows BIOS boot path just plain doesn't support GPT, although the Windows EFI boot path does. Thus, if you install Windows and convert MBR to GPT, Windows will stop booting. Believe me; I've tried this. That said, this post. describes a way to convert Windows from an MBR-booting to a GPT-booting configuration, but the process is complex and uses the EFI DUET software, which is very hard to get working, in my experience. Maybe there's a way to do this with Chameleon or some other OSx86 boot loader, but if so, I have yet to see the procedure documented anywhere. I'd like to experiment along these lines myself, but doing so is very time-consuming.

 

Hmm it seems as though I've come up with a solution, I'm gonna try installing Windows First, then create a dmg of the windows partition, then write a whole new GPT and restore both the windows and mac partitions using diskutil, because from what ive seen the windows partition takes commands from chameleon telling it to load the ntldr and boot.ini, so as long as those are still true, it should be tricked....

Link to comment
Share on other sites

I've not tried what you suggest, but I'm very skeptical that it'll work, at least not by itself. Please check this post. and note all the hoops required to get Windows to boot from GPT, including changes to the Registry. Perhaps Chameleon can be used in place of UEFI DUET in that procedure, but I don't think it'll be as easy as you're hoping it'll be. If you want actual results rather than a way to tinker around for several hours, I suggest you look at either a pure-MBR configuration or a hybrid MBR setup. Both are known to work.

Link to comment
Share on other sites

Im in a similar situation, but with vista home/snow leopard/ubuntu.

 

After configuring a hybrid MBR, it seems installing grub or chameleon breaks the windows install and perhaps even blows away the hybrid MBR table (if I go back into gpt fdisk (fdisk) it claims the disk only has protective MBR again).

 

Has anyone got vista/snow leopard booting on a hybrid setup with chameleon (or in fact, any bootloader at all)?

 

Im confused by EFI partitions/microsoft protected partitions etc - Can someone who has this working show their entire partition table please?

 

muchos gracias

Link to comment
Share on other sites

Im in a similar situation, but with vista home/snow leopard/ubuntu.

 

After configuring a hybrid MBR, it seems installing grub or chameleon breaks the windows install and perhaps even blows away the hybrid MBR table (if I go back into gpt fdisk (fdisk) it claims the disk only has protective MBR again).

 

GRUB definitely doesn't damage the hybrid MBR -- or at least, no version of it I've used has done so. (I've tried both patched 0.97 and GRUB2.) I don't recall if I ever gave Chameleon the opportunity to cause this sort of problem on my own system, so I can't comment on it specifically. What does damage hybrid MBRs is GNU Parted and related utilities. It definitely wipes out the MBR boot loader on GPT disks, and IIRC it also converts a hybrid MBR into a "pure" protective MBR.

 

I've changed the informational prompts over the course of gdisk development, so to be sure what you've got, you may want to go into the experts' menu and use the 'o' option to display the MBR table. (See below.) IIRC, some earlier versions didn't report hybrid MBRs as such when the program was first launched.

 

Im confused by EFI partitions/microsoft protected partitions etc

 

An EFI System partition is a partition where EFI drivers may be stored. At least, that's my understanding of the official Intel intent for how such partitions would be used. I'm pretty sure that Chameleon uses it to store some of its boot-time data, but Chameleon formats it to HFS+, whereas Intel says it should be FAT32. This makes me nervous, but I don't know if any real harm comes of it.

 

I'm not sure what you mean by "Microsoft protected partition." There are at least a couple of GPT-related names that are similar to this, but I don't know of anything that goes by that exact name. OTOH, "official" names for some things elude me, so this could just be my own ignorance. Two similarly-named things include:

 

  • Microsoft Reserved Partition -- This is a partition type that Microsoft is known to use, or at least has set aside for its own use. I think (but am not positive) that it's used to store recovery data on EFI-based systems that run Windows. It's incorrectly set as a partition type for all FAT and NTFS partitions by GNU Parted and related utilities, which has the undesirable side effect of rendering the partition unusable from both Windows and Mac OS X.
  • Protective MBR -- This is the first sector of a GPT disk. It contains what looks like a (mostly) valid MBR partition table containing a single partition of type 0xEE ("EFI GPT"). In a hybrid MBR configuration, up to three more partitions are defined.

 

Can someone who has this working show their entire partition table please?

 

Here's what I've got on a triple-boot system (SUSE Linux/OS X 10.5.2/Windows 7 RC) with a hybrid MBR:

 

# gdisk /dev/sda
GPT fdisk (gdisk) version 0.4.1

Partition table scan:
 MBR: hybrid
 BSD: not present
 APM: not present
 GPT: present

Found valid GPT with hybrid MBR; using GPT.

Command (m for help): p
Disk /dev/sda: 488397168 sectors, 232.9 GiB
Disk identifier (GUID): ECA4D964-6D67-27C4-5007-F5EAA6179D12
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 488397134
Total free space is 5070 sectors (2.5 MiB)

Number  Start (sector)	End (sector)  Size	   Code  Name
  1			  34		  200737   98.0 MiB	EF02  BIOS boot partition
  2		  200738		  401624   98.1 MiB	EF00  EFI system partition
  3		  401625	   136326860   64.8 GiB	0700  SUSE Linux
  4	   136326861	   144518860   3.9 GiB	 8200  Linux swap
  5	   144518861	   261718749   55.9 GiB	AF00  Mac OS X
  6	   261718750	   359374999   46.6 GiB	0700  Windows 7 RC
  7	   359375000	   488392064   61.5 GiB	0700  Shared (NTFS)

Command (m for help): x

Expert command (m for help): o
MBR disk identifier: 0x5395611D
MBR partitions:
Number	 Boot	 Start (sector)	 Length (sectors)	Type
  1						1		  261718749 	0xEE
  2				261718750		   97656250 	0x07
  3				359375000		  129017065 	0x07

Disk size is 488397168 sectors (232.9 GiB)

 

This system boots using GRUB2 in the MBR and Chameleon loaded as a secondary boot loader. Here's my GRUB2 entry for OS X:

 

menuentry "MacOS X" {
	set root=(hd0,3)
	chainloader /boot/Chameleon/boot0 +1
}

 

Note that I've got the Chameleon first-stage boot loader stored in a file (/boot/Chameleon/boot0); I've not been able to get the system to boot when I bypass that file. A GRUB 0.97 configuration would differ slightly in syntax.

Link to comment
Share on other sites

thanks so much for that awesome reply Rod! I figured where Id gone wrong, and now I have ubuntu, snow leopard and vista all happily co-existing. The only issue I still face is booting SL..... it seems to chainload boot0 ok (from the ubuntu partition) but then proceeds to boot vista! I can boot it from the chameleon based dellboot cd though...

 

Im thinking of installing grub into the ubuntu partition and then putting chameleon on the MBR - but Im scared that installing chameleon on the bootsector will destroy the hybrid MBR......

 

hrm......

Link to comment
Share on other sites

GRUB definitely doesn't damage the hybrid MBR -- or at least, no version of it I've used has done so. (I've tried both patched 0.97 and GRUB2.) I don't recall if I ever gave Chameleon the opportunity to cause this sort of problem on my own system, so I can't comment on it specifically. What does damage hybrid MBRs is GNU Parted and related utilities. It definitely wipes out the MBR boot loader on GPT disks, and IIRC it also converts a hybrid MBR into a "pure" protective MBR.

 

I've changed the informational prompts over the course of gdisk development, so to be sure what you've got, you may want to go into the experts' menu and use the 'o' option to display the MBR table. (See below.) IIRC, some earlier versions didn't report hybrid MBRs as such when the program was first launched.

 

 

 

An EFI System partition is a partition where EFI drivers may be stored. At least, that's my understanding of the official Intel intent for how such partitions would be used. I'm pretty sure that Chameleon uses it to store some of its boot-time data, but Chameleon formats it to HFS+, whereas Intel says it should be FAT32. This makes me nervous, but I don't know if any real harm comes of it.

 

I'm not sure what you mean by "Microsoft protected partition." There are at least a couple of GPT-related names that are similar to this, but I don't know of anything that goes by that exact name. OTOH, "official" names for some things elude me, so this could just be my own ignorance. Two similarly-named things include:

 

  • Microsoft Reserved Partition -- This is a partition type that Microsoft is known to use, or at least has set aside for its own use. I think (but am not positive) that it's used to store recovery data on EFI-based systems that run Windows. It's incorrectly set as a partition type for all FAT and NTFS partitions by GNU Parted and related utilities, which has the undesirable side effect of rendering the partition unusable from both Windows and Mac OS X.
  • Protective MBR -- This is the first sector of a GPT disk. It contains what looks like a (mostly) valid MBR partition table containing a single partition of type 0xEE ("EFI GPT"). In a hybrid MBR configuration, up to three more partitions are defined.

 

 

 

Here's what I've got on a triple-boot system (SUSE Linux/OS X 10.5.2/Windows 7 RC) with a hybrid MBR:

 

# gdisk /dev/sda
GPT fdisk (gdisk) version 0.4.1

Partition table scan:
  MBR: hybrid
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with hybrid MBR; using GPT.

Command (m for help): p
Disk /dev/sda: 488397168 sectors, 232.9 GiB
Disk identifier (GUID): ECA4D964-6D67-27C4-5007-F5EAA6179D12
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 488397134
Total free space is 5070 sectors (2.5 MiB)

Number  Start (sector)	End (sector)  Size	   Code  Name
1			  34		  200737   98.0 MiB	EF02  BIOS boot partition
2		  200738		  401624   98.1 MiB	EF00  EFI system partition
3		  401625	   136326860   64.8 GiB	0700  SUSE Linux
4	   136326861	   144518860   3.9 GiB	 8200  Linux swap
5	   144518861	   261718749   55.9 GiB	AF00  Mac OS X
6	   261718750	   359374999   46.6 GiB	0700  Windows 7 RC
7	   359375000	   488392064   61.5 GiB	0700  Shared (NTFS)

Command (m for help): x

Expert command (m for help): o
MBR disk identifier: 0x5395611D
MBR partitions:
Number	 Boot	 Start (sector)	 Length (sectors)	Type
1						1		  261718749	 0xEE
2				261718750		   97656250	 0x07
3				359375000		  129017065	 0x07

Disk size is 488397168 sectors (232.9 GiB)

 

This system boots using GRUB2 in the MBR and Chameleon loaded as a secondary boot loader. Here's my GRUB2 entry for OS X:

 

menuentry "MacOS X" {
	 set root=(hd0,3)
	 chainloader /boot/Chameleon/boot0 +1
}

 

Note that I've got the Chameleon first-stage boot loader stored in a file (/boot/Chameleon/boot0); I've not been able to get the system to boot when I bypass that file. A GRUB 0.97 configuration would differ slightly in syntax.

 

Rod Could you possibly explain how you did this? I like the idea of partitions allotted to EFI and BIOS booting... could you please explain how i could possibly do snow leopard and windows 7? Thanks :)

Link to comment
Share on other sites

Why cant you just use Boot Think and forget about Chameleon and Grub (You dont even have Ubuntu in the disk)

 

It'll save a lot of time and you wont have 2 pages of forum to get that dualboot done.

 

First Id heard of it actually - looks interesting, thanks for the tip!

Link to comment
Share on other sites

Hrm. Looks nice.

 

After struggling with the broken installer, I finally got it installed to the MBR.

 

It doesnt pickup the linux install. It includes a data NTFS partition that isnt bootable. When I boot OSX, it crashes and gives me the "hold down the power button" screen.

 

Looks nice tho :D

Link to comment
Share on other sites

thanks so much for that awesome reply Rod! I figured where Id gone wrong, and now I have ubuntu, snow leopard and vista all happily co-existing. The only issue I still face is booting SL..... it seems to chainload boot0 ok (from the ubuntu partition) but then proceeds to boot vista! I can boot it from the chameleon based dellboot cd though...

 

I had a similar problem that I resolved by turning off the active/bootable flag (it's called different things by different utilities) for the Windows partition in the MBR. Chameleon seems to see that and boot straight to the active partition, which sort of defeats the purpose....

 

Im thinking of installing grub into the ubuntu partition and then putting chameleon on the MBR - but Im scared that installing chameleon on the bootsector will destroy the hybrid MBR......

 

In theory it should be fine. Boot loaders should only touch the first 440 bytes of the MBR, where they're supposed to reside, and leave the partition definitions themselves untouched. The fact that it's a hybrid MBR vs. a regular MBR-only MBR shouldn't change that.

 

In practice, you've got a mostly-working setup, and my experience with boot loaders is that making radical changes to mostly-working setups is asking for trouble. It's better to try to tweak what you've got than to make radical changes. The latter usually bite you somewhere unpleasant.

 

Rod Could you possibly explain how you did this? I like the idea of partitions allotted to EFI and BIOS booting... could you please explain how i could possibly do snow leopard and windows 7? Thanks :)

 

I set up the hybrid configuration with my own GPT fdisk utility; however, a tool called gptsync (sorry, I know of no single URL, but you could Google it) will do the trick, too.

 

I advise caution, though. As I detail on the hybrid MBR page of my GPT fdisk documentation, hybrid MBR configurations are tricky to set up, ugly, and dangerous. It's often possible to do what's needed without them, typically by using an MBR configuration that's been properly planned in terms of primary/logical layout. In fact, the system I described doesn't need a hybrid setup; it was working just fine (with Vista rather than Windows 7) in an MBR-only configuration. I only reconfigured it with a hybrid MBR to get experience with such setups and to test some GPT fdisk features. If I were anybody but me, I'd have recommended to myself that I not do it! :)

Link to comment
Share on other sites

 Share

×
×
  • Create New...