How To Create a Bootable Windows 10 USB with WoeUSB on Linux

This is a tool which is used to create a bootable Window 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 which is maintained actively. This supports to create 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

Install WoeUSB Tool

It has the following dependencies:

  1. Bash >= 4.3.
  2. Coreutils
  3. Util-linux.
  4. Grep and Gawk.
  5. Find utilities.
  6. Parted

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

Fedora

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 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 the 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.
Recommended:  Top 10 Best Linux Mint Themes Download (2021 Edition)

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. 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 which exists that too of a USB device and then make it bootable, only overwriting files that exist already under the same name on it.

ALSO TRY: Install Latest Version of Google Chrome on Ubuntu 20.04.

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 towards 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.

Make Windows 10 Bootable USB on Linux

“/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 towards 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, which is 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 device and partition are correct before running the command; all data on it shall be lost!

Recommended:  How To Unblur Chegg Answers In 2021 (Free Chegg Answers)

For more options such as specifying your own label for the filesystem which has been created newly, apply 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).

WoeUSB Guide finished

ALSO TRY: Add Apt Repository Command Not Found Finally Solved.

Summary

This was all for it! You should now be able to create a Windows 10 bootable USB using WoeUSB tool on Ubuntu, Debian or CentOS! This method has currently worked on all types and brands on pen drives, none have yet failed on me including SanDisk, Kingston or HP ones.

Qayyum is a full-time developer at DekiSoft that is eager to discover new and exciting advancements in technology, AI, software, Linux and machine learning. He loves playing games in his spare time.

Leave A Reply

Please enter your comment!
Please enter your name here