Glam Prestige Journal

Bright entertainment trends with youth appeal.

Starting from a Windows 10 ISO image file with >4GiB install.wim (including current Win10_1809Oct_<language>_x64.iso of like 4.8GiB built 2018/10/30), how can I make a USB drive that is bootable including on a non-UEFI machine?

MediaCreationTool1809.exe works, but it downloads everything, and modifies at least 3 files: install.esd replacing install.wim, boot.wim, and ws.dat. These changes remove some editions of Windows (e.g. Pro Education and Pro for workstations, and their N variations), and make it impossible to check integrity of the modified files against a fixed hash.

4

6 Answers

If you're on Linux like Marco, the solution posted by JesuLovesMe can also be applied using wimtools instead of using Dism:

  • Mount the ISO

  • Create a FAT32 filesystem on the USB stick with mkfs.vfat and mount it

  • Copy over all contents of the ISO to the USB stick except "sources/install.wim"

  • Call wimsplit on install.wim like this:

    wimsplit /path/to/ISO/sources/install.wim /path/to/USB/sources/install.swm 3000

This will create install.swm and install2.swm on the stick, with a maximum size of 3000 MiB for each file. If the original install.wim exceeds 6000 MiB in a future release, this will still work and create an additional install3.swm.

For UEFI booting, that's all you need, for non-UEFI systems you need to install a bootloader as usual.

Also remember to make any customizations to install.wim before splitting it, as the split files cannot be changed anymore!

For all the poor Linux admins without a Windows computer like me, who need to help relatives installing Windows 10 (sigh). This is the way under Linux (in my case Ubuntu Bionic).

Use UNetbootin to create an USB-Stick from the Windows ISO. Unfortunately there will be no message, that it truncated the install.wim (in case it is larger than 4G). At least UNetbooin creates a bootable USB-Stick.

Now, use 7zip (apt-get install p7zip) to extract the ISO (it is enough to extract the install.wim file. Do not use the broken install.wim from the created USB-Stick !!). Or alternatively mount the Windows-ISO if you are a more advanced Linux user.

Next use wimexport (apt-get install wimtools) to extract and compress the Windows type needed from original install.wim. With wiminfo you can list all included Windows types.

In my case I ran (see man wimexport): wimexport install.wim 1 home.wim --compress=LZX:100

The previous step created a small (<4G) wim-file which I copied into the sources directory of the UNetbootin created USB-Stick overwriting the broken install.wim (e.g. cp home.wim /mnt/sources/install.wim).

With this I could successfully boot the Windows 10 installer and do the install.

Here is a method yielding a USB drive bootable both on a UEFI and non-UEFI machine. Basically

  • We use FAT32 in order to be bootable under all UEFI system
  • We split the large "install.wim" file as a workaround to the 4GiB file size limit

Under a working Windows 10:

  1. Mount the ISO (e.g. Open with… Windows Explorer). In the following I'll assume it's assigned to drive F:. Adjust steps 4, 5 (twice), 6 as necessary.
  2. Connect an 8GB to 32GB USB drive with no useful data
  3. Open a command line prompt with elevate privileges (Windows key, type "cmd", right-click on the cmd icon on the top left, launch as administrator). Type the following commands
  4. if exist F:\sources\install.wim diskpart (this checks the file "install.wim" is where it is expected in the ISO image, and if so launches DISKPART). Type the following (lowercase letters are optional, case is not sensitive)
    • LISt DISk
    • SELect DISk N (replace N with appropriate number)
    • !! Triple-check the disk number !!
    • CLEan (occasional access error can typically be ignored)
    • CREate PARtition PRImary
    • FORmat FS=FAT32 QUICK LABEL=WIN10
    • ASSign LETTER=X (assuming this drive letter is unassigned; adjust steps 5 and 6 as necessary)
    • ACTive (this step is critical and why we use DISKPART)
    • EXIt
  5. robocopy F:\ X:\ /E /XF F:\sources\install.wim (this copies all files from the mounted ISO to the USB disk, except "install.wim")
  6. Dism /Split-Image /ImageFile:F:\sources\install.wim /SWMFile:X:\sources\install.swm /FileSize:3840 (this copy "install.wim" split as two files "install.swm" and "install1.swm")
  7. Close the command window
  8. Eject the USB drive

Note: for a method that does not split the wim file, see this former version of the present answer. Credits to this other answer for the simplification. An advantage is that no file with a different hash/date is involved.

Someone stumbled upon this graceful solution by Microsoft. This way, the FAT32 partitioned USB works with newer Laptops that has a different Boot Code too.

The Above is the solution I had been using for a long while too, until someone stumbled upon this. Thank you!!

Thanks!!

*Quote: Dism /Split-Image /ImageFile:C:\sources\install.wim /SWMFile:C:\sources\install.swm /FileSize:3999

Although Marco has a very good answer for Linux users splitting the install.wim using wimsplit you may also recompress the file on Linux using wimlib-imagex optimize (also from the wimtools package) with the following command:

wimlib-imagex optimize install.wim --solid

It may take a long time, but the result will just be a smaller install.wim (<4GB).

Source: TQdev.com

to split a install.esd file, you must first convert it to install.wim

then use wimsplit to produce install.swm and install2.swm

mkdir mnt
sudo mount -o loop *.iso mnt
du -h mnt/sources/install*
# 4.2G mnt/sources/install.esd
# 4G is maximum file size on FAT32
# -> split the file
cp -r mnt split
chmod -R +w split
rm split/sources/install.esd
wimsplit mnt/sources/install.esd split/sources/install.wim 4000
# [ERROR] Splitting of WIM containing solid resources is not supported.
# Export it in non-solid format first.
# convert to non-solid format per `man wimexport`
# compression level 1 -> 6GB install.wim
# i dont care about file size, just make it quick
wimexport mnt/sources/install.esd all tmp-install.wim --compress=LZX:1
# we must use *.swm file extension for split files
# with *.wim, install says "insert windows installation disc 2"
wimsplit tmp-install.wim split/sources/install.swm 4000
du -h split/sources/install*
# 2.0G split/sources/install2.swm
# 4.0G split/sources/install.swm
# create new iso
mkisofs -o split.iso split
# write iso
sudo woeusb --partition split.iso /dev/sdbTODO

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy