# UEFI System Firmware Update

{% embed url="<https://www.recastsoftware.com/?utm_source=osdeploy&utm_medium=ad&utm_campaign=web>" %}
OSDeploy is sponsored by Recast Software
{% endembed %}

## OSD Module

Make sure that your OSD Module is at least version 21.7.11.1.  Once you have that, you can use Get-MyBiosVersion to check your current BIOS version

![](https://3420392058-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LpnxLqvh8u2fEz86kIM%2F-MeJUZxfHI2PLv1Ac5dM%2F-MeJYaXxuOXTwWGTHbvO%2Fimage.png?alt=media\&token=e31de0c6-1b5b-43b4-990f-ec5d5a44056c)

{% hint style="warning" %}
Installing Firmware Drivers will require Admin Rights, and make sure you have your Bitlocker Keys backed up and that you suspend Bitlocker before any updates
{% endhint %}

## UEFI Firmware Update Platform

Before going any further, its important to understand what the Windows Firmware update platform is.  Enjoy the read and come back when you are up to speed

{% embed url="<https://docs.microsoft.com/en-us/windows-hardware/drivers/bringup/windows-uefi-firmware-update-platform>" %}

## Device Manager

Taking the information from the Microsoft Windows UEFI firmware update platform link, you can see that (on Windows 10) the System Firmware is in Device Manager.  Digging into the Details provides a value for the Firmware Resource ID

![](https://3420392058-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LpnxLqvh8u2fEz86kIM%2F-MeJN-C1I2XJsNIUv2t3%2F-MeJNDlvGxVMakX9y3TM%2Fimage.png?alt=media\&token=5796279a-7ab2-4088-933c-dde7c172bf0b)

You can get this information from PowerShell using **`Get-CimInstance`**

![](https://3420392058-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LpnxLqvh8u2fEz86kIM%2F-MeJN-C1I2XJsNIUv2t3%2F-MeJOjc7SKYWsgMZdjZ2%2Fimage.png?alt=media\&token=e9050461-de74-4c8b-b94e-64adb6759d71)

Or use two new OSD Functions to provide this information

![](https://3420392058-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LpnxLqvh8u2fEz86kIM%2F-MeJN-C1I2XJsNIUv2t3%2F-MeJONrbAj00pPUlXhzw%2Fimage.png?alt=media\&token=b0a10ecb-a6d1-41cd-9553-52d6a421fa33)

## Microsoft Update Catalog

Finally you can take the System Firmware Resource (Guid) and run a search in Microsoft Update Catalog and you should be able to find the matching UEFI Firmware Updates for your system.  Just select the newest one and download the CAB

![](https://3420392058-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LpnxLqvh8u2fEz86kIM%2F-MeJN-C1I2XJsNIUv2t3%2F-MeJQ8WNcdxdIiUR24oN%2Fimage.png?alt=media\&token=3ef69bac-dcf6-4ea4-81c9-879237c51be1)

{% embed url="<https://www.catalog.update.microsoft.com/Search.aspx?q=%7bDB72C932-B3C6-4640-B382-3F4619AB447B%7d>" %}

## MSCatalog Module

You can also query the Microsoft Update Catalog directly with the MSCatalog PowerShell Module written by [Ryan Kowalewski](https://ryanjan.uk/)

{% embed url="<https://ryanjan.uk/download-and-install-offline-windows-updates/>" %}

{% embed url="<https://www.powershellgallery.com/packages/MSCatalog/0.24.0>" %}

## Get and Save SystemFirmwareUpdate

To make things easier for you, these two OSD Functions will help speed things along.  **`Get-SystemFirmwareUpdate`** will return the newest UEFI System Firmware for your device and **`Save-SystemFirmwareUpdate`** will download the Update and expand the package

![](https://3420392058-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LpnxLqvh8u2fEz86kIM%2F-MeJUZxfHI2PLv1Ac5dM%2F-MeJZpN8XcXodPO5CNnu%2Fimage.png?alt=media\&token=7b656c5d-c46a-458c-b7a4-174bfd6be40d)

## Install

Installation is quite simple.  Simply right click on the firmware.inf and Install

{% hint style="warning" %}
Remember about suspending Bitlocker first!
{% endhint %}

![](https://3420392058-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LpnxLqvh8u2fEz86kIM%2F-MeJUZxfHI2PLv1Ac5dM%2F-MeJ_KXqeuXSNNCY8BSh%2Fimage.png?alt=media\&token=5e8d7e22-1c52-4bd4-8973-058119ac4436)

## Next Steps

Look for this to be added to OSDCloud soon after some more testing
