Динамическая загрузка драйверов в среде 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) из сетевой папки.

Совет. Добавить драйвера в офлайн образ Windows можно с помощью DISM. Подробности можно почерпнуть из статьи про интеграцию драйверов в образ Windows.

Далее мы покажем как загрузить драйвер сетевой карты и настроить сеть в среде 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:\drivers\Program Files\VMware\VMware Tools\Drivers

Каталог с драйверами vmware tools Program Files\VMware\VMware Tools\DriversТ.к. тип виртуальной сетевой карты нашей виртуальной машины — VMXNET 3, нас интересует каталог именно с драйвером vmxnet3: G:\drivers\Program Files\VMware\VMware Tools\Drivers\vmxnet3\NDIS6.

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

Cd C:\drv\drivers\Program Files\VMware\VMware Tools\Drivers\vmxnet3\ndis6

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

drvload vmxnet3ndis6.inf

Онлайн загрузка драйвера vmxnet3ndis6.inf в WinPE с помощью drvload DrvLoad: Successfully loaded x:\drivers\vmxnet3dnis6.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.15\drv

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


Предыдущая статья Следующая статья


Комментариев: 0 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)