Create Windows 10 ISO image from Existing Installation

How to create a Windows 10 ISO image for clean, in-place upgrade and repair install

Information

Since beginning of Windows Insider program we geeks have had an possibility to convert the ESD file of new upgrade build to an ISO image (tutorial). With it we could create DVD / USB install media to be used in clean, in-place and repair installs.

Since Windows 10 Insider Build 14986 Microsoft has started to use new Unified Update Platform (UUP), which no longer offers the install.esd file (read more in this post). Through some registry modifications users can at least for now disable UUP and get ESD version of the build upgrade, but it seems that this option might not be available in the future.

UUP is of course a positive change. It is differential, scanning user's existing Windows 10 installation only downloading and installing those system files that have changed. In ESD upgrade full Windows system (all system files and native applications) were replaced, with the same file or app version even in case the new build did not include a newer updated version. Regardless if a system file, component or application was updated, ESD upgrade replaced it. This caused download size to be bigger, in addition to longer time required for upgrade because full Windows was downloaded and everything overwritten with every upgrade.

However, the possibility to create an ISO image is, has been and will be important to many users. Microsoft has usually released an ISO when a build has been released to Insider Slow Ring, but we Fast Ring users do need an option to create our own install media.

This tutorial will show how to create an ISO file of the latest Windows 10 build in case you for any reason are not able to use methods told in Ten Forums ESD to ISO and UUP to ISO tutorials to make an ISO image. Methods told in this tutorial are not only meant for Fast Ring Insiders, any user wanting a customized Windows install media can do so following these instructions.

The ISO image made as per instructions in this tutorial will be based on an existing Windows 10 installation. Tutorial shows you three alternative methods to create an ISO image, depending on your needs:

Part One: Standard Windows 10 ISO install media

An "Out of the box" ISO, as any standard Windows 10 ISO image you can download from Microsoft. Alternative for ESD to ISO and UUP to ISO methods

Included in tutorial only as an example about how an ISO can be made by yourself. Basically a method never needed as long as ESD to ISO and / or UUP to ISO methods are available

This ISO will be generalized meaning it is hardware independent and can be used to install Windows on any computer capable of running Windows 10, regardless if the machine is a legacy BIOS machine with MBR partitioning, or a UEFI machine with GPT partitioning

As the ISO is not generalized and it contains all existing user accounts and data it should only be used to install Windows on your home computers

As ISO includes hardware drivers for the PC it was made form, installing on another PC may take a while because Windows needs to replace those drivers. Windows 10 is pretty good in doing that, however this method can only be recommended for relatively small home networks or as a restore media on your only PC. Use method in Part Three instead to create a truly hardware independent, generalized ISO instead

Part Three: Custom ISO with pre-installed software, no user accounts

As in Part Two but a generalized ISO image without any pre-set user accounts, with pre-installed software, desktop, File Explorer and Start customisations

All customisations and personalisations will automatically be applied to all new user accounts

Clean install will perform a normal OOBE, asking for regional settings, initial user and so on

This ISO will be generalized meaning it is hardware independent and can be used to install Windows on any computer capable of running Windows 10, regardless if the machine is a legacy BIOS machine with MBR partitioning, or a UEFI machine with GPT partitioning

Select Part One, Two or Three to prepare Windows for image capture according to your needs, continue from Part Four to capture Windows install image and create the ISO image.

ISO images will be bootable on both BIOS / MBR and UEFI / GPT systems.

Note

This tutorial will show how to use either a physical computer or a virtual machine to create the ISO. All virtual machine references and instructions in this tutorial apply to Hyper-V, available in Windows 10 PRO, Education and Enterprise editions. Oracle VirtualBox and VMware users might need to consult their preferred virtualisation platform's documentation if instructions can't be used as is.

Everything in this tutorial can be made in each edition of Windows 10 (in Home and Single Language editions using a physical machine or third party virtualisation platform) with native Windows tools and programs, apart from Windows Deployment and Imaging Tools, part of Windows 10 Assesment and Deployment Kit (ADK) needed in Part Five. The ADK is a free native Microsoft tool, downloadable directly from Microsoft (download link in Part Five).

