26

I'm trying to enable Intel SRT on my laptop. To do this, I need to change SATA controller mode from AHCI to RAID. The problem is that windows has no drivers for RAID and I can't install it while controller is in AHCI mode.

For now I have RAID driver in INF package (inf, sys, cat files). And I can load Windows recovery console with controller in RAID mode. The last thing to do is to intall this driver, but I don't know how to do it.

Google says rundll32.exe setupapi,InstallHinfSection DefaultInstall 123 <filename>.inf might help, but it doesn't.

1

4 Answers 4

13

use pnputil to add the driver to the driver store. Windows now detects the driver:

pnputil.exe -a C:\<filename>.INF 

And you should add the drivers before changing the mode.

7
  • Thanks for the help. Still have BSOD after controller mode change. Guess, this drivers should be mirrired on windows boot partition or something like that...
    – Oleg Titov
    Commented Jan 10, 2013 at 12:01
  • can you change the Mode back to AHCI, boot to Windows and install the driver there? Commented Jan 10, 2013 at 16:54
  • Yes, But it does not help. Intel's GUI installer installs only AHCI since no RAID is present, and using .inf I have BSOD.
    – Oleg Titov
    Commented Jan 10, 2013 at 18:07
  • 3
    Damn it! Safe mode boots normally with RAID mode. Further installation via normal graphical installer make posiible to boot without safe mode. So the real problem is solved.
    – Oleg Titov
    Commented Jan 11, 2013 at 3:05
  • 1
    Does this add the driver to the installed Windows driver store or the driver store of the stripped down recovery environment? I would think without telling it where to find the Windows installation it just installs it to the recovery environment
    – nijave
    Commented Jan 31, 2021 at 20:14
37

For me pnputil.exe did not do the trick. However, I found the following command, which helped: dism /Image:C:\ /Add-Driver /Driver:D:\ /Recurse. This assumes that your Windows is installed at C:\ and the disk with the driver is present at D:\. This appears to even work, if the disk contains drivers for different architectures (x86 and x64) and operating system versions (XP, 7, ...).

4
  • justed tested for a z390 motherboard windows7x64, works perfectly!
    – imbr
    Commented May 15, 2020 at 17:42
  • 1
    Works perfectly for virtualbox install of Windows 7 x86 imported to Proxmox
    – boussouira
    Commented Sep 15, 2021 at 23:12
  • 1
    This would not work if your system drive (C:) was on the RAID itself.
    – Logman
    Commented Apr 5, 2023 at 16:24
  • Contrary to @Logman comment above, I had an existing windows 11 install on the normal C: drive on an NVMe drive. I then enabled AMD raid on my NVMe drives in the BIOS and ofcourse Windows did a BSOD. Then I booted into recovery (WinRE) and used the above method to install the AMD raid drivers on the command line then rebooted and my Windows 11 booted successfully Commented Aug 26, 2023 at 2:22
4

The Origin Problem

I encountered an issue where I had a VM (W2k12) on Proxmox and needed more than one driver. However, I didn't know which driver was required, and pnputil was not available for Windows Server 2012 in the recovery console.

The First Solution

drvload drv.inf May work, if you know which driver is the correct one. On a Server might being a Mess and may get frustating!

The Workaround Method

To work around this issue, I used the following solutions:

a. I ran the command for /r %d in (*.inf) do drvload %d. This command searches recursively in the current directory and its subdirectories for all files and loads them as drivers. By doing this, I made sure that all available drivers were loaded into the system.

b. Once the drivers were loaded, I executed the following commands:

These commands assume that the Windows operating system is installed on the C: drive. The pnputil command installs a driver with the specified .inf file using the -i -a options. The dism command, which is used for servicing Windows images, adds a driver from the D: drive to the C: drive using the /Image:C:\ and /Driver:D:\ parameters. The /Recurse option ensures that the command recursively searches for drivers in the specified location.

Additionally, I used the following workaround steps:

cd /D D:
for /r %d in (*.inf) do drvload  %d
for /r %d in (*.inf) do c:\windows\pnputil -i -a %d

In this case, I assumed that the D: drive represented my CDROM/USB drive, and there were .inf files present. These commands changed the directory to the D: drive using cd /D D:, and then, using the for /r loop, iterated through each .inf file. The drvload command was used to install the driver in the recovery, and the c:\windows\pnputil -i -a command installed the driver using the pnputil tool.

The workaround solutions I employed involved recursive searches and executing commands against each driver file found. This enabled the installation of multiple drivers even in cases where the native recursive function was not available, such as in Windows Server 2012.

1
  • 1
    +1 Using drvload.exe instead of pnputil.exe was the key! Commented Apr 1 at 14:16
0

I had to use a hybrid of the answers already listed here.

First, load the driver to access the target (eg RAID) installation:

drvload driver.inf

Then inject the driver into it:

dism /Image:C:\ /Add-Driver /Driver:D:\ /Recurse

The above assumes that your Windows is installed at C:\ and the disk with the driver is present at D:\

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .