# Model Reference Image

{% hint style="warning" %}
Wait for the next update to the OSD Module before trying this out as these functions have not been released yet
{% endhint %}

OSDCloud provides an absolutely perfect method for creating a Reference Image that supports specific Computer Models, including all the necessary Hardware Drivers.  Additionally, you don't need to create the image on any Hardware, just a Virtual Machine.  Think of this as a Virtual to Physical image

## Virtual Machine Configuration

Create a Hyper-V Virtual Machine with the following configuration

* Generation 2 UEFI
* 2+ Processors
* Fixed (not Dynamic) memory
* 30GB+ Fixed Size (not Dynamically Expanding)
* Disable Snapshots
* Boot to ISO

## Disk Partitioning

Its important that you understand what is required for your Disk Partitions when creating a Reference FFU.  OSDCloud currently configures the Recovery Partition at the end of the disk, but I will be adding Parameters for you to control this

![](https://344220114-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVSV22dcsjKDdOxDA6n%2F-MWrK1VCRHyAFZ8_P0Qp%2F-MWrg4OFiBvxrxwOXaOf%2Fimage.png?alt=media\&token=7405c78c-d95e-4cb2-b246-354252d4d476)

## Start-OSDCloud

OSDCloud supports specifying a specific Manufacturer and Product (SystemSKU, BaseBoard Product).  In this example, I an selecting one for my Lenovo T14

![](https://344220114-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVSV22dcsjKDdOxDA6n%2F-MWrK1VCRHyAFZ8_P0Qp%2F-MWrcEpGQTAND0NGYaBY%2Fimage.png?alt=media\&token=a0d2f91e-5311-4416-a699-699a5c677d11)

If you need to look up a Product value, you can use **`Get-MyDriverPack`**

```
PS C:\> Get-MyDriverPack | FL


Name          : Precision 7730
Product       : 0832
DriverPackUrl : http://downloads.dell.com/FOLDER06809542M/1/7730-win10-A12-6WD5G.CAB
FileName      : 7730-win10-A12-6WD5G.CAB
```

Any of these functions will work as well

```
Get-DellDriverPack
Get-HPDriverPack
Get-LenovoDriverPack
```

## Additional Computer Models

You can easily add additional Dell or HP Driver Packs by using the **`Save-MyDriverPack`** function, or by doing this in Audit Mode.  Adding additional Lenovo Products must be done in Audit Mode due to the way the Driver extracts

![](https://344220114-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVSV22dcsjKDdOxDA6n%2F-MWrK1VCRHyAFZ8_P0Qp%2F-MWrdhe_99ShjtnHRUsA%2Fimage.png?alt=media\&token=12c357c9-8e0c-449b-93df-b403a25a2a29)

## Specialize

Once the WinPE phase has completed, the Driver Packs will be expanded and added to the DriverStore using **`PnPUnattend.exe`**

![](https://344220114-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVSV22dcsjKDdOxDA6n%2F-MWrK1VCRHyAFZ8_P0Qp%2F-MWreL3d3JKNTWMOq81Q%2Fimage.png?alt=media\&token=2e6e540f-541b-4185-8616-89d9dc5b63f0)

## Audit Mode or OOBE

Ideally you should boot into Audit Mode to complete the configuration of the system.  You can do this by executing **`Use-WindowsUnattend.audit`** from WinPE.  I'll work on adding this as a Post Action in OSDCloud in the future

When you have completed your customizations in Audit Mode or in OOBE, execute **`sysprep /generalize /shutdown`**

![](https://344220114-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVSV22dcsjKDdOxDA6n%2F-MWrK1VCRHyAFZ8_P0Qp%2F-MWrei10WPzctLCK4e5R%2Fimage.png?alt=media\&token=6c7c420b-2d1d-42f4-9049-ec260fb999ff)

![](https://344220114-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVSV22dcsjKDdOxDA6n%2F-MWrK1VCRHyAFZ8_P0Qp%2F-MWrfHERNsE0xRpGpm7n%2Fimage.png?alt=media\&token=6e2cc3ef-1ad7-4184-b4c8-00d57cf4b8ab)

## Create an FFU

Make sure you change your Boot Order in Hyper-V Virtual Machine settings as this will have changed to File.  Boot to OSDCloud.winpe and either Map a Network Drive or insert a USB Drive, then capture an FFU image.  You can easily do this with **`Backup-Disk.ffu`**

![](https://344220114-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVSV22dcsjKDdOxDA6n%2F-MWrK1VCRHyAFZ8_P0Qp%2F-MWrfX5n-jd5YgzR4F4q%2Fimage.png?alt=media\&token=419e6579-cca9-4eb5-a2b1-9975eecaaf7c)

## Apply an FFU

Unfortunately I don't have a function to do this (yet), but it should be easy enough to figure out from the following example

```
DISM /apply-ffu /ImageFile=N:\WinOEM.ffu /ApplyDrive:\\.\PhysicalDrive0
```

## Reference

{% embed url="<https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/deploy-windows-using-full-flash-update--ffu>" %}

{% embed url="<https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/wim-vs-ffu-image-file-formats>" %}
