I already did a post how you can add the Cisco UCS drivers to a Windows Server 2008 R2 Hyper-V Image using dism and imagex. With Windows Server 2012 you cannot use the command line tool imagex anymore but you have a new Windows PowerShell module for dism which allows you basically the same with. In this tutorial I will add the Cisco UCS drivers to a Windows Server 2012 ISO image or a Microsoft Hyper-V Server Image.
First I created three new folders:
- Drivers – which includes all the extracted drivers for Windows Server 2012 (I removed all the drivers which are not related to Windows Server 2012)
- ISO – This includes the extracted Windows Server 2012 ISO image
- Mount – This is a empty folder which will be used to mount the WIM files
First we have to check in which Windows edition we want to add drivers. We can do this by using the Get-WindowsImage cmdlet:
Get-WindowsImage -ImagePath .\ISO\sources\install.wim
This will show you all the Images which are included in this WIM file.
After we have seen the Index numbers we can now mount the Windows Image our Mount folder. In my example I use Image Index 3 which is the Windows Server 2012 Datacenter Core Edition
Mount-WindowsImage -Path .\Mount -ImagePath .\ISO\sources\install.wim -Index 3
After the image is mounted we can now add the drivers from the Drivers folder.
Add-WindowsDriver -Path .\Mount -Driver .\Drivers -Recurse
When all drivers are added to the Image you can dismount the image and save it.
Dismount-WindowsImage -Path .\Mount -Save
We have now added the drivers to the Install image, you should also added the drivers to your boot image. To do this just do the same steps to the .\ISO\sources\boot.wim.
After that you can create a ISO file
oscdimg -n -m -bc:\temp\ISO\boot\etfsboot.com C:\temp\ISO C:\temp\mynew.iso
Thanks for your hardwork.
When I am try to follow abobe steps I am facing below error. Please Help how can I resolve. Thanks
PS C:\win2012> Get -WindowsImage -ImagePath .\ISO\sources\install.wim
Get : The term ‘Get’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ Get -WindowsImage -ImagePath .\ISO\sources\install.wim
+ ~~~
+ CategoryInfo : ObjectNotFound: (Get:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
On which system are you trying to do this? Windows 8 or Windows Server 2012 and higher? The DISM powershell module is only available for Windows 8 and higher if you have Windows 7 you need to use the “old” DISM command line tools. You can find some examples here: https://www.thomasmaurer.ch/2011/02/cisco-ucs-hyper-v-cluster-create-hyper-v-image-for-blade-servers-part-2/
Thanks for this steps.
Kindly check why I am getting this error.
PS C:\win2012> Get-WindowsImage -ImagePath .\ISO\sources\install.wim
Get-WindowsImage : The term ‘Get-WindowsImage’ is not recognized as the name of a cmdlet, function, script file, or
operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
again.
At line:1 char:1
+ Get-WindowsImage -ImagePath .\ISO\sources\install.wim
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Get-WindowsImage:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException