Inject drivers into a boot configuration
Some deployment scenarios may require a different approach to deploying certain drivers.
Some devices need to be fully initialized before starting the Windows HAL. Devices, such as some docking stations, that support Mac address pass-through.
To provide a simple and comprehensive method of addressing such scenarios, Matrix42's WinPE-based deployment provides the ability to declare driver packages to be injected into the boot image.
Only the drivers that are necessary for the WinPE phase are integrated here. Drivers for the Windows client itself can be provided via the Driver Assistant.
In the following short tutorial, we add an exemplary driver that is injected into the boot image.
- In the navigation bar, switch to Configuration and select Boot Configurations.
- Click the New button to create a new boot configuration.
- Activate the Advanced Properties in the upper right corner.
- Customize the Name and Description fields according to your requirements.
- Select the desired agent template from the Agent Template drop-down box.
- Select the platform(s) to support (EFI x86, EFI x64, BIOS).
- Set the TFTP Block Size to be used.
- Now add a driver to the boot configuration by clicking on the icon below the driver list and selecting the desired driver.
Added drivers can be deleted by clicking the trash icon on the right side of the driver list.
A driver was added to the boot image, in this case a VMware VMCIBus driver.
This driver is marked as "Inject Driver" type and will be injected into the boot configuration afterwards.
Another driver has also been added, in this case a PVSCSI driver, to show the visual difference between the two driver integration options.
Note that a newly added driver is added by default as a "Driver Folder" type, which means that the driver is loaded into WinPE at runtime.
To change the type of the driver, click on the list entry, this opens a pull-down menu where you can change the driver type for this specific boot image.
All drivers which are integrated here are part of the boot image which must fit into the RAM of the client to be installed! Therefore, should be avoided to integrate whole driver archives (which can be quite meaningful in the Windows client driver management).
In addition, only three driver classes are relevant in the WinPE phase: Network, storage, and chipset drivers.
All other driver classes (audio, graphics card, camera, HID, etc.) are unnecessary ballast for WinPE.
In principle, all drivers of the classes network, storage and chipset can be injected.
For some chipset drivers an inject is even mandatory since these require a reboot with (if WinPE is not present) system persistence.
If you integrate many similar drivers (e.g. network cards) with the same or similar PCI ID, an inject can lead to problems - integrating the drivers via a directory helps here.