A hardware driver is software that provides the link between the operating system and the underlying hardware. It is separate from the main OS code (kernel) to enable support for arbitrary hardware that may not even exist when the Operating System was released.
There is a default set of drivers provided by Microsoft. These cover most common hardware. For hardware without default support, or for enhanced features or performance the manufacturer will provide drivers.
A driver will contain the following
- .inf file. This contains a description of the driver and its associated files. It will include a list of hardware it support and what operating system and CPU type it supports.
- .sys file. This is the driver software.
- .cat file. This is a list of included files with their cryptographic hashes, or thumbprints
It may also contain supplementary files containing localised text etc.
These files may either be shipped as a zip archive, a self extracting archive, or a full windows installer.
There are two points in the usage of Reflect where drivers may be required.
- Building Reflect rescue media
- Migrating an installed OS to new hardware — Redeploy.
Normally a driver will be added to an online (running) operating system. However, for Reflect usage, because the OS requiring the drivers is offline (not running) at install time, the discrete driver set is required; running a provided installer will install the files in the online (running) OS.
When the driver files are not distributed as a zip archive, there are two possible methods to extract these files.
7-Zip is a free and open-source file archiver. (https://www.7-zip.org)
Using third-party tools, it is possible to open the archive of the executable and manually extract files from inside it. One such tool is 7zip a free, open source archiving tool.
In the example below, I will be extracting the relevant files out of the Intel NVMe driver application. This will allow the Rescue Environment to communicate with the NVMe drive.
This application in this example contained a 32bit and 64bit folder when extracted. Depending on the architecture of the machine you will be using the Rescue Media on, you can then extract the files from the relevant Windows installer.
Once you have extracted the installer, you can locate where the driver files are located. Depending on how the installer is constructed, it may be necessary to extract further files. In this example, the NVMe driver files are located in a cabinet file (an archive file format).
By opening this cabinet file, we can find the relevant driver files. These files can then be added to the Rescue Media.
The second way to extract the driver files from the installer is to by running the installer. When the installer is running, these files are often stored in the %Temp% folder.
You can access this folder by pressing the Windows + R keys. This will open the ‘Run’ search menu. In the search box, enter %Temp% and press enter.
By checking the folders located in %Temp%, you can often locate these driver files.
Once the drivers have been extracted, you can follow the article linked below to add these to the Rescue Media:
It is not guaranteed that these methods will work with every installer, as it can depend on how the installer is constructed.