Create Windows 10 USB installation drive with Linux only

By udisk, I mean a 2.5 inch HDD placed in an External Hard Drive Enclosure

I'm quite familiar (not professional, daily use only) with Linux (Arch&Ubuntu) but newbie to Windows. Sometimes I accidentally kill my Windows installation with some silly yet unrecoverable operations, and I have to:

  1. Download Windows 10 iso image
  2. Borrow a PC w/ a working Windows installation from someone.
  3. Install Ultraiso on that computer.
  4. Create Windows 10 installation udisk w/ Ultraiso and iso image.
  5. Boot my computer w/ the udisk.
  6. Repair/Reinstall my Windows 10.

I'm tired of borrowing computers or preparing extra udisks. Is there any way to create a Windows installation udisk w/o Windows, w/ Linux only?

Unacceptable solution:

  • dd if=[XXX.iso] of=/dev/sdX - There is no way it's ever gonna work
  • Install Ultraiso on Windows VM, create a virtual disk, flash iso to virtual disk w/ Ultraiso in VM, then binary dump virtual disk to my udisk - Too much trouble

Possible solution:

  • Manually set up ISOLINUX/GRUB2/etc. on udisk and extract iso (If so,a thorough tutorial is much appreciated)

The best way to do that currently is to use woeusb

woeusb  --target-filesystem NTFS --device path/to/windows.iso /dev/sdX

There is also a GUI for those that prefer it.


I did some search, and found a perfect script: windows2usb.

Since woeusb doesn't support UEFI, this tool supports BIOS and UEFI(with rufus driver), FAT32 and NTFS.