Regarding IT

Saturday, September 02, 2006

Recovery Console and SATA disk

The Windows Recovery Console is, to me, an essential install. Normally, from the Windows XP/2000/2003 CD, just run "X:\i386\winnt32.exe /cmdcons" to install (where X: is the CD drive, or alternatively, C: since most pre-installed notebooks include all the setup files in C:\i386)

So imagine my horror when upon re-booting to test it, I was greet with a Blue Screen of Death and a STOP error! Testing with the Recovery Console directly off the CD also gave the same result.

A little research found me the reason: SATA hard disks require a driver that is not included with XP! Normally, when the Windows CD boots, it's possible to install the driver at the "Press F6 if you need to install a third party SCSI or RAID driver..." prompt, but this will load the drivers of a floppy drive. But of course, modern notebooks have no floppy drives!

Again, I couldn't find the solution on the web, but fortunately, by examining the Recovery partition, I managed to figure this out.

First, in the Device Manager, display the SATA Controller properties. In my case, its an Intel(R) 82801GBM SATA AHCI Controller. The Driver Details... button on the Driver tab will show the driver filename (iaStor.sys for me). Next, check the "Matching Device Id" in the Details tab to find the string the uniquely identifies the hardware ("PCI\VEN_8086&DEV_27C5&CC_0106").

Okay, now, in the \cmdcons folder, edit txtsetup.tif. In the section [SourceDisksFiles] add:

iaStor.sys = 1,,,,,,4_,4,1,,,1,4

In the section [HardwareIdsDatabase] add the following (most will not be needed, only the one matching the ID previously is required):

PCI\VEN_8086&DEV_25B0&CC_0104= "iaStor"
PCI\VEN_8086&DEV_24DF&CC_0104= "iaStor"
PCI\VEN_8086&DEV_2652&CC_0104= "iaStor"
PCI\VEN_8086&DEV_27C5&CC_0106= "iaStor"
PCI\VEN_8086&DEV_2653&CC_0106= "iaStor"
PCI\VEN_8086&DEV_2652&CC_0106= "iaStor"
PCI\VEN_8086&DEV_27C3&CC_0104= "iaStor"
PCI\VEN_8086&DEV_27C1&CC_0106= "iaStor"

In [SCSI.Load] and [SCSI] sections respectively, add:

iaStor = iaStor.sys,4
iaStor = "Intel(R) SATA RAID Controller"

Finally, from command line, use makecab to compress the driver file:

C:\windows\system32\drivers\iaStor.sys C:\cmdcons\iaStor.sy_

And that worked for me!

BTW, Intel has more information on integrating the driver into an XP unattended installation.


Post a Comment

<< Home