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.