25

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.

Chindraba
  • 1,963
  • 1
  • 11
  • 25
Oleg Titov
  • 383
  • 1
  • 4
  • 8
  • 5
    `drvload.exe .inf` worked fine for me in windows 10 Link: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/drvload-command-line-options – mgoetzke Aug 20 '19 at 09:10

3 Answers3

32

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, ...).

devurandom
  • 453
  • 1
  • 5
  • 8
  • justed tested for a z390 motherboard windows7x64, works perfectly! – imbr May 15 '20 at 17:42
  • 1
    Works perfectly for virtualbox install of Windows 7 x86 imported to Proxmox – boussouira Sep 15 '21 at 23:12
  • 1
    This would not work if your system drive (C:) was on the RAID itself. – Logman Apr 05 '23 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 – Chris Smith Aug 26 '23 at 02:22
12

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.

magicandre1981
  • 97,301
  • 30
  • 179
  • 245
  • 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 Jan 10 '13 at 12:01
  • can you change the Mode back to AHCI, boot to Windows and install the driver there? – magicandre1981 Jan 10 '13 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 Jan 10 '13 at 18:07
  • In Device manager select "add legacy device" and select the Intel RAID driver here. Now reboot and change the mode again. – magicandre1981 Jan 10 '13 at 20:52
  • when pointing to the folder with intel drivers nothing happens. I guess, because this drivers already installed in the system... Still BSOD after reboot with RAID mode. – Oleg Titov Jan 11 '13 at 02:33
  • 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 Jan 11 '13 at 03: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 Jan 31 '21 at 20:14
1

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.

djdomi
  • 228
  • 1
  • 10