1
  • Creating a medium from which a system can boot while Secure Boot remains active, is possible with the default Windows iso from Media Creator, but what about edited images?
  • Creating a unattended Windows installation is a drag, but possible. (Thank you windowscentral.com)
  • Having the resulting Windows installation also be UEFI and GPT formatted instead of MBR (Non-UEFI; Bios, CSM), that can be tricky.

How do we combine all these requirements?

The desire:

I want a Windows installation medium that does not require 30 steps of interactions before I am in Windows. I want to start the VM or machine, link the ISO or USB-drive and don't want to be bothered or have the installation process halted by questions I could have answered in advance.

I would like an easy, fast installation experience.

How do I create an unattended secure-boot-compatible UEFI-bootable installation medium which creates an UEFI Windows10 installation?

Do you know of a quicker method compared to the method named "iso-winrar-xml-install.wim-install.swm-imgburn-rufus-vhdx"? as described below?

Side thoughts.

  • Maybe one day we can fetch an autounattend.xml at installation start. Not a 100% unattended install, but a quicker one; to fetch your preferred installation options.
  • Fyi: this should not be that complicated, but unfortunately it is because we want it all ^^. I am writing this because I had to combine work of others; maybe this can help anyone more quickly by providing it together.

  • Why is IMGBurn's output not UEFI-bootable? But when Rufus puts it on a vhdx it is?
  • How to generate an .iso (with IMGBurn) that boot in a secure-boot uefi context?
  • Wouldn't this all be faster by editing an .iso, adding the autounattend.xml and replace the install.--- files with the correct ones, keeping the UEFI bootability of the iso intact?
1
  • 1
    Downvoter, care to explain?
    – gronostaj
    Feb 12, 2021 at 11:01

2 Answers 2

4

For steps, skip to: Configuring a ZTI

Prerequisite Information:


I want to boot Windows install media and not have the install halted by questions.

This is called an LTI / ZTI [Lite/Zero Touch Install]:

  • LTI: automates most things and would be used if wanting to boot to auditSystem or auditUser prior to oobeSystem
  • ZTI: automates everything, with the first user interaction either during, or after, OOBE

Windows is installed in seven phases (incl. 4:generalize), with the answer file being applied:
(if an answer file isn't provided, Setup autogenerates one from selections made)


Does Secure Boot remain active with an edited Install ESD/WIM?

Yes; only the filesystem contents in the ESD/WIM index changes, not the Windows Bootloader


Is there a quicker method compared to using WinRAR, Rufus, an install.swm, etc.?

While third-party software can create a bootable USB from an Install ISO, to do so only from WinPE/ISO files use MakeWinPeMedia [ADK] (ISO/MBR USB) or DiskPart, RoboCopy, and Dism (Partition/USB):

  • OsCdImg [ADK] is required to create an ISO 9660, Joliet, or UDF formatted ISO from WinPE files
  • To apply an ESD/WIM to a partition, Dism /Apply-Image would be used
    (see: Configuring a ZTI)

There's no reason to use /Split-Image, as an exported install.esd index for Home/Pro will not exceed 4GB (an ESD, in conjunction with a WIM, should be exported for <4GB file size)

  • /Split-Image is normally used for OEM PBR [Push Button Reset] images to apply over a base install.<esd||wim>, not installing Windows
  • Exporting a WIM from an ESD is done via Dism /Export-Image, after /GetImage-Info, not through an additional download with Rufus
    (this isn't a "roadblock", it's how Windows is installed)

ESDs/WIMs are not managed with third-party software [WinRAR, 7zip, etc.], as doing so will irrevocably corrupt the ESD/WIM:

  • ESDs/WIMs are smart compression file formats and while they can be opened in a compression utility to extract data (I prefer 7zip in lieu of /Mount-Image), changes cannot be made and files cannot be extracted with the intent of using them to install Windows, as ACLs/other data is lost


Wouldn't it be faster to edit an ISO, add the autounattend.xml, and replace the files within an install.<esd||wim> to keep the UEFI bootability of the ISO intact?

WinPE ISOs are a read-only UDF filesystem and cannot be modified once created.

A WinPE boot.wim often contains multiple images [indexes]; to modify an index, mount it via /Mount-Image and save changes via /Unmount-Image or by capturing a new image
(see: Configuring a ZTI)

  • EFI bootabilty is determined by the presence of EFI boot files [.\efi], not the ISO itself
  • install.<esd||wim> contains the base Windows filesystem, whereas the WinPE boot.wim contains WinPE's filesystem and boots WinPE


Maybe one day we can fetch an autounattend.xml for a preferred install option at installation start (not a 100% unattended install, but a quicker one).

This is an unwise scenario since bypassing the Setup GUI is not a one-size-fits-all approach, creating more problems than it solves (unintentional formatted partition, install erroring out, etc.):

An answer file is an advanced way to install Windows; it's complex and requires a basic understanding of what it is/does and how to correctly configure/modify it, which is why SIM [System Image Manager] should always be used to avoid issues:

  • SIM checks an answer file for issues before allowing it to be saved, as all components have specific configuration passes they must be within and a required format for parameters since components in an incorrect configuration pass, or with incorrect parameters, ensures either a component will be skipped or an install errors out/fails.

    For example, I spent ~4hrs trying to figure out why the answer file's Disk Configuration kept erroring out during the install due to the MSR partition (it's creation and modification parameters were correct per Microsoft Docs, and SIM found no errors, however it kept erroring out), so I removed it's creation from this answer; while it's not critical, and most OEMs don't create it, Microsoft recommends it be created - to do so manually with DiskPart add:
    • a synchrnous command in windowsPE: Microsoft-Windows-Setup
    • an asynchronous command in oobeSystem: Windows-Shell-Setup


How do I create an unattended Windows install media that supports Secure Boot, installs with GPT (Non-UEFI; Bios, CSM), and EFI boot?

Secure Boot is a firmware setting that can't be accessed/controlled from WinPE and there should never be an issue booting WinPE with it enabled:

  • The only time Secure Boot could potentially be an issue is if the motherboard OEM never intended Windows to run on the motherboard (has no bearing on >99% of PCs/laptops); however, this is a big if and would need researching (I'm unaware of motherboard firmware that doesn't trust Windows' bootloader)

CSM Mode should never be enabled for an OS since its sole purpose was to support distros that didn't yet support EFI boot circa <2017 (Windows ≥7 supports EFI boot):

  • CSM Mode emulates BIOS' 16bit architecture within a 32bit environment and doing so will cause performance degradation (boot times increase by 400%+, GPT can't be used, etc.)
  • The only reason to enable CSM Mode is when needing to access a legacy OP[tion] ROM, and once done in the OP ROM, CSM Mode should be re-disabled




Configuring a ZTI:


Four primary routes can be taken when configuring an LTI or ZTI via an answer file:
(this focuses on the first due to the 30K character limit)

  • Automate Windows Setup (and nothing else)
  • Configuration Set (has a caveat)
  • Distribution Share
    auto-installs drivers and packages, with files to copy to the base filesystem via $OEM$ folders
    (depending on complexity, a Deployment Share may be preferable)
  • Deployment Share (and Task Sequence [example])
    automates installing Windows, drivers, and software, as well as applies settings via:
    • End users/SMB: MDT
      (Microsoft Deployment Toolkit)
    • Large Businesses/Institutions: MEM (System Center)
      (Microsoft Endpoint Manager | previously System Center Configuration Manager [SCCM])


Prerequisites

  1. Install Windows ADK and WinPE files:
    1. ADK for the version of Windows installed
      (Features: Windows Preinstallation Environment, Deployment Tools, ICD, Configuration Designer, USMT)
    2. ≥ v1809: Windows PE Add-On is separate
      (ADK still required)

  2. Open an Admin terminal: WinKey+RpowershellCtrl+Shift+OK
    1. Update system PATH:
      (Update paths accordingly if not using Win10 or an x64 OS)
      Cmd /c Setx /M Path "%PATH%;C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools;C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\BCDBoot;C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM;C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\Oscdimg;C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\WSIM;C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment;"
      
    2. Close, then reopen, the Admin terminal to reload $env:PATH

  3. Get base OS install WIM by either:
    • downloading Windows install media
      (Create installation mediaUSB flash drive || ISO file)
    • using a previously captured WIM from an offline %SystemDrive%:
      (can be directly applied to a partition if not needing to use Windows Setup)
      Dism /Capture-Image /ImageFile:"Z:\Base.wim" /CaptureDir:"C:" /Name:"Windows 10 Pro" /Description:"Base Image 2022.05.17 @ 13:00" /Compress:Max /CheckIntegrity /Verify /ScratchDir:"Z:"
      
  4. Extract ESD/WIM index for version of Windows being installed:
    # E: ISO
    
    # Get list of indexes [images] within the ESD/WIM (often 1: Home | 6: Pro):
      Dism /Get-ImageInfo /ImageFile:"E:\sources\install.<esd||wim>"
    
    # Create working directories and files:
      Cmd /c MkDir "C:\WinPE\fwfiles" "C:\WinPE\media\sources" "C:\WinPE\Mount"
      RoboCopy "E:" "C:\WinPE\Media" /Mir /Z /XF "install.esd" "install.wim" /V /ETA
      Copy "E:\boot\etfsboot.com" "C:\WinPE\fwfiles"; Copy "E:\efi\microsoft\boot\efisys.bin" "C:\WinPE\fwfiles"
    
    # Export to new WIM and ESD (expect lag - exporting is CPU intensive):
      # /DestinationName must be "Windows <#>"; e.g. "Windows 10"), as it can't be imported into SIM without this (copy Name returned from /Get-ImageInfo)
      # Exporting the index to an ESD ensures it stays <4GB
      Dism /Export-Image /SourceImageFile:"E:\sources\install.<esd||wim>" /SourceIndex:6 /DestinationImageFile:"C:\WinPE\media\sources\install.wim" /DestinationName:"Windows 10 Pro" /Compress:Max /Bootable /CheckIntegrity
      Dism /Export-Image /SourceImageFile:"E:\sources\install.<esd||wim>" /SourceIndex:6 /DestinationImageFile:"C:\WinPE\media\sources\install.esd" /DestinationName:"Windows 10 Pro" /Compress:Recovery /Bootable /CheckIntegrity
    


Windows SIM

  1. Open Windows SIM: WinKey+ROpen: imgmgr.exeOK
    1. Import WIM: FileSelect Windows Image...Select: WIM → Yes
      (Creates catalog [<WIMname>_Windows <#>.clg] in WIM's directory and mounts the WIM)
    2. Create new answer file: Ctrl+N
    3. Add Components: Windows ImageWindows <#>Components
      (right-click component option to "Add Setting to pass...")
      1. Microsoft-Windows-International-CoreAdd Setting to Pass 7 oobeSystem
      2. Microsoft-Windows-International-Core-WinPE:
        1. SetupUILanguageAdd Setting to Pass 1 windowsPE

      3. Microsoft-Windows-Setup:
        1. Disk ConfigurationDiskAdd Setting to Pass 1 windowsPE
        2. ImageInstallOSImageInstallToAdd Setting to Pass 1 windowsPE
        3. UserDataProductKeyAdd Setting to Pass 1 windowsPE

      4. Microsoft-Windows-Shell-Setup:
        1. OEMInformationAdd Setting to Pass 4 specialize
        2. OOBEAdd Setting to Pass 7 oobeSystem
        3. UserAccountsAdd Setting to Pass 7 oobeSystem

    4. Configure Components: Answer FileUnattendComponents
      1. windowsPE:
        1. Microsoft-Windows-International-Core:
          InputLocale: en-US | SystemLocale: en-US | UILanguage: en-US | UserLocale: en-US
          (If above are not en-US: ULLanguageFallback: en-US)
          1. SetupUILanguage:
            UILanguage: en-US | WillShowUI: OnError

        2. Microsoft-Windows-Setup:
          1. DiskConfiguration:
            WillShowUI: OnError
            Disk:
            Action: AddListItem | DiskID: (Disk <#> reported by DiskPartLis Dis) | WillWipeDisk: true
            1. CreatePartitions: Right-click → Insert New CreatePartition (x3)
              (Primary partitions: <GB>*1024=<size>)
              1. CreatePartition:
                Action: AddListItem | Extend: false | Order: 1 | Size: 100 | Type: EFI
              2. CreatePartition:
                Action: AddListItem | Extend: false | Order: 2 | Type: Primary |
                Size: (OS MB size - ~300GB is max required if using different partition for user data)
              3. CreatePartition:
                Action: AddListItem | Extend: false | Order: 3 | Type: Primary |
                Size: 1024 (min. 768MB; 1GB ensures enough space for updates to Winre.wim)
            2. ModifyPartitions: Right-click → Insert New ModifyPartition (x3)
              1. ModifyPartition:
                Action: AddListItem | Format: FAT32 | Label: EFI | Order: 1 |
                PartitionID: 1
              2. ModifyPartition:
                Action: AddListItem | Format: NTFS | Label: OS | Order: 2 |
                PartitionID: 2
              3. ModifyPartition:
                Action: AddListItem | Format: NTFS | Label: WinRE | Order: 3 |
                PartitionID: 3 | TypeID: de94bba4-06d1-4d40-a16a-bfd50179d6ac
          2. ImageInstall:
            1. OSImage:
              WillShowUI: OnError
            2. InstallTo:
              DiskID: (5.4.2.1.1: Disk <#> reported by DiskPartLis Dis) | PartiitionID: 2
          3. UserData:
            AcceptEula: true | FullName: <name> | Organization: <name>
            1. ProductKey:
              Key: <key> (activation or generic) | WillShowUI: OnError

      2. specialize:
        1. Microsoft-Windows-Shell-Setup
          ComputerName: <hostname> | OEMName: <name> | ProductKey: <activation key> |
          RegisteredOrganization: <name> | RegisteredOwneer: <name> | TimeZone: <Full TZ>
          1. OEMInformation:
            Manufacturer: <name> | Model: <name> | SupportHours: 24/7 |
            SupportPhone: <#> | SupportURL: <url>


      3. oobeSystem:
        1. Microsoft-Windows-International-Core
          InputLocale: en-US | SystemLocale: en-US | UILanguage: en-US | UserLocale: en-US
          (If above are not en-US: ULLanguageFallback: en-US)
        2. Microsoft-Windows-Shell-Setup:
          1. OOBE:
            HideEULAPage: true | HideOEMRegistrationScreen: true |
            HideOnlineAccountScreens: true | HideWirelessSetupInOOBE: true |
            ProtectYourPC: 1 | Select: VMModeOptimizationsDel
          2. UserAccountsLocalAccounts Right-click → Insert New LocalAccount
            Select: AdministratorPassword & DomainAccountsDel
            1. LocalAccount:
              Action: AddListItem | DisplayName: <Full Name> | Group: Administrators |
              Name: <username> | Select: PasswordDel
              (Set password after logging in, not in an insecure plaintext file)


    5. Validate answer file: ToolsValidate Answer File
    6. Save answer file to C:\WinPE\media\autounattend.xml: Ctrl+S
    7. Close Answer File and Windows Image: FileClose Answer File | Close Windows Image


Bootable Filesystem

  1. Create WinPE Media:
    (While ADK's MakeWinPeMedia can be used, it only supports MBR; to manually build WinPE's filesystem, see this)
    1. Configure WinPE:
      # Mount WinPE boot.wim:
        Dism /Mount-Image /ImageFile:"C:\WinPE\media\sources\boot.wim" /Index:2 /MountDir:"C:\WinPE\Mount" /CheckIntegrity
      
      # Set required WinPE options:
        Dism /Image:"C:\WinPE\Mount" /Set-TargetPath:X:\
        Dism /Image:"C:\WinPE\Mount" /Set-ScratchSpace:512
      
      # Unmount WIM, commiting changes:
        Dism /Unmount-Image /MountDir:"C:\WinPE\Mount" /Commit
      

    2. Create bootable:
      • Flash Drive or Partition:
        (DiskPart | Robocopy)
        # Configure flash drive/partition:
          DiskPart
        
          # List and select disk:
            Lis Dis
            Sel Dis <#>
        
          # Flash Drive only: Wipe partition table
            Clean
            Convert GPT
            # MBR: Convert MBR
        
          # Create partition:
            Cre Par Pri Size=5120
            Format Fs=FAT32 Quick Label="WinPE"
            # MBR: Active
        
          # Mount it:
            Assign Letter=W
            Exit
        
        # Create WinPE boot media:
          RoboCopy "C:\WinPE\media" "W:" /Mir /XF "install.wim" /Z /V /ETA
        
      • ISO:
        (OsCdImg)
        # Load required environment:
          Cmd /k "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\DandISetEnv.bat"
        
        # Create WinPE ISO:
          # Use as is for ISO to contain an ESD and WIM (~8.4GB), else before doing so:
            # ESD (~4GB): Move "C:\WinPE\media\sources\install.wim" "C:\WinPE"
            # WIM (~5GB): Move "C:\WinPE\media\sources\install.esd" "C:\WinPE"
        
          MakeWinPeMedia /ISO "C:\WinPE" "C:\WinPE\WinPE.iso"
        
      • VHD:
        # Configure VHD:
          DiskPart
        
            Cre Vdisk File="C:\WinPE\WinPE.vhdx" Maximum=5120
            Attach Vdisk
            Convert GPT
            # MBR: Convert MBR
        
          # Create partition:
            Cre Par Pri
            Format Fs=FAT32 Quick Label="WinPE"
            # MBR: Active
        
          # Mount it:
            Assign Letter=W
            Exit
        
        # Create WinPE boot media:
          RoboCopy "C:\WinPE\media" "W:" /Mir /XF "install.wim" /Z /V /ETA
        


Cleanup:

  1. RmDir /S /Q "C:\WinPE"
    
0

Overall Goals

Here are the steps in which we overcome multiple roadblocks.

A. Creation of autounattend.xml

B. Merging of autounattend.xml with iso-contents.

C. Creation of secure-boot=on, uefi-bootable installation medium.

D. Installation of a secure-boot=on, UEFI(GPT) Windows with minimal install questions.

The Answerfile

  1. Create a Windows 10 answerfile with Windows System Image Manager by following these steps at Windows Central.
  • This is a very eloborate article, you can skip what is not relevant for you.
  • For example, I skipped the creation of partitions, now during setup I select the correct drive and it auto-populates the correct UEFI partitions (4).
  • It still skips language questions, product code, version selection and the out of the box experience and the security questions for a local account!

(A site exists which generates an answerfile (autounattend.xml), but it or it's syntax might become out of date. I had more success using the Windows System Image Manager tool to generate an answerfile.)

Tip if you cannot add a user in your answer file:

If you find yourself creating a local account during the installation, don't add a password so you will not be prompted for Security Questions. You can add a password later when in Windows.

First Roadblock - install.esd -> install.wim

A normal Windows installation .iso contains a sources\install.esd file - you can convert it to install.wim or use Rufus to download a version with a install.wim version as explained at the site. DISM-Conversion takes a few minutes, if you are in a hurry, use rufus. (Maybe somebody in the comments can let us know how we know that we can trust Rufus's image download source.) Making the catelog file also takes time.

From my understanding, we need the install.wim because addding an autounattend.xml to an iso with install.esd will not work. Correct me in comments if I am wrong. This bring us to the next problem: an install.wim is bigger than 4GB.

--> The output of this section is an answerfile autounattend.xml to your specification.

Second Roadblock: install.wim's size & bootability.

In the meanwhile you must have an original windows installation .iso. You can extract the content with Winrar or 7Zip and add the autouanttend.xml and replace the install.esd with install.wim.

Now if you have IMGBurn and Rufus you can create a new iso or USB-bootable drive.

Problem: all images I create with IMGBurn are not bootable in a secure-boot, uefi context. I don't know why. Hyper-V does not like them. A bootable drive is usually formatted in fat32, but because our fancy install.wim is bigger than 4GB we cannot format it that way; Rufus works it's magic and creates a bootable UEFI:NTFS drive. Great - but, to their credit, Microsoft is being not-so-nice, Rufus used a component making the output UEFI-bootable, but not with [Microsoft's] secure boot. I don't want to go into that issue here, I am just saying: Remember that normal .iso you downloaded from microsoft with 100 install questions? It boots without any bios/uefi changes, I do not want to exchange my saved time with bios/uefi-setting-changes.

In essense I am asking Why can't we have nice things? - So even though it's not Rufus's fault Microsoft excludes the bootloader, we cannot boot rufus's UEFI:NTFS output without disabling Secure Boot (even if it is for installation phase only, it doesn't make sense for [my] unattended installs)

Solution?

This person: How to burn a USB stick for UEFI Windows 10 build when > 4 GB files are present

Let's split the install.wim into install.swm and install2.swm.

  1. Split install.wim into pieces with dism with admin powershell:

Dism /Split-Image /ImageFile:install.wim /SWMFile:install.swm /FileSize:4000

  1. Move the big install.wim outside your extracted iso folder.

  2. Verify your answerfile autounattend.xml is in the root of this folder.

If we make an iso now, it seems to be able to boot in non-secure-boot possible non-uefi context, but that is not what I want. Because the installation is automated, I don't want it to boot in anything else than UEFI.

Want to know why?

An installation without secure-boot could mean no UEFI (so no GPT by wininstaller?!) which means no complete TPM usage, which means no optimal Bitlocker and no (complete) Windows Hello so:

  1. Rename the file 'bootmgr' to 'bootmgr_oldboot.off'. (bootmgr.efi remains.)Link (Besides enforcing booting the installation medium in UEFI mode, this will also enforce or contribute a GPT-style Windows installation.)

  2. With IMGBurn create a Folder-to-ISO image with boot settings (bootable checkmark, bootimage to boot\etfsboot.com and the '8' for sectors to load. It will ask to add the content of your selected folder, answer yes.)

  3. a. [When making installation medium for a VM/Hyper-V] Create a VHDX of - for example 6 GB static size - in Disk manager.

    b. [When making installation medium for Real machine] Link a USB-pendrive to your pc.

  4. Use Rufus to select the mounted vhdx or usb-pendrive if it didn't detect it already.

  5. Select the new install.wsd-containing .iso from step 4. Notice that Filesystem field should change to fast32. If you select your downloaded iso with install.wim, you see Rufus switch to NTFS.

  6. Create the bootable medium with Rufus. --> This output seems to have the right flags. (Datestamped: 2021-02-07)

  7. a. [~ medium for a VM/Hyper-V] Finish? Unmount your vhdx from disk manager before you continue!

    b. [~ medium for Real machine] Safe-remove pen-drive, if you want.

Tip: in hyper-v, add at least 2 CPU-cores and enable the Secure Boot and TPM in the security tab of VM's settings to avoid requirement blocks during installation for Win11. Though not a blocker for Win10, I would set the same security settings.

  1. a. [~ medium for a VM/Hyper-V] In Hyper-V you can boot a VM from a dvd-drive with an .iso, but also a harddisk. Add an extra hard drive and point to the unmounted vhdx file. It works the same.*

    b. [~ medium for Real machine] Boot target machine from USB, secure-boot enabled.


Related material

5
  • 1
    "Maybe somebody in the comments can let us know how we know that we can trust Rufus's image download source" Rufus developer here. The ISOs downloaded by Rufus are downloaded straight from Microsoft's servers and are the unmodified official retail Windows ISOs. You can corroborate this by checking our download script, Fido, which, just like the rest of Rufus, is 100% Open Source. Or you can just check their SHA-1, which, as you will find, matches the one from official retail ISOs exactly.
    – Akeo
    Feb 7, 2021 at 23:21
  • @Akeo, thank you for letting me [us] know how we can validate and thank you for all your work. - If you know of an easy accessible list with hashes provided by Microsoft, please let us know where we can find it. This might be install.esd iso's only and formally not from microsoft.
    – A71
    Feb 8, 2021 at 11:25
  • 1
    The SHA-1 hashes used to be publicly available from Microsoft up to a couple years ago, but, in their great wisdom, Microsoft decided that these should only be made available to paying MSDN subscribers and nobody else. However, msdn.rg-adguard.net/public.php does a very decent job at providing the official SHA-1 to the general public (and, even as they are not affiliated with Microsoft, if their SHA-1's were ever to start to differ from the official ones, you would most definitely hear about it).
    – Akeo
    Feb 8, 2021 at 17:46
  • This could have been a great answer, however there's a lot of missing, and some factually inaccurate, information within: (these are some, not all) An answer should contain all steps to achieve an answer - linking to another article isn't providing an answer, as there's no guarantee that content will exist in 1yr, 5yrs, 10yrs, etc., and a substantial amount of the content in the external link isn't relevant to the questions asked. Due to this, this answer in its current state is convoluted, resulting in a lot of inefficiencies [time spent]. This answer is not the best way to go about this.
    – JW0914
    May 5, 2022 at 12:34
  • (Cont'd...) Exporting a WIM from an ESD is done with Dism /Export-Image after /GetImage-Info, not through an additional download with Rufus (this isn't a "roadblock", it's how Windows is installed). There is no reason to use /Split-Image, as an exported install.esd||install.wim index for Home/Pro will not exceed 4GB (/Split-Image is normally used for OEM PBR images, not for installing Windows). Third-party software isn't used to create a bootable USB from WinPE files, MakeWinPeMedia [ADK] is used for this. Microsoft Docs is a great reference tool, as it's Windows' man pages
    – JW0914
    May 5, 2022 at 12:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .