InfiniteMac OSx86  


Reply
 
Thread tools Display modes
  #1  
Old 05-13-2010, 10:25 PM
nuiluidwde nuiluidwde is offline
Cheetah
 
Join Date: May 2010
Posts: 5
Chameleon will not boot Vista on EFI

Hi, I'm new to OSx86, but I think I am close to a working installation.

At the moment, my setup consists of the following:
  • ASUS X58L Laptop with the following MBR primary partitions on a 120GB HD:
    1. ASUS recovery partition, boot flag enabled
      (this partition came with the boot flag enabled, so I didn't change it)
    2. Working vista installation
    3. Working snow leopard installation, boot flag enabled

I can boot fine to both Vista and OS X through my USB stick, which has Chameleon 2rc4 and the OS X installer installed on it. When I install Chameleon to my hard drive though, the computer will just try to boot into windows, but will fail in doing so. By removing the boot flag from the first partition, I managed to get Chameleon working, and I could then get into Snow Leopard, but Windows then complained of a missing or corrupt winload.exe. I decided to go back to the vista bootloader for now with the first partition set as bootable.

It seems that since windows is complaining about '\Windows\system32\winload.exe', that it is unable to load its filesystem. Does Chameleon somehow affect the windows boot environment? Do I need to add extra options to my com.apple.boot.plist file to get it to function? I've looked through a lot of articles on this on Google, but they all have either a different set up, or suggest things that are temperamental and could brick my laptop. Any suggestions? I would like to avoid using the windows bootloader if at all possible.

Thanks
Reply With Quote
  #2  
Old 05-14-2010, 05:37 PM
nuiluidwde nuiluidwde is offline
Cheetah
 
Join Date: May 2010
Posts: 5
Solution!

I just found out the reason why this happens and how to fix it. The Windows Vista bootloader has a special 'disk signature' at position 000001bc on the disk. This is so that if you move hard drives around, Vista will still boot properly by selecting the disk with this signature. One solution proposed by a site I found was to stop Windows using this:
Code:
BCDEDIT /set {bootmgr} device boot
BCDEDIT /set {default} device boot
BCDEDIT /set {default} osdevice boot
Quickly, I put this into the vista command line, changed my boot partition to snow leopard and installed chameleon, however this still didn't work, windows still complained and when I changed everything back, my recovery partition booted and required the bootloader to be fixed. Then I checked the position of the disk signature, 01bc, and found it on my vista mbr, preceded with zeros. Then, checking the chameleon mbr, I found that this space was also empty. This meant that I could cut chameleon down to size and simply replace 436 bytes of the mbr, instead of 446. When I rebooted, the vista partition still didn't load though, but it turns out that my recovery partition boots into vista for me by default, and booting into it worked


Solution
So, to get vista, 7, etc working, simply get boot0 ready, and use the following to install it:
Code:
sudo dd if=/path/to/boot0 of=/dev/rdisk0 bs=436 count=1
The use any partition software to make sure that only your mac partition is set as bootable, install the rest of chameleon to your mac partition, and boot!



The only problem is that when I boot, since I have to boot from my recovery partition, chameleon shows it as an unidentified hard disk, and i can't boot from the actual windows icon, but I should be able to sort that out. Does anyone know how to hide partition in com.apple.boot.plist, and how to add additional partition type images? The recover partition is type 1c, which isn't associated with anything else, and I'd like to give it the windows icon.
Reply With Quote
Reply