Skip to content

Instantly share code, notes, and snippets.

@dragon788
Created November 2, 2019 03:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dragon788/63e79069b910eb4f997563c94dc20019 to your computer and use it in GitHub Desktop.
Save dragon788/63e79069b910eb4f997563c94dc20019 to your computer and use it in GitHub Desktop.
Making the Windows 10 "fluffy" install.wim compatible with a FAT32 USB so a UEFI bootable USB can be created from Linux/macOS/ChromeOS

MAGIC aka Making Anything Gruelingly "Impossible" Coherent

Whatever operating system you are using to create the USB, you will need to have a Windows 10 ISO, either from Microsoft or your system manufacturer and have a USB drive 8GB or larger (or one with at least 5GB of free space and using the FAT32 filesystem, but using a fresh and empty one is best).

Assumptions (yes I know what assume does to do U and Me)

  1. You have an ISO downloaded to $HOME/Downloads/Win10_1903_V2_English_x64.iso or your native language equivalent.
  2. You have a USB drive you have formatted with FAT32, either using "Files" in ChromeOS or Disk Utility or Gparted or the command line equivalents (fdisk, mkfs.fat32, and/or parted) in Linux or the Disk Utility or the command line diskutil in macOS or just formatting the drive by right clicking and doing "Format" in Windows... but why aren't you using the Microsoft tool if you have Windows available (maybe you like doing it the "hard" way to learn more about how things work?).
  3. You have a little patience, internet available and have the right permissions to install a couple packages required to achieve our goal of a bootable Windows 10 USB.

Packages required

For ChromeOS (with Linux apps), or Linux or macOS we will need the wimtools package and the 7zip CLI aka p7zip package. You can sudo apt update && sudo apt install wimtools p7zip in your Linux terminal or on macOS once you have Homebrew from https://brew.sh you can run brew install wimtools p7zip.

For Linux and macOS (and on Windows 8.x+) we could technically "mount" the ISO to make the files available instead of extracting them to the USB using 7zip, but I wanted to make the instructions consistent across the platforms as well as easier to copy and paste for fewer mistakes.

Once you have plugged in and formatted your USB drive to FAT32 (use a name like Win10-1903 to make it easier to identify), then make note of the path where it is "mounted".

  • On ChromeOS you will need to right click the drive in the "Files" app and se lect "Share with Linux", this will create a link at /mnt/chromeos/removable/<drivename>, eg /mnt/chromeos/removable/Win10-1903. You should right click the Downloads folder and "Share with Linux" as well so we can access the ISO file.iiiii
  • On Linux depending on your system it may be at /media/Win10-1903 or $HOME/.gvfs/Win10-1903 or /media/$USER/Win10-1903.
  • On macOS the USB will be under a path like /Volumes/Win10-1903. * On Windows the USB drive will have a letter viewable in Windows Explorer or in Powershell with Get-PSDrive or something like that. If you don't want to type out the path several times, you can use export ISO_FILE=/path/to/your/Win10.iso or on Windows in Powershell
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment