Динамическая загрузка драйверов в среде WinPE

Динамическая загрузка драйверов в среде WinPE

Сегодня мы покажем как загрузить любые драйвера в среду предустановки Windows (WinPE — Windows Preinstallation Environment ) непосредственно в процессе работы системы (т.е. онлайн). В некоторых случаях это гораздо проще и быстрее, чем интегрировать драйвера в загрузочный образ WinPE, и не требует наличия сторонних программ. Все что нам потребуется, утилита Drvload, которая уже входит в среду WinPE (начиная с WinPE 3.0, которая собрана на базе Windows 7).

Утилита Drvload позволяет с помощью inf файлов добавить необходимые драйвера прямо в загруженный образ среды WinPE. Запросы на перезагрузку системы, содержащиеся в INF-файлах драйверов средой WinPE игнорируются, а том случае если требование перезагрузки содержится в SYS-файле, такой драйвер загрузить с помощью Drvload не удастся.

Возможность динамической загрузки драйверов в среде предустановки Windows может понадобиться, когда в загрузочном образе WinPE отсутствуют встроенные драйвера сетевой карты, и, как следствие, установка/загрузка системы через PXE не работает. Кроме того возможность загрузки драйверов в WinPE часто требуется при необходимости выполнить полное восстановление системы (bare metal recovery) из сетевой папки.

Далее мы покажем как загрузить драйвер сетевой карты и настроить сеть в среде WinPE.

Запускаем среду WinPE (среда предустановки Windows), загрузившись с установочной или загрузочной флешки/диска с Windows 8 (или с ERD диска), и на экране выбора языка/локали нажимаем комбинацию клавиш Shift+F10. В открывшемся окне командной строки проверим, видит ли загрузочная среда сетевой адаптер, выполнив команду:

wmic nic get NetConnectionID

Судя по ответу «No Instance(s) Available» в системе не установлено ни одной сетевой карты.

wmic nic get NetConnectionID

Т.е. в данном образе загрузочной среды WinPE отсутствуют сетевые драйвера, поддерживающие установленную в системе модель сетевой карты. Наша задача: загрузить в память системы сетевые драйвера, необходимые для работы с сетью.

В том случае, если необходимый сетевой драйвер для вашей модели сетевой карты хранятся на CD/DVD диске, определим букву CD-Room’а с помощью WMIC:

wmic cdrom get drive

В нашем случае CD приводу соответствует буква H: (Drive H:).

Определяем букву CDrom в системеЕсли драйвера сетевой карты на диске находятся в запакованном состоянии (например, в виде cab-файл), можно создать временный каталог и распаковать в него содержимое cab архива с файлами драйвера при помощи утилиты expand:

mkdir x:drivers  

expand –r h:LANdriver.cab –f:* x:drivers

Примечание. Т.к. в нашем примере все эксперименты проводились на виртуальной машине VMWare, пришлось предварительно распаковать сетевые драйвера из образа VMWare Tools. Для этого на любой активной виртуальной машине монтируем образ с VMTools (в консоли ВМ меню VM-> Guest->Install/Upgrade VMWare Tools

Vmware монтируем диск с VMWare Tools

С помощью следующей команды распакуем содержимое образа VMTools на диск:

D:setup.exe /A /P g:drivers

Распаковка драйверов из образа vmtoolsПосле окончания распаковки проверим, что полный путь к каталогам c сетевыми драйверами VMWare будет примерно такой:

G:driversProgram FilesVMwareVMware ToolsDrivers

Каталог с драйверами vmware tools Program FilesVMwareVMware ToolsDriversТ.к. тип виртуальной сетевой карты нашей виртуальной машины — VMXNET 3, нас интересует каталог именно с драйвером vmxnet3: G:driversProgram FilesVMwareVMware ToolsDriversvmxnet3NDIS6.

Перейдем в каталог с драйверами (он будет зависеть от того, куда был распакован архив с файлами драйвера)

Cd C:drvdriversProgram FilesVMwareVMware ToolsDriversvmxnet3ndis6

И с помощью утилиты drvload загрузим драйвер сетевой карты vmxnet3:

drvload vmxnet3ndis6.inf

Онлайн загрузка драйвера vmxnet3ndis6.inf в WinPE с помощью drvload DrvLoad: Successfully loaded x:driversvmxnet3dnis6.inf

Убедимся, что драйвер установился и система определила сетевую карту:

wmic nic get NetConnectionID

Появилось сетевое подключение EthernetДля сетевого интерфейса «Ethernet» настроим автоматическое получение IP адреса с DHCP сервера:

wpeinit

netsh interface ipv4 set address name=”Ethernet” source=dhcp

Проверим, что сетевой интерфейс получил по DHCP IP-адрес и другие параметры TCP/IP:

ipconfig

Получение сетевых настроек с DHCPКак мы видим, в загрузочной среде WinPE теперь доступна сеть. С помощью следующей команды мы можем смонтировать удаленную сетевую папку под буквой R:

Net use r: 192.168.1.15drv

Net use подключаем сетевую папку

Qiziqarli malumotlar
Динамическая загрузка драйверов в среде WinPE