2/04/2007

Tri Boot Havoc

Let me just say that i'm liking the term I came up with of "Taggers" (Tablet Bloggers) from the other post, especially since there's a similarity between a tagger's graffiti and a tablet Pc user's ink. 

So anyways, I decided to kill of my XP partition in the hopes of getting OSX 10.4.7 installed instead.  I wanted to see how OSX would fair on my mighty Thinkpad X60 Tablet.  It turned out to be a bittersweet journey which

Much to my surprise, i had to do little in the way of hacking to get this OS to work.  A little bit of partition hacking was necessary for OSX 10.4.2 where I had to delete an existing partition and format it as a FAT32 for the OSX install program to recognize it as a partition.  Then I would be able to tell the OSX installer to delete the partition, and the remaining space could be used for OSX.  That's odd because if the space was available before OS, or if it was not specifically deleted by OSX it would not be recognized by OSX.  I guess only Apple knows how to correctly delete a partition, and they are not letting any of the other partition(er)s in on the secret {= ).

So back to the install, 10.4.7 did not have any such requirements, it detected it all in one felt swoop, which was nice.  I was, however, obligated to select the pentium SSE2 and SSE3 install options myself.  I was a little dissapointed that the installer hadn't figured out what I had.  I also chose something called JaS which seems to be something new to the OSX release, when i find out what it is I will report back.

So the install goes beautifully, almost too beautifully.  Usually a "beautiful" process is either under reporting errors or ignorant of them.  It turns out that the HFS+ partition is not your standard partition typeb that Grub (the boot loader I am using) can recognize.  As a result the only message i get is "grub Error 17" roughly translated "Cannot Mount specific partition".  And thus starts my trek into understanding Master Boot Records and Boot Loaders.  In my decade of experience, that is one of the most obscure inner workings of a computer that even the most seasoned techie will not be able to fully break down.  Mainly because it's a little disjointed, but i digress.

The grub boot loader wasn't so tough to fix, especially since i was able to do some googling from another  PC.  The reason of why grub wasn't working was a little more obscure.  In installing OSX, the order (or numbering) of my partitions seemed to have changed.  The original partition (Winxp) was partition 1, sda 1 or hd (0,1), it now became partition 0, sda 0, or hd(0,0).  This caused all of the other partition numbering to decriment by 1.  The fix was to boot to the live CD and open up the /etc/grub/menu.lst and change the old numbers to the new ones.  That seemed to have worked for OSX and Ubuntu, but not for Vista. 

Vista had it's own way of booting which seemed to have taken that new numbering scheme into consideration.  The problem is that Vista no longer uses a Boot INI and so it's not as easy to recover.  I also seems that the only way to correct this issue is to use MS specific tools from the recovery console (as opposed to being able to open the boot ini from a linux live cd).  So off the bat, not only am I not able to edit the boot sequence using a regular text editor, i can only do it from a vista tool off of the Vista install/recovery CD.  Lame, but anyways, I figured out that the old boot ini system was replaced with something called Boot Control Data (or BCD for short) and that there were a few bcd tools on the Cd i could use.  Namely BCDEdit, Bootrec, and BootSect.  The BCD data rested in a c:\Boot folder in a file called BCD (no extension).

BCDEdit will let you see what's inside the BCD file, I recommend backing up the BCD file as it may be the only thing keeping you sane.  you can create an entirely new BCD file with BCD edit, which i did.  Then BootRec will allow you to rebuild a BCD to point to an OS if it is detected, which didnt really work for me.  Finally the BootSect function allows you to reset all boot options to what they were after Vista was originally installed. 

After staying up 8 hours, the magic bullet turned out to be:
bootsect.exe -NT60 SYS c: /force
Grub, OSX, Ubuntu, and Vista were all back to functional condition, with enough spare time for me to get ready and head off to work, albeit with absolutely no sleep.

No comments: