That doesn’t look like a black Macbook to me 😛
This past week I went back to school, so to speak, as I ripped my laptop apart and gave it its busiest week yet. Below, we assume that the reader knows that (1) yes, Apple has moved out of PPC and into the x86 platform; (2) it is possible to run Windows on Apple hardware, and that it is likewise true that the Mac OS can be made to run on off-the-shelf, non-Apple hardware; and (3) OS X is based off Darwin, whose native boot loader supports BIOS, unlike Apple’s EFI setup which even Windows Vista cannot touch. I’ll set aside arguments on the legalities of the existence of the OSx86 project, and whether getting your hands on a modified OS X install media for the purpose of learning constitutes fair use under the DMCA. The steps outlined below describes what worked for a dual-boot between Windows Vista (Business, but any Vista flavor will work) and OSx86 (Tiger).
It is always best to start with a blank disk, but any free, unpartitioned space of 6 GB or greater available should work. Whether this is a fresh Windows install or an existing one, the assumption is that the Windows partition (towards the beginning of the drive) is set as active.
Boot from the OSx86 10.4.8 install disc and launch Disk Utility from the Utilities menu. Here you can lock down the Windows partition so that the contents remain intact while you create and format a Journaled HFS partition. Do not forget to specify a label (which will be the mount point, and is always good practice to have). Exit and return to the main screen.
Launch the Terminal from the Utilities menu. Here we have a single-user Unix prompt. Enter:
# diskutil list
(a result of disk0s2
where it says Apple
or HFS+
indicates the Mac partition is in the first disk indicated by 0
, in the second partition)
# fdisk -e /dev/rdisk0
(the rdisk0
part here should match with disk0s2
above such that disk1s2
translates to fdisk -e /dev/disk1
. Here we enter partitioning mode for the first disk)
# f 2
(the 2
part here should again matchdisk0s2 in our example. We “flag” the partition as active and make the disk boot from this partition on the next startup)
# write
(enter y
to confirm changes to the disk)
# exit
(-out of fdisk)
# exit
(-out of the terminal session)
Proceed with the installation, careful with which kernel extension (kext) to install for the specific hardware in use. at the end of this process, you’ll end up with the Darwin boot loader defaulting to booting from the install disc. We’ll fix this in the next steps.
Boot from the install disc in GUI mode all the way to where you can launch the Terminal from the Utilities menu. In the next steps, we assume disk0s1
is the Vista partition and disk0s2
is the Mac partition.
Fixing the Startup Disk: there must be a way to set the Startup Disk via the terminal, but the one way that worked in this experiment is to use Utilities > Startup Disk and selecting “Mac OS 10.4.x” on mount_point. after this, the Mac OS should load up from the disk just fine.
Reboot from the OSx86 install disc again, but this time select F8 at the prompt and enter -s (for single-user mode):
# fdisk -e /dev/rdisk0
# flag 1
(again, 1
being the Vista install partition)
# quit
Restart the computer and Vista will present instructions on repairing winload.exe
. Basically it only involves booting from the original Vista install media (OEM recovery DVDs with more than just the Vista image will not work) and selecting “Repair my computer”. Should take less than two minutes. This fixes Vista’s boot loader. Go ahead and test it.
Reboot into single-user/command-line mode from the OSx86 install disc yet again:
# fdisk -e /dev/rdisk0
# flag 2
(2
being the OSx86 install partition)
# quit
This makes the disk boot off the second partition where the Darwin boot loader is. If you don’t see the boot menu, you will have to catch the precise second between the end of the POST sequence and the grey screen with the Apple logo and a throbber below it, or you may want to do a sudo nano /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
and include <key>Timeout</key>
and <string>8</string>
within the dict
element. The Darwin boot loader defaults to the OS installed in the active partition and because I found no information about making it do otherwise (e.g., to the Windows partition), I’ll have to live with catching the Darwin menu and selecting the Windows partition for as long as I intend to live with this dual-boot setup.
If you really intend to get into OSx86 (and more *nix-savvy than I am, which is not at all difficult a condition), there are more intricate ways to dual-boot. InsanelyMac has a very rabid following, it comes to me as a surprise why Apple has not done anything about taking legal action yet.