| ||||||||
Mac OS X Development Development and discussion on the latest hackintosh drivers and methods.
|
| | LinkBack | Thread Tools | Display Modes |
(#11)
|
| Super Moderator Posts: 1,356 Join Date: Jan 2009 Location: Idaho | Haha, yeah I tried that. I put my Win7 Installer on a SD card, so it has the little lock switch for read-only. I've never been successful with it yet, I think it still wants to write the file to it and gives up without trying the actual installation on the hard drive. Who knows, maybe I just did it wrong. Great idea, though, if anyone has any luck with it be sure to post! http://osx.mechdrew.com - News and Guides for Installing Mac OS X via NetbookInstaller - Now on Twitter |
| | |
(#12)
|
| Expert Member Posts: 560 Join Date: Dec 2009 | I believe that I may have figured out why installing Chameleon with NBI breaks booting Windows 7 until you do a repair. When NBI writes Chameleon's boot0 to the MBR, I believe it overwrites the entire 512-byte MBR, including the 4-byte disk signature area. When Windows can't find the disk signature it wrote, it refuses to boot. The solution would seem to be not to touch the disk signature. In fact, as discussed here, the official Chameleon binary package includes a modified fdisk that keeps the Windows disk signature intact. It seems to me that NBI should use it for the install (or just manually work around the 4 bytes). I am pretty sure this will solve this issue. Next time I run NBI and reinstall Chameleon, I will dump the (pre-repair) MBR using dd then verify the disk signature bytes are NULL. I will also try using dd to rewrite my currently working (post-repair) MBR (which I have already saved with dd) and see if that gets Windows booting again without doing the repair. On a somewhat related note, while looking into this issue, I came across a simple Chameleon patch that allows Windows 7 hibernation and sleep to work with Chameleon (see Reply #16 by hb76). Using hb76's instructions, I have successfully in place edited the following byte (in red) of the MBR (which is actually just the installed copy of Chameleon's boot0): 0x060: c6 04 00 b3 01 80 ff 01 75 0a 80 3c 80 75 0f 30 to 0x060: c6 04 00 b3 01 80 ff 01 75 0a 80 3c 68 75 0f 30 (This should only be attempted by advanced users that have a way to recover from a corrupted MBR, which can render a system inoperable. Try this at your own risk!). I used HxD in Windows (it worked just fine despite hb76's warning). In OS X, iBored should also work. More advanced users could even just use dd to write the byte change. Needless to say, I think this patch should ultimately be added to Chameleon (NBI version, if not mainline as discussed in the patch thread--has not happened as of RC4). With this small change, one can multi-boot with Chameleon, Windows will hibernate and sleep properly, and OS X will still boot normally (except possibly in the unusual case where the first HFS+ partition on the disk is not the Mac boot partition). [EDIT - Forgot to add (though it is in hb76's detailed instructions,) that after doing the byte-patch you have to set the Windows partition to be active in order for hibernation to work in Win 7.] |
| | |
(#13)
|
| Expert Member Posts: 560 Join Date: Dec 2009 | Looking at the source code for NBI, it indeed uses the standard OS X fdisk tool to update the MBR with Chameleon's boot0. As noted in its man page, the OS X fdisk "will overwrite the NT disk signature, if present." I am pretty sure this is what causes Windows 7 to fail to boot post-Chameleon install until the repair procedure is performed. This problem can seemingly be easily fixed in NBI by bundling and using (from the ramdisk) the fdisk binary supplied with the official Chameleon package, as that fdisk has been modified to retain the NT disk signature. |
| | |
(#14)
|
(#15)
|
(#16)
|
| Expert Member Posts: 560 Join Date: Dec 2009 | Quote:
Quote:
| ||
| | |
(#17)
|
(#18)
|
(#19)
|
| Senior Member Posts: 112 Join Date: Jul 2009 Location: Metro Detroit | I swapped in the new fdisk and ran NBI 0.8.3 Final and my Mini rebooted as it should. Woo hoo! I'm using EasyBCD instead of Chameleon so hibernate works for me in Windows7. (At least I think that's why it works.) |
| | |
(#20)
|
| Expert Member Posts: 560 Join Date: Dec 2009 | Quote:
Since you are using EasyBCD, I presume that your Windows 7 partition is active, so hibernate works. That said, I believe you can just uncheck the "Install bootloader" box when you run NBI--you don't need Chameleon since you have EasyBCD. No need for you to replace fdisk at all as that is only necessary because installing Chameleon overwrites the Windows disk signature in the MBR. | |
| | |
![]() |
« Latest way to get Lion on your Hackintosh!
|
Building 100% Vanilla on 10v (starting with fully working Audio) »
| Thread Tools | |
| Display Modes | |
| |
Copyright © 2008-2011 MyDellMini.com.









Linear Mode