If you will do this on a Hyper-V virtual machine (recommended method), set the new virtual machine to use Standard checkpoints instead of default Production checkpoints. You can do this in virtual machine's settings:

Virtual machine generation is irrelevant, you can use Generation 1 or 2 as you wish.

These instructions might look complicated but really, this is extremely easy and fail proof. Just follow the instructions to the letter. Don't hesitate to post your questions and possible issues or about anything you don't understand in this thread, we will try to reply as fast as possible :)

This tutorial applies to all Windows versions and editions starting from Windows Vista.

This method will produce an ISO image which can be compared to any original Windows 10 ISO you download from Microsoft. It gives a clean Windows installation when used, with the latest build (depending of course on if you upgraded to latest Fast Ring build before making the ISO).

ISO created will include no user profile folders, personal user data and files.

This is the recommended method if you simply need a clean, standard Windows 10 ISO install media.

1.3) Let the vm or physical machine stay on, it will soon pick the latest Fast Ring build upgrade (although often getting upgrade immediately, it in some cases might take up to 48 hours online time. The less you let machine to be off and offline, the sooner you will get the upgrade).

When upgrade has been found let Windows Update to download and prepare it and finally restart letting Windows to be upgraded. If using Hyper-V, create a checkpoint when upgrade has been done and you are back on desktop

Note

Alternatively, if you already have a physical or virtual machine upgraded to the latest build, the build you want to make an ISO image from, you can skip steps 1.1 to 1.3 above and use this existing Windows installation instead.

If doing so, please notice that you should first uninstall all installed software except native Windows 10 apps.

1.4) Restart Windows in Audit Mode with following command in Command Prompt:

%windir%\system32\sysprep\sysprep.exe /audit /reboot

1.5) Windows will now restart in Audit Mode using built-in administrator account. You will see a Sysprep prompt in the middle of display:

Leave it open for now.

1.6) Delete all existing user accounts and their user profile data (Option One in this tutorial), uninstall all possibly installed third party software

1.7) You are at the moment signed in using Windows built-in administrator account. In File Explorer, open C:\Users\Administrator folder and check that all user folders are empty deleting all possibly found content

1.10)Sysprep will now prepare Windows, shutting down machine when done:

1.11) If using Hyper-V vm, create a checkpoint when Windows has shut down after Sysprep. Continue from Part Four below

Part Two

Custom W10 ISO with pre-installed software & pre-set user accounts

Warning

Capturing install.wim from an existing installation only works on computers / virtual machines where all system elements and user accounts are located on Windows system partition C:.

If any data is located on another drive, even a single file or folder be it a Save Game folder of a game or relocated Documents folder, OneDrive located on another drive and so on, the install.wim can be created but it will be corrupt. The ISO created from it will not install Windows.

Use this method in Part Two only if your complete installation is on C: drive. You can for instance clean install Windows on a reference computer, create the user accounts you want to have, install your preferred software and so on, and only move system elements to other drives after you have installed Windows using your custom ISO.

Note

This method will produce an ISO image which can be compared to any original Windows 10 ISO you download from Microsoft, apart from the fact that it already contains pre-installed software according to your choice and pre-set user accounts each which its settings, customisations and personalisations.

ISO created will include all user profile folders and personal user files.

As the settings and user accounts are pre-set, installation using this ISO will be faster than using a standard ISO because Windows don't have to run OOBE setup. Shorter install time, with pre-installed software (depending on the amount of personal files in user folders).

This method is recommended if and only when the ISO will never be used to install Windows on any other computer than your own computers.

Recommended: To speed up capturing install.wim in Part Four, and make installation using your customised ISO faster, move as much of personal user content from each profile folder to an external drive before proceeding. When ready, move the data back to respective user profiles.

2.1) Create all user accounts you want to, signing once in to each account to create profile folders. Sign out from all new user accounts, sign in to your main local admin account

This method will produce an ISO image which can be compared to any original Windows 10 ISO you download from Microsoft, apart from the fact that it already contains pre-installed software according to your choice. It will also contain a customised and personalised default user profile, the base Windows uses whenever a new user profile will be created.

