Sysprepping a customized image on a VM

KatzWo

Member
I created a image (set to be launched in Audit Mode) using NTLite, I launched my VirtualBox VM using this image (VDI), installed every app I am gonna be using and all other customizations.

Now it's time for OOBE / shutdown.

My question is: Do I type
Code:
Sysprep /generalize /oobe /mode:vm
since this is an image I am trying to sysprep on a VM, or do I just leave out the mode:vm part since I am going to be using this image on physical devices anyway?

Thank you
 
/mode:vm is optimizing the image for an identical VM profile.
Generalizes a Virtual Hard Disk (VHD) so that you can deploy the VHD as a VHD on the same Virtual Machine (VM) or hypervisor. After the VM restarts, the VM can boot to OOBE.

You must deploy the VHD on a Virtual Machine (VM) or hypervisor with the same hardware profile. For example, if you created VHD in Microsoft Hyper-V, you can only deploy your VHD to Microsoft Hyper-V VMs with a matching hardware profile. Deploying the VHD to a different VM with a different hardware profile might cause unexpected issues

sysprep /generalize /oobe /shutdown
 
/mode:vm is optimizing the image for an identical VM profile.


sysprep /generalize /oobe /shutdown
After running that command, how do I put that generalized image on my physical machine so I can use it to deploy on other physical machines?
 
There's many web guides for this step. Basically, you boot from a WinPE (non-Setup) ISO and run DISM or imagex to capture the image's C: filesystem and write it to a network share (your own host). This part isn't NTLite-specific.
 
There's many web guides for this step. Basically, you boot from a WinPE (non-Setup) ISO and run DISM or imagex to capture the image's C: filesystem and write it to a network share (your own host). This part isn't NTLite-specific.
That is a shared folder right? Between my host and the VM
 
Any bootable WinPE (of the same DISM level or higher) where you can run commands.
Can you explain to me

  1. What does AutoFilling (Automate part of NTLite) look like?
  2. What's the point of AutoFilling?
I am thinking about buying the 40 EUR subscription
 
Auto-Fill copies your current host's settings into Unattended (ie. language, time zone, etc.), leaving only a handful of unfilled fields.
Add user accounts defaults to your logon name, disk templates make it easier to auto-size the system partition.

The real premium features (besides auto-fill) are the enhanced component removals, and DISM clean up (to compact WinSxS).

Figure out how often you want to be building images to justify the cost.
 
Auto-Fill copies your current host's settings into Unattended (ie. language, time zone, etc.), leaving only a handful of unfilled fields.
Add user accounts defaults to your logon name, disk templates make it easier to auto-size the system partition.

The real premium features (besides auto-fill) are the enhanced component removals, and DISM clean up (to compact WinSxS).

Figure out how often you want to be building images to justify the cost.
Now the problem is that I can't run sysprep on this image even tho everything should be working. It keeps on telling me sysprep can't validate the windows installation even tho this windows image has been activated. I have tried running this powershell script: click

Maybe I could solve this problem by mounting the ISO in NTLite and putting it in OOBE mode instead of Audit Mode manually, then saving this new ISO first, and then trying it out in the VM again. But how can I mount this ISO file in NTLite somehow?
 
No, you cannot sysprep an image with provisioned AppX profiles. That's the whole point, it's a generalized image with NO user profiles.
I think you need to read up about AppX and sysprepped images (it's an old problem that traps unfamiliar users).

https://docs.microsoft.com/en-us/tr...ent/sysprep-fails-remove-or-update-store-apps
So if I understand correctly, the problem here is that I used WinGet? I don't want a user profile anyway hence sysprep, I just want all those apps to be there upon deployment
 
No, you cannot sysprep an image with provisioned AppX profiles. That's the whole point, it's a generalized image with NO user profiles.
I think you need to read up about AppX and sysprepped images (it's an old problem that traps unfamiliar users).

https://docs.microsoft.com/en-us/tr...ent/sysprep-fails-remove-or-update-store-apps
Sry for doublepost but just wanna make sure you also see this post here:

At the end it says:

Note

The issue does not occur if you are servicing an offline image. In that scenario, the provisioning is automatically cleared for all users. This includes the user who runs the command.

So does this mean if I never connect the VM to the Internet in the first place, then install the apps, sysprep will work?
 
You didn't read the entire thing, block network access AND remove provisioned profiles:
Code:
Get-AppxPackage -AllUsers | Remove-AppxPackage

Slow down and study the notes. If you're impatient, I'm not going to answer every unresearched question.
 
You didn't read the entire thing, block network access AND remove provisioned profiles:
Code:
Get-AppxPackage -AllUsers | Remove-AppxPackage

Slow down and study the notes. If you're impatient, I'm not going to answer every unresearched question.
A provisioned profile would be the 1 user I created in NTLite?
 
It counts because you booted into sysprep mode, and logged on. That triggers user provisioning.
So if I boot into Audit Mode using the built-in Admin Account, would that work? Somehow I must set up the image (Apps to be installed etc)
 
I sysprep'd the image on a Hyper-V VM then shut it down. Can I deploy this VHDX image file on a physical machine using Windows' native system restore tool?

Or is VHDX strictly for virtual machines?
 
Back
Top