Thursday, 2 February 2017

UEFI-booting a Windows Installer with a large (>4GB) Install.wim files using Easy2Boot

If you are trying to boot to a Windows Installer via UEFI, then you will need to use a FAT partition to hold the boot files because UEFI will only boot from a FAT partition (the EFI boot partition on a GPT disk is formatted as FAT).

The easiest thing to do, is to simply convert the whole ISO to a FAT32 partition image by dragging-and-dropping the ISO file onto the MPI_FAT32 Desktop shortcut to make a .imgPTN file.

The resultant .imgPTN file should then be UEFI-bootable and MBR-bootable (though for Win7 x64 UEFI booting, you need to tweak the files a bit - see here for details).

Large Install.wim or Install.esd files

The problem comes when you meet a Windows Installer ISO that contains a file that is over 4GB in size (for instance \Sources\Install.wim or \Sources\Install.esd). If you try to make a FAT32 .imgPTN file using MakePartImage, it will fail when it tries to copy the very large file to the FAT32 volume!

The best (most compatible) way to UEFI-boot is to have a USB drive containing a single FAT32 partition. However, the maximum file size for FAT32 is 4GB.

The solution is to split the Install.wim or Install.esd file into smaller files.

The new Split_WinISO.exe Windows utility will do this for you. Just feed it the ISO and it will make a .imgPTN file for you (or a new ISO with split WIM files).


OR - see here for a script that will convert the .esd file to a single large .wim file using DISM (all the images inside the .esd are converted = option 2).

Then use WinToolKit or DISM to split the file:
DISM /Split-Image /ImageFile:d:\temp\sources\install.wim /SWMFile:d:\temp\sources\install.swm /FileSize:3000

You can find more instructions on how to do this here.

In a nutshell it goes like this:
1. Extract all files from the ISO to an empty folder (e.g. temp)
2. Convert install.esd to install.wim using the script (use Option 2)
3. Split install.wim to install.swm and install2.swm (e.g. choose 3GB max size)
4. Replace install.esd (or install.wim) with install.swm and install2.swm (in same folder)
5. Drag-and-drop temp folder onto MPI_FAT32 shortcut to make .imgPTN file

Windows Setup will automatically find either Install.wim, Install.esd or Install.swm (+ other .swm files). Once you have made the .swm files, the .esd and .wim files can be deleted.

I tested this on a Windows 10 International Pro+Home 64-bit+32-bit  ISO which uses install.esd files (though they were not over 4GB). I extracted the files from the ISO, replaced the \x64\sources\install.esd file with install.swm and install2.swm and then made a .imgPTN file from it.

Note that this procedure may not work with some custom AIO versions because they may be coded to look for a .wim file and not a .swm file. If it uses Windows Setup.exe, then it should work.

WinNTSetup

An easy way to avoid this, is to boot to WinPE and then run WinNTSetup.exe. You can then select any ISO and install it onto the target drive.  See here for details.

P.S. Chandra is working on a Windows GUI to convert a Windows ISO containing a >4GB file into split wim files so it can be used on a FAT filesystem for UEFI-booting. The output file can be a .ISO or a .imgPTN file.