Customised default user profile means that whenever a new user account is created, all customisations (Start tiles, File Explorer & desktop icon and view settings, colours, wallpaper, theme, screensaver and so on will be applied to new user profile instead of Windows defaults.

Installation using this ISO will take somewhat longer than using a standard ISO because it not only contains full Windows setup, but also the pre-installed software. Notice that depending on how much space pre-installed software takes, you might not be able to burn this ISO to a standard 4.7 GB DVD disk but have to use a dual layer disk or a USB flash drive instead.

ISO created will include no user profile folders, personal user data and files.

This ISO image can be used on any hardware setup capable of running Windows and can be shared, subject to people you share the ISO with have valid licenses and / or activation keys for both Windows 10 and pre-installed software.

3.3) Install your preferred software, customise and personalise Windows, remove / add Start tiles as you wish (see Part Six Step 6.1), set your preferred group policies (group policies not available in Home and Single Language editions). Do not run any program you install!

Notice that software installed now will be included in ISO install media, and will be pre-installed for all users on each computer you install Windows to using this custom ISO

Note

If Windows on your reference machine is not activated, you cannot personalise it. In this case you need to modify Windows theme (wallpaper, screensaver, colours, sounds) as you wish on another, activated Windows 10 machine, save the theme as a theme file, copy it to unactivated reference machine and apply (double click). See this post for information in saving and sharing a theme file.

Also notice that Edge as well as other UWP apps do not work when signed in to built-in admin account. If you need a browser to download software you have to use a third party browser or Internet Explorer. IE can be started from Run dialog by typing iexplore and clicking OK.

3.4) Open Notepad, paste the following code to it, save it as File name: unattend.xml (exactly this name!) and Save as type: All files (important!) in C:\Windows\System32\Sysprep folder

This so called answer file will be read for instructions when we run Sysprep (Windows System Preparation Tool) later on. This answer file is about as small as possible, the only component included in it is called CopyProfile which when set to TRUE copies all theme / desktop / Start tile and so on personalisations to default user profile, which will then be used as base profile whenever a new user profile will be created.

3.5) Sysprepping with the Generalize switch as we will soon do, with component CopyProfile set to be TRUE in answer file has a small issue or rather a small inconvenience: it leaves the last used user folders and recent files of built-in admin to end user's Quick Access in File Explorer.

To fix this, to reset Quick Access to defaults whenever a new user signs in first time, we need to run a small batch at first logon of new user, then remove the batch file itself from user's %appdata% so Quick Access will not be reset on any subsequent logon.

Open an elevated (Run as administrator) Notepad (Notepad must be elevated to save in system folders), paste the following code to it, save it as File name: RunOnce.bat (or any name you prefer, with extension .bat) and Save as type: All files (important!) in%appdata%\Microsoft\Windows\Start Menu\Programs\Startup folder

echo Y| = Pipes (sends) a letter Y to the command given after the Pipe (|) character

del %appdata%\microsoft\windows\recent\automaticdestinations\* = Resets the Quick Access to defaults. This command expects the user to enter either Y for Yes or N for No. As the Y will be in this case piped, user interaction is not needed but instead the Y will be entered automatically

del %0 = Deletes the batch file itself after it has been run. Leaving this away, not deleting the batch file, would reset the Quick Access every time the user signs in

3.6) Run Disk Management. Shrink C: partition with 10 to 15 GB, create a new partition using the freed space. This partition will be used later to store the captured image. Rename Windows partition as Windows, and the new image partition as Image. Create a new folder in this new partition, name the folder as Scratch. Later on when we boot reference machine from install media to capture image with DISM command, this folder will be needed to offer DISM enough temporary working space

