Friday, July 8, 2011

Highpoint RocetRAID 23xx always boots. SOLVED!

Ok, this just took me about an hour to figure out, and I only really stumbled upon it by accident. Hopefully this will show up SOMEWHERE in Google/Bing/Yahoo so someone else can find this to solve the issue.

Background:
I have an "older" PC that I want to turn into a media server, so I bought a SATA RAID card (Highpoint RocketRAID 2300). The machine has a HDD and a DVD burner in it - I installed the OS clean, patched the OS, then installed the card with OS drivers. So everything is working fine.

Installed the drives, boots fine.
Initialize the drives (no reboot).
Format the array (RAID5, but this doesn't actually matter).
Reboot, BAM - blinking cursor.

WTF?

Well, obviously it's trying to boot to the array because it won't even let me get into the PC BIOS. I can view the RAID BIOS, but once I exit out of that I get the blinking cursor (of death - heretofore known as the BCOD).

Grumble grumble. Pull RAID card, get into PC BIOS, make sure that I'm only booting to the hard drive and no other drives. Oh, what is this? The SATA hard drive is not native and the BIOS thinks it's on a SCSI controller card (pretty standard stuff, but probably related to my problem).

Put card back in, BCOD.

Leave card in, unplug drives, boot. Boots fine.
Reboot - go into PC BIOS, make sure the RAID card is NOT in the list of startup devices (it isn't - it's not even listed) and boot again. Boots without issue.
Reboot - got into RAID BIOS to see if there is some wonky setting THERE that says "boot to this device". There is, but there is nothing to configure (no drives are attached remember).
Attach drives, RAID BIOS, configure boot options... Only one device (the array) and no visible way to turn it off.

Reboot, BCOD.

Well, at this point I'm actually getting mad enough to read the manual...

Dig through the manual and there is another settings menu - when you flash the BIOS! This has a handy feature which is to turn off INT 13 support. Remember this was actually an issue in the old days of configuring PC hardware, like SCSI cards? Yeah INT 13, that still matters. Anyway - since I actually have 2 add-in cards to boot from (the onboard SATA controller and the SATA RAID controller), and the PC BIOS is not recognizing the SATA RAID controller, there's a fight and the SATA RAID controller "wins".

So - FINALLY I've figured it out. Fire up the RAID BIOS flash utility and disable INT 13 support. Remove drives (not card), boot windows, fire up flash utility...

HAHA no, wait. The option isn't available in the RAID BIOS flash utility! That button is grayed out! Loading a bios file enables the button though (I have to flash INT 13 support onto the card? strange) So, I set the setting, flash the BIOS and shut down. Attach drives. Finally this works!

BZZT! BCOD.

ARRGHH! DOUBLE YOU TEE EFF!

Remove drives, go BACK into Windows, fire up flash utility, INT 13 is enabled... what? Ok, so it probably doesn't read the settings from the BIOS, but how do I get it to save? Well, it DOES ask to save the configuration to file after I disable INT 13 support - maybe that's a "fresh" RAID BIOS image?

Hmm - look at file sizes (identical). I don't have a binary file diff tool, but I do have Notepad - files look similar (with strings in the same locations). What the hell - I can't use the array anyway - flash the newly saved file.

Reboot. Cross fingers.

Windows boots without issue.

So - to wrap it up. If you want to boot a system to a NON Highpoint controller, use the Highpoint RAID BIOS flash utility to make a custom flash file and then flash it with that.

No comments: