Сьогодні ми покажемо як завантажити будь-які драйвера в середу предустановки 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" в системі не встановлено жодної мережевої карти.
Тобто в даному образі завантажувального середовища 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