This is a tool that is used to create a bootable Windows 10 USB drive on Linux and is CLI-based known as WoeUSB. This is under active development and a graphic user interface known as WoeUSB-frontend-wxgtk which at the moment is not maintained.
An independent Python port of this known as WoeUSB-ng is also available and is maintained actively. This supports to the creation of a bootable Windows USB from Linux with support for both UEFI booting and Legacy PC. Its filesystem can either be FAT32 or NTFS, whereas the source can be either a disk image or physical installation disk. The best thing is that it supports non-ASCII filenames.
It supports Windows Vista, 7, 8, 8.1, and 10 in any language or edition. The whole deal.
How To Install WoeUSB Tool on Linux Distros
It has the following dependencies:
- Bash >= 4.3.
- Grep and Gawk.
- Find utilities.
p7zip is an optional dependency required like when windows 7 installation media does not ship with the USEFI bootloader in the proper location.
Now, on Debian, Ubuntu, and Linux distributions on these such as Pop!_OS, Linus Mint, Zorin Operating System and many others you can install these by using:
sudo apt install coreutils util-linux gawk parted wget p7zip
sudo dnf install coreutils util-linux gawk parted wget p7zip
Arch Linux / Manjaro / Ubuntu
sudo pacman -S coreutils util-linux gawk parted wget p7zip
User can now install the new command line somewhere in their PATH (commands below download them, install it to /usr/local/bin)
wget https://raw.githubusercontent.com/WoeUSB/WoeUSB/master/sbin/woeusb -O /tmp/woeusb
sudo install /tmp/woeusb /usr/local/bin
Bootiso is yet another tool with which users can create bootable USB drives from Linux.
ALSO TRY: Which is the most Stable Ubuntu Version.
(Guide) Creating Bootable Windows 10 and Windows 11 USB with WoeUSB
In the first step you need to plug the USB stick you wish to create installation into your system. wait for some time, use the following command line in order to list all disks which are connected with your system, including the drive:
Sudo parted -1
Following is an example of a command showing a drive attached to my PC:
Model: USB DISK 3.0 Pro (iscsi) Disk /dev/sda: 31.0GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1024kB 91.0GB 40.2GB primary boot 2 56.0GB 89.0GB 60.3MB primary fat16 esp
Now, in the above example output, you can see the USB device name by looking under the Disk, so in this case, it is /dev/sdd. Partitions are listed below the disk flags, so in this, you can see 2 partitions; 1 and 2 (since the name of the device is /dev/sdd, partitions are /dev/sdd3 and /dev/sdd4.
- After this, you need to unmount any mounted drive partitions.
If the drive you have inserted was mounted then unmount it before proceeding by using:
sudo unmount /dev/sdXN
- Then create bootable windows drive from Linux using WoeUSB.
In two ways this can be done. The device creation method is used to wipe the entire storage device completely, after this you can build one from scratch. This method copies the ISO files to a partition that exists that too of a USB device and then makes it bootable, only overwriting files that exist already under the same name on it.
Using Device Mode (Easy)
Use the following command:
sudo woeusb --device </path/to/Windows.iso> /dev/sdX --target-filesystem ntfs
What you need to know about the syntax:
• –device specifies the creation mode of the device, “device” in such a case.
• /path/to/windows.iso –replace this with a path toward the images you wish to use for bootable USB media creation.
• /dev/sdX is the found under step 1 (like /dev/sdd)
• –target-filesystem ntfs specifies to use this as the target filesystem, in spite of default FAT32. Now, without this, you shall get an error in most of the cases which would say that the source image has been exceeded FAT32 4GiB file size limitation, like this: Error: File.
“/media/woeusb_source_/sources/install.wim” in source image has exceeded the FAT32 Filesystem 4GiB Single File Size Limitation and cannot be installed. You must specify a different –target-filesystem.
In this section:
- –partition is used to specify to use its partition mode, which is used to copy the windows ISO files to an already existing partition of a storage device and make it bootable, only overwrite files which exist under the same name of the USB already.
- /path/to/windows.iso –replace this one with the path toward the ISO you wish to use for the bootable USB media creation.
- /dev/sdXN is a device partition to which users want to copy the files. They can find this by using sudo parted -1, explained above.
Now, we are not specifying the type of partition target filesystem when using this in such a mode, as this only copies them to a partition on the USB stick, so therefore it is already supposed to be NTFS.
Note: Make sure to double-click that the device and partition are correct before running the command; all data on it shall be lost!
For more options such as specifying your own label for the filesystem which has been created newly, applying a workaround for a BIOS bug that shall not include the device there in the boot menu if no partition has a boot flag toggles and more, you can see the app help (woeusb –help).
This was all for it! You should now be able to create a Windows 10/11 bootable USB using WoeUSB tool on Ubuntu, Debian or CentOS! This method has currently worked on all types and brands of pen drives, none have yet failed on me including SanDisk, Kingston, or HP ones.