How to prepare Microsoft Windows USB installation media on Linux using WoeUSB

Prepare Microsoft Windows® USB installation media on Linux using WoeUSB.

Download official Windows 10 ISO.

Download woeusb utility.

$ wget

Execute it to build a bootable Windows USB device using a specific ISO.

$ sudo bash woeusb-5.1.2.bash --device Win10_21H1_Polish_x64.iso /dev/sdb
WoeUSB v5.1.2
Info: Mounting source filesystem...
Info: Wiping all existing partition table and filesystem signatures in /dev/sdb...
/dev/sdb: 2 bytes were erased at offset 0x000001fe (dos): 55 aa
/dev/sdb: calling ioctl to re-read partition table: Success
Info: Ensure that /dev/sdb is really wiped...
Info: Creating new partition table on /dev/sdb...
Info: Creating target partition...Info: Making system realize that partition table has changed...Info: Wait 3 seconds for block device nodes to populate...mkfs.fat 4.2 (2021-01-31)
mkfs.fat: Warning: lowercase labels might not work properly on some systems
Info: Mounting target filesystem...
Info: Copying files from source media...
Writing "/tmp/woeusb-target-20210805-200227-Thursday.7XAbMd/./sources/install.swm" (part 1 of 2): 0 MiB of 4553 MiB (0%) written
Writing "/tmp/woeusb-target-20210805-200227-Thursday.7XAbMd/./sources/install2.swm" (part 2 of 2): 4094 MiB of 4553 MiB (89%) written
Finished writing split WIM part 2 of 2
Info: Installing GRUB bootloader for legacy PC booting support...
Installing for i386-pc platform.
Installation finished. No error reported.
Info: Installing custom GRUB config for legacy PC booting...
Info: Done :)
Info: The target device should be bootable now
Info: Unmounting and removing "/tmp/woeusb-source-20210805-200227-Thursday.ZWjJWs"...
Info: Unmounting and removing "/tmp/woeusb-target-20210805-200227-Thursday.7XAbMd"...
Info: You may now safely detach the target device

It works flawlessly, but remember to read readme file at to install dependencies.