The ADK and MDT provided boot images have suited my needs to service a range of 15-20 different models of laptops, 2-in-1s, and desktops for the last several years, but understandably there is a use case for creating a custom boot image and injecting drivers in it to make it compatible with your own needs.
Before we start, I want to outline some assumptions and make a few notes.
- Ensure you’re up to date with the latest ADK. This is to ensure you’ll support the latest versions of Windows, as well as any improvements/hotfixes that are naturally included.
- Ensure you have a need. I’m a big fan of keeping things simple where I can. Test the boot image on the devices you’ll need to service first and check to see if things work as you would expect. If so, no need to inject drivers!
- To test, enable Command Prompt Support in your boot image. To do this, right-click the boot image, properties, go the Customization tab, and at the very bottom. This is considered unsafe practice for a production implementation, so after I’m done testing, I disable this.
- When you boot to the boot image, Press F8 to open Command Prompt. A simple ipconfig here will verify your network adapter is working properly, and diskpart, list disk will verify your storage is available.
- Once you’ve validated you have a need, make sure your drivers for this device are available in the driver store by importing them. Make sure to label them properly, and organize them as best you can to prevent a headache later on.
- It’s worth noting, if you have MDT integrated, you can use the MDT Boot Image, which includes even more customization options. Also worth noting, everything you add as a customization will increase the size of your boot image, potentially creating a longer imaging time. To help with this, I recommend making some alterations to the PXE boot times; you can read more about it here, in a blog post by Jörgen Nilsson (@ccmexec)
- Most OEMs provide driver packs for their models directly. You can find these below:
We’ll make a copy of the existing boot image. You can make changes to the one the ADK created, but I’m a fan of having a backup just in case.
Once the backup is created, ensure your task sequence is set to use this boot image before attempting to make any changes - this will stage the boot image, and provide the ability to make some customizations. You can’t make easy customizations to a boot image that is not in use. Well, you can with DISM and some other tools, but that’s another deal completely.
- Right-click the boot image, select properties; this is our workspace.
- To inject drivers, it’s quite simple - navigate to the Drivers tab, and click the Add button. It’s intuitive from here.
- If you want to enable features such as Microsoft .NET or HTML, for any task sequence dependencies you might have, go to the Optional Components tab, and click the Add button near components.
- After making your changes, make sure to update your distribution points and test!
- If you have multiple SMS Providers, the ADK must be on the same version on all of them in the site. You can check this by running the following SQL Query against the database; select * from OSDeploymentKitInstalled
If there was anything I failed to cover, or if any of my information is misleading, unuseful, or wrong, please let me know! @tstolswo on twitter for any questions, or if you’d like me to add something.
This was written on the fly to try to help a community member, so please forgive any mistakes made in my haste.