Сегодня мы покажем как загрузить любые драйвера в среду предустановки 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» в системе не установлено ни одной сетевой карты.
Т.е. в данном образе загрузочной среды WinPE отсутствуют сетевые драйвера, поддерживающие установленную в системе модель сетевой карты. Наша задача: загрузить в память системы сетевые драйвера, необходимые для работы с сетью.
В том случае, если необходимый сетевой драйвер для вашей модели сетевой карты хранятся на CD/DVD диске, определим букву CD-Room’а с помощью WMIC:
wmic cdrom get drive
В нашем случае CD приводу соответствует буква H: (Drive H:).
Если драйвера сетевой карты на диске находятся в запакованном состоянии (например, в виде cab-файл), можно создать временный каталог и распаковать в него содержимое cab архива с файлами драйвера при помощи утилиты expand:
mkdir x:\drivers
expand –r h:\LANdriver.cab –f:* x:\drivers
Примечание. Т.к. в нашем примере все эксперименты проводились на виртуальной машине VMWare, пришлось предварительно распаковать сетевые драйвера из образа VMWare Tools. Для этого на любой активной виртуальной машине монтируем образ с VMTools (в консоли ВМ меню VM-> Guest->Install/Upgrade VMWare Tools
С помощью следующей команды распакуем содержимое образа VMTools на диск:
D:\setup.exe /A /P g:\drivers
После окончания распаковки проверим, что полный путь к каталогам c сетевыми драйверами VMWare будет примерно такой:
G:\drivers\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
DrvLoad: Successfully loaded x:\drivers\vmxnet3dnis6.inf
Убедимся, что драйвер установился и система определила сетевую карту:
wmic nic get NetConnectionID
Для сетевого интерфейса «Ethernet» настроим автоматическое получение IP адреса с DHCP сервера:
wpeinit
netsh interface ipv4 set address name=”Ethernet” source=dhcp
Проверим, что сетевой интерфейс получил по DHCP IP-адрес и другие параметры TCP/IP:
ipconfig
Как мы видим, в загрузочной среде WinPE теперь доступна сеть. С помощью следующей команды мы можем смонтировать удаленную сетевую папку под буквой R:
Net use r: \\192.168.1.15\drv