Like this question: How to install RAID drivers on already installed Windows 7?, but for AMD (or general for all hardware, if such solution exists).

So: Windows 7 is installed with SATA controller in AHCI mode. Afterwards I added two more hard drives to be used as a RAID pair.

Which leads to the known catch-22:

  • if I enable RAID mode in BIOS, Windows won't boot due to missing RAID driver
  • if I boot still in AHCI mode, Windows won't let the RAID driver be installed, since there is no RAID controller present

So the question is: How to force Windows to install a driver, when the corresponding hardware is not present?

In my case the driver is a simple pack of INF, SYS and CAT file.

link|improve this question
Shouldn't Windows 7 still boot? I changed whole mainboards and it still booted flawlessly. Although it could be very different when it's a raid controller... (Which is also why I don't answer, I'm way too unsure :P) – sinni800 Jun 21 '11 at 11:20
@sinni800 A lot of RAID controllers do not have drivers included with Windows (7 or otherwise). So when you are loading Windows, you have to hit F6, or the do the equivalent in Windows 7, and load the drivers from a disk as you are installing. Otherwise, it will not install even when it get to the point it is looking for a drive. After you boot, as in this case, you can just add the driver as I described, and then even if you change the disk configuration, it will find the right driver because you added it that way. When you did it, it worked because the drivers were included in Windows. – KCotreau Jun 21 '11 at 15:49
Yes, yes, I know all that... Though I thought Windows 7 is superman and has all drivers ;D. It has the Intel Raid drivers – sinni800 Jun 21 '11 at 18:27
I solved the problem. Running in RAID mode now. I'll post details tomorrow. – David Balažic Jun 21 '11 at 21:31
feedback

2 Answers

up vote 2 down vote accepted

OK, as said , I solved the problem. As I did several tries, I can not be sure what steps are necessary and what not, so I'll list everything I did.

First, the situation:

  • a PC with an AMD SB820M chipset - 4 SATA/RAID ports (I'll refer to this controller as "RAID controller" from now on)
  • one hard drive connected to the RAID controller
  • additional IDE/SATA controller with 2 ports (for eSATA and optical drive, I guess) (from now on "IDE controller")
  • RAID controller set to AHCI mode, Windows 7 installed on the first (and only) HD

Then:

  • I added 2 more hard drives, set RAID controller mode to RAID, and set up some RAID arrays on the 2 new HDs (all this in BIOS setup)
  • try to boot Windows, it fails (it reboots during startup, no error message is visible)

  • I set controller mode back to AHCI

  • boot Windows (works)

Now the trick (part one):

  • I picked the (unused) IDE controller as a scapegoat for the RAID driver
  • in Device Manager I looked up the PCI ID of the IDE controller (it was 439C) (select Properties on the controller, the ids are on the tab Details, under HardwareId in dropdown menu)
  • in the RAID driver INF file (ahcix86s.inf) I added a line with this ID:

before:

%NapaDesc%=Napa_Inst,PCI\VEN_1002&DEV_4392 %NapaDesc%=Napa_Inst,PCI\VEN_1002&DEV_4393

after:

%NapaDesc%=Napa_Inst,PCI\VEN_1002&DEV_4392 %NapaDesc%=Napa_Inst,PCI\VEN_1002&DEV_4393 %NapaDesc%=Napa_Inst,PCI\VEN_1002&DEV_439C

  • then in Device Manager I selected to Update the driver of the IDE controller, "let me select the driver", Have disk... and select the above INF file and then the driver.

  • reboot, set RAID controller mode to RAID in BIOS

  • boot Windows, fails again, the same way as before
  • set RAID controller mode back to AHCI in BIOS
  • start Windows

The trick (part two):

  • start "regedit" and in key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_1002&dev_4392 change the value Service to ahcix86s (see note below)
  • restart, in BIOS change mode again to RAID
  • boot Windows
  • success !

(after it worked, I went to Device Manage again and set the driver for IDE controller back to the correct one: Update driver, select automatically...)

* the 1002/4392 is the PCI id of the RAID controller when set to RAID mode. It is listed in the mentioned INF file. You can also try to look it up on this web site. The most reliable info is to set the controler to RAID mode, boot some OS (Linux comes in small handy formats) and check the PCI id there. In linux the lspci command shows this info.

link|improve this answer
feedback

Have you tried going to:

Control Panel>Device Manager>Click on top item and right click>Add legacy Hardware>Next>Install the hardware that I manually select from a list (Advanced)>Storage Controllers>Next>Have Disk

Then navigate to your driver, and intall it. When you make your changes and reboot, the driver will then be there for it to automatically find for the new device.

link|improve this answer
I tried that, but after OK-ing the Have disk.. dialog, the wizard shows no items. I'll try another package of the drivers (EXE, 27 MB big...) – David Balažic Jun 21 '11 at 19:11
@David Balažic You need to figure out where it extracts that EXE file and then point to the directory with the drivers. Hard to guide you more since it varies from EXE to EXE. – KCotreau Jun 21 '11 at 19:20
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.