This lists all volumes on your hard disks. Find the drive letters for your Windows system partition (in recovery console it's not always C!), and for the volume (disk / partition) where you want to write (store) the new customised install.wim file. You can capture image on any internal or external disk / partition as long as it is big enough to store the captured Windows image (it will be at least 5 GB and might be as big as 20 GB, depending on software installed).

In my case now it is easy because I have labeled my partitions (tutorial) with clean and understandable names. I want to capture Windows from volume D labelled as Windows and create the new install.wim in volume E labelled as Image (#3).

Exit diskpart with command exit (#4).

4.4) Enter the following command to create a new install.wim file (#5):

Replace drive letter E in imagefile switch (green highlight in screenshot) with the drive letter and folder path of the target drive where you want your custom install.wim be written (saved), drive letter D in capturedirswitch (blue highlight) with the Windows system partition, and temporarily working folder Scratch path (see step 3.6) with correct path as shown by diskpart in step 4.3:

The name given in /name switch in above command is irrelevant, we will name the ISO later on. Use any name you want to.

4.5) Notice that this will take time, go get something to eat or a beer or whatever ;)

On my low end laptop this takes over 40 minutes, first half of it without any whatsoever progress indicator. On a mid level desktop it took today half an hour. DISM works somewhat faster if you don't use optional switches /checkintegrity and /verify but I would not recommend you to create install.wim without checking its integrity and verifying it.

Don't panic! When done, restart the reference machine normally booting to desktop and jump to Part Five

4.8) Browse to and select your reference virtual machine's VHD / VHDX file. If you have any checkpoints (AVHD / AVHDX files) created on this vm, select the one with most recent time stamp. Notice that you have to select show all files to be able to see checkpoint AVHD / AVHDX files:

Forgetting to select Read-only will especially when mounting a checkpoint AVHD / AVHDX file make it unusable for Hyper-V; you can use it for purpose of this tutorial but not boot the vm anymore in Hyper-V.

4.10) Windows mounts the virtual hard disk, all its partitions as separate disk. In case of an MBR disk it even mounts the system reserved partition. Open the Windows system partition VHD to be sure that's the one where Windows is installed, note the drive letter your host assigned to it:

In my case now the WIndows system partition on my reference vm when mounted on host got drive ID K:

4.11) Open an elevated Command Prompt, enter the following command to create a new install.wim file:

Replace drive letter D in imagefile switch (green highlight in above code box) with the drive letter and folder path of the target where you want install.wim be written, and drive letter K in capturedirswitch (blue highlight) with the Windows system partition of your mounted VHD

The name given in /name switch in above command is irrelevant, we will name the ISO later on. Use any name you want to

4.12) Notice that this will take time, go get something to eat or a beer or whatever ;)

On my low end laptop this takes over 40 minutes, first half of it without any whatsoever progress indicator. On a mid level desktop it took today half an hour. DISM works somewhat faster if you don't use optional switches /checkintegrity and /verify but I would not recommend you to create install.wim without checking its integrity and verifying it.

4.13) When done, detach the VHD / VHDX or AVHD / AVHDX file from host by right clicking it in Disk Management and selecting Detach VHD:

As long as the virtual hard disk remains attached to host it cannot be used in Hyper-V making vm it belongs to unbootable.

Part Five

Create a bootable ISO

5.1) Mount a recent official Windows 10 ISO you have as a virtual DVD with double click. I used an official Windows 10 version 1607 build 14393 ISO downloaded from Microsoft today when creating customised build 14986 ISO (EDIT: now three months later I used the same 14393 ISO when creating my own Insider Build 15055 ISO).

Copy its content (everything) to a folder on any internal or external hard disk.

I always name this folder as ISO_Files. Alternatively copy the contents of a Windows 10 install USB or DVD to ISO_Files​.

5.2) Browse to your custom install.wim created earlier in Part Four. Copy it to Sources folder under ISO_Files folder, replacing the original install.wim:

Note

If the ISO you used in step 5.1 to get ISO files is made with Windows Media Creation Tool, the ISO_Files\Sources folder contains an install.esd file instead of install.wim.

In this case you will naturally not get "File exists" prompt. Simply delete the install.esd file and paste your custom install.wim to replace it.

5.5) The path shown in prompt is annoyingly long. To shorten it and jump to root of drive C:, type cd\ and hit Enter. The cd command (abbreviation from Change Directory) changes the current working folder (directory), in this case to root of current drive (backslash \ = root, two dots .. = up one level).

Replace three instances of d:\iso_files (green highlight in above code box and screenshot) with drive and folder where you copied Windows installation files. Notice that this is not a typo: first two of these instances are typed as argument for switch -bwithout a space in between the switch and argument, to tell oscdimg command where to find boot files to be added to ISO.

Although the command seems a bit complicated, everything in it is needed. See more about oscdimg command line options: Oscdimg Command-Line Options

Part Six

Additional tips & information

6.1) If you selected method in Part Two, ISO from existing installation, note that all existing user accounts will remain intact and will be reinstated when this ISO is used for a clean install.

This means that when Windows Setup (OOBE) asks you to create initial user account, setup will not accept any username already present.

To work around this, simply create a temporary user when setting up Windows after a clean install, naming it as you wish. When finally on desktop, sign out this temporary user, sign in to any existing old admin account and remove / delete the temporary user.

6.2) If you selected method in Part Three, I suggest you customise Start tiles before running Sysprep. Remove tiles not needed, add your preferred ones.

Notice that if left as is, after Sysprep when Windows is installed using your custom ISO Start needs some time to populate its default tiles. Users might see Start like this when they sign in first time:

The issue is a really minor one. Half a dozen not working tiles with only a down arrow which end user can remove and replace with preferred ones, or wait until Windows populates Start correctly. Default tiles will be fully populated and functional after a restart or two.

Start will be fully functioning regardless if you customise it or not before Sysprep.

Tip

Information

Please notice: Home and Single language editions do not have group policies required for this tip. Therefore this tip only applies to Windows 10 Pro, Education, Enterprise and LTSB editions.

In case you want to all users to use a specific Start tile layout, modify Start as you wish before running Sysprep and export the layout in PowerShell with commandExport-StartLayout C:\Windows\System32\CustomStart.xml.

When exported, press WIN + R to open Run dialog, type gpedit.msc and hit Enter to open Group Policy Editor. On Navigation pane, browse to Local Computer Policy > Administrative Templates > Start Menu and Taskbar.

Notice: the save location C:\Windows\System32 and filename CustomStart.xml are only my suggestions. You can save the layout file anywhere (a folder that all users have access rights) and name it as you wish (extension must be .xml).

6.3) The answer file used in Part Three Step 3.8 is the simplest possible, only to save the theme and desktop customizations to default user profile to be used in all user accounts. If you want to you can add some neat customisations. Don't hesitate to post your questions if there's something you'd like to include in answer file / customizations but don't know how.

Let's see first the part in <OEMInformation> tags, highlighted green in above code box (list item numbers refer to screenshot below, showing what values various answer file components set):

1.) OEM logo, must be a 120 x 120 BMP image, stored in C:\Windows\System32
2.) Manufacturer3.) Support hours, a text string. In example I've set it to be "24/7" but you can use any string like "MON - FRI 09 - 17"4.) Support phone number5.) Link to online support

6.3)Hyper-V users: Apply the checkpoint you made in step 1.3, 2.6 or 3.7, depending on which ISO method you chose. Next time you start the virtual machine it will start fast, going directly to desktop of your upgraded Windows 10 and is ready for the next build upgrade

That's it!

You have now a custom ISO image. Burn it to a DVD or USB. The ISO is bootable both in BIOS / MBR and UEFI / GPT systems.

The Part Two: Custom W10 ISO with pre-installed software & pre-set user accounts is something I wholeheartedly recommend to home users who have the same set of software and same user accounts on every machine.

Makes reinstalling and repairing home computers a piece of cake.

Part One shows the correct method for those just needing a clean install media and want to pe prepared for repair install, whereas Part Three is for those like me who prefer as customised install media as possible, to avoid post install work.

My ComputerYou need to have JavaScript enabled so that you can use this ...

How to Create a System Image in Windows 10
A system image is an exact copy of all system disks which can be used to restore your PC to the state it was in at the time the image was made. By default, a system image only includes the drives that...

The error in the title appears when I try to format my C partition to install windows 10 there. This error does not appear when I install windows 7,I just formatted and installed 7 successfully however it doesn't work for Windows 10. Specs
2.9 GHZ...

Hi,
I have seen posts that are partially related to my question, but do not answer all of my questions. Here the situation:
GOAL:
Create a dualboot system with a clean WIndows 10 installation on SSD while keeping my regular Windows XP for as...

I had a kali linux installed in my computer. Then I tried to install Windows 10 using a bootable USB drive. (I created it by downloading the windows 10 ISO and then creating USB drive using Rufus.) But when I was trying to install windows 10, it...

About Us
Windows 10 Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows 10" and related materials are trademarks of Microsoft Corp.