Windows: как установить драйвер из командной строки восстановления?

Я пытаюсь включить Intel SRT на моем ноутбуке. Для этого мне нужно изменить режим контроллера SATA с AHCI на RAID. Проблема в том, что в Windows нет драйверов для RAID, и я не могу установить его, когда контроллер находится в режиме AHCI.

На данный момент у меня есть драйвер RAID в пакете INF (файлы inf, sys, cat). И я могу загрузить консоль восстановления Windows с контроллером в режиме RAID. Последнее, что нужно сделать, это ввести этот драйвер, но я не знаю, как это сделать.

Гугл говорит rundll32.exe setupapi,InstallHinfSection DefaultInstall 123 <filename>.inf может помочь, но это не так.

3 ответа

Решение

Используйте pnputil, чтобы добавить драйвер в хранилище драйверов. Windows теперь обнаруживает драйвер:

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

И вы должны добавить драйверы перед сменой режима.

Для меня pnputil.exe не сделал трюк. Однако я нашел следующую команду, которая помогла: dism /Image:C:\ /Add-Driver /Driver:D:\ /Recurse, Это предполагает, что ваша Windows установлена ​​на C:\ а диск с драйвером присутствует на D:\, Это, кажется, даже работает, если диск содержит драйверы для разных архитектур (x86 и x64) и версий операционной системы (XP, 7, ...).

Проблема происхождения

Я столкнулся с проблемой, когда у меня была виртуальная машина (W2k12) на Proxmox, и мне требовалось более одного драйвера. Однако я не знал, какой драйвер требуется, а pnputil не был доступен для Windows Server 2012 в консоли восстановления.

Первое решение

drvload drv.infМожет работать, если вы знаете, какой драйвер правильный. На сервере может быть беспорядок, и это может расстраивать!

Обходной метод

Чтобы обойти эту проблему, я использовал следующие решения:

а. я выполнил командуfor /r %d in (*.inf) do drvload %d. Эта команда рекурсивно ищет в текущем каталоге и его подкаталогах все файлы и загружает их как драйверы. Сделав это, я убедился, что в систему загрузились все доступные драйвера.

б. После загрузки драйверов я выполнил следующие команды:

Эти команды предполагают, что операционная система Windows установлена ​​на диске C:. pnputilКоманда устанавливает драйвер с указанным INF-файлом, используя-i -aпараметры. Команда dism, которая используется для обслуживания образов Windows, добавляет драйвер с диска D: на диск C: с помощью параметров /Image:C:\ и /Driver:D:\. Параметр /Recurse гарантирует, что команда будет рекурсивно искать драйверы в указанном расположении.

Кроме того, я использовал следующие обходные пути:

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

В этом случае я предположил, что диск D: представляет собой мой привод CDROM/USB и там присутствуют файлы .inf. Эти команды изменили каталог на диск D:, используяcd /D D:, а затем, используя for/rцикл, повторяющийся по каждому INF-файлу. Команда drvload использовалась для установки драйвера в рекавери, аc:\windows\pnputil -i -aКоманда установила драйвер с помощью инструмента pnputil.

Обходные решения, которые я использовал, включали рекурсивный поиск и выполнение команд для каждого найденного файла драйвера. Это позволило установить несколько драйверов даже в тех случаях, когда встроенная рекурсивная функция была недоступна, например, в Windows Server 2012.

Другие вопросы по тегам