This short post not really about OSDCloud and his pretty. It’s about how an ISO image can be imported into WDS (Windows Deployment Services).
One of my OSDCloud customer has asked me, if the PXE (Preboot Execution Environment) could be supported for OSDCloud imaging. Sure, it can definitely.
The only one challenge, that we cannot import images into WDS in an ISO format. So, let’s convert it into a WIM format. This isn’t a kind of convert process –> let mount your ISO file and make a capture of it. Save it then in WIM format. Done.
Update – 11.12.2024
Integrating an existing OSDCloud media into Windows Deployment Services (WDS) is easier than you might think. Simply mount the created ISO file and copy the boot.wim
file from the .\Sources
folder to the WDS server. From there, you can easily import it as new boot media. To test it, disable the existing boot images in your endpoint management solution, such as ConfigMgr, Matrix42, or Ivanti. There’s no need to modify the DHCP 66/67 options for this process.
You can use two different tools:
1. DISM.exe: Windows built-in
DISM /Capture-Image /ImageFile:E:\OSDCLoud_Akos.WIM /CaptureDir:F:\ /Name:OSDCLoud
Your ISO has been mounted in drive letter F: and will be captured aka. saved in E: root.

2. IMAGEX.exe: part of the ADK (Windows Assessment and Deployment Kit)
IMAGEX.exe /Capture H: E:\OSDCloud_Akos.WIM "OSDCloud"
Your ISO has been mounted in drive letter H: and will be captured aka. saved in E: root.

Both tool have to run in an elevated shell!
Et voilà:

End of the day, the customer made the “standard” WDS setup and config, regarding all of DHCP options which are required. And after a PXE boot over the network, the OSDCloud.wim (!) file will be downloaded from the WDS server and it starts like after the USB boot.
–> End of the USB boot media era (at least for this customer). 😉
Happy OSDClouding!
Permalink
Do you then use an SMB share or web server to host all of your pre-downloaded OS ESDs and Vendor Driver Packs, or does each machine then pull directly from the Internet?
Permalink
‘B’ 😉
We only need to grab the boot file and OSDCloud does his magic afterwards. 🙂
Permalink
Oh, I was hoping you were going to give me the solution to imaging 50 machines at once without blowing through a bunch of Internet data 😉 Why else go through the trouble of using PXE over USB?
Permalink
When you are creating the basic OSD image, you can put the ESD URL in it, which is locating internally.
https://www.osdcloud.com/deploy/wim#findimagefile
Then create the ISO file and “convert” it into a WIM.
Using USB doesn’t require an own network infra (like WDS, PXE VLAN), only the right firewall rules.
Permalink
Thanks. What I’m really after is replicating the offline USB model where I can have many different original ESD files and driver packs cached on an SMB, or better yet, local web server. Then set a variable/global variable to have OSDCloud check there before downloading from the official source.
Permalink
Hi there,
I’ve tried both methods to generate the WIM from the ISO (DISM and ImageX) – both produce a WIM file but I cannot import them into WDS as a boot image, or an install image – It says not a valid boot image / not a valid install image.
Any ideas?
Thanks
Permalink
Did you check the DISM.log? Was the WIM file created successfully?
Permalink
I checked the DISM Log c:\windows\logs\dism\dism.log and I do see some warnings on every file like this:
2023-06-25 14:18:49, Warning DISM DISM WIM Provider: PID=8052 [AllocNode:(732) -> GetFileStorageTierClass failed] E:\ (HRESULT=0x80070057) – CWimManager::WimProviderMsgLogCallback
[8052] [0x8144012d]
So not sure if the WIM Created correctly
Any ideas?
Permalink
The issue comes when you import the converted WIM file. Please select only the boot.wim file from the ISO (..\sources).
–> I will update this blog post
Permalink
Hey,
Took me a while to get back to this, but yes you’re absolutely right – Mounted the ISO, and extracted the boot.wim from the sources folder.
Added that to WDS and all working perfectly.
Thanks!
Permalink
Hi Akos,
I don’t understand. What is the point then to convert the ISO to a WIM file, when u just use the boot.wim from the mounted OSDCloud.iso file?
Permalink
Is there any way to use an included Windows image wim within an ISO?
https://www.osdcloud.com/archive/under-review/wim#findimagefile
Start-OSDCloud -findimagefile
works fine manually, but I cant find a way to automate the run and pre-fill the information.
Thanks
Permalink
You can only use the following parameters in Start-OSDcloud function:
ImageFileFullName = $null
ImageFileItem = $null
ImageFileName = $null
ImageFileSource = $null
ImageFileDestination = $null
ImageFileUrl = $ImageFileUrl
“ImageFileOffline” is not anymore usable as a variable. (so far, as I know)