Install WoeUSB on Ubuntu to Create Bootable Windows USB

Want to create a bootable Windows USB in Linux? Ventoy is a very good option.

But before Ventoy, WoeUSB was the go-to tool for this purpose. The original WoeUSB project was discontinued around 2014.

Due to its popularity, a new developer took on the task of bringing the project back from the dead. And that’s how WoeUSB-ng was born. “ng” here means “new generation”. In other words, WoeUSB-ng is the next generation WoeUSB. But since the original tool no longer exists, I will refer to WoeUSB-ng as WoeUSB.

In this tutorial, I will show you how to install WoeUSB on Ubuntu Linux. I will also share the steps for creating bootable Windows USB drives with WoeUSB.

But before that, let’s take a quick look at the features of this awesome tool.

WoeUSB

WoeUSB is a simple tool that has the sole purpose of creating bootable windows usb in linux.

The original WoeUSB is a shell script. This same WoeUSB is rewritten as WoeUSB-ng in python, which can be installed on your system and provides both command line and GUI.

Features:

  • Legacy PC/UEFI boot support
  • FAT32 and NTFS file system support
  • Support for using a physical installation disc or disc image as the source
  • It can be used for Windows Vista and later with all language or edition variants
  • Legacy boot mode/MBR style/IBM PC compatible
  • Native UEFI boot is supported for Windows 7 and later images (limited to FAT file system as target)

Installing WoeUSB on Ubuntu and other Linux distributions

Arch Linux users can install WoeUSB-ng from AUR.

For other distributions, WoeUSB can be installed using PIP. It is a Python application, after all. I will provide commands for Ubuntu/Debian here.

To install WoeUSB-ng, you need to install PIP and other necessary dependencies first.

sudo apt install git p7zip-full python3-pip python3-wxgtk4.0 grub2-common grub-pc-bin

After that, you can install WoeUSB-ng by running:

sudo pip3 install WoeUSB-ng

For all other installations, you can refer to their instructions.

Prerequisites: Obtain the Windows ISO and a compatible USB key

This one goes without saying. You must have the ISO file of the version of Windows you want to install.

From the Microsoft website, you should be able to get the ISO for Windows 10 and 11.

If you have ISOs for older versions of Windows, those can be used as well.

Apart from this, you need to have a USB flash drive/drive of at least 8GB. You need to format it in NTFS file system.

Method 1: Use WoeUSB to Graphically Create Bootable Windows USB Drive (Recommended)

Open woeusb-gui from the activity overview or menu.

overview of woeusb activities in ubuntu
Overview of WoeUSB Activities in Ubuntu

In the application window, select the downloaded Windows ISO and the desired USB drive as shown in the screenshot, then press Install.

woeusb GUI configuration
Configuring the woeusb GUI

There are also other settings available in the app, accessible via the top menu bar.

After pressing install, the woeUSB will start formatting and copying files. You have to wait for some time because there are about 6 GB of files to copy.

woeusb writes windows iso to usb drive
WoeUSB writes the Windows ISO to the USB drive

When the copy is complete, WoeUSB will show a success dialog box. Now you can safely eject the USB drive and use it as a bootable USB drive.

woeusb finished writing and gives success message
WoeUS finished writing and gives success message

Method 2: Use WoeUSB from terminal (for experts)

The WoeUSB-ng package also provides a command line utility called woeusb.

To create the bootable Windows USB using WoeUSb, you need to run the following command:

sudo woeusb --device   --target-filesystem ntfs

Here the --device flag is used to erase the USB drive and completely create a boot from scratch. Additionally, the –target-filesystem flag is set to NTFS, to avoid problems copying files that exceed the size limits of the FAT system.

woeusb command line
woeusb command line

The process will take some time to complete the copy. When finished, it will show a success message.

woeusb command line success message
woeusb command line success message

At this point, you can safely eject the USB drive and use it as Windows bootable USB drive on other PCs.

Bonus: Using the WoeUSB Bash shell script (for experts)

WoeUSB is also available as a bash shell script, which can be used without installing anything on your system.

First, you want to download the shell script from the project releases page.

Before shell file execution, you need to get the required dependencies. To install, run:

sudo apt install wimtools

Now make it executable via file manager or via command line.

make woeusb script executable
Make woeusb script executable

where you can run chmod +x to make it executable. Now run ./woeusb-5.2.4.bash -h in the downloaded directory for help.

To create a live USB, the process is identical to the command line portion of woeusb-ng, except you don’t install anything.

So, in a terminal, run:

sudo  --device   --target-filesystem ntfs

This will start writing the ISO to the USB drive as shown in the screenshot below:

woeusb bash script run without installation
woeusb bash script run without installation

Once done, you can safely eject the USB drive and use it as a bootable USB drive.

Removal of WoeUSB

If you installed WoeUSB using PIP, you can also remove it in the same way:

pip3 uninstall WoeUSB-ng

You can keep the dependencies installed on your system or remove them. It is entirely up to you. I would suggest keeping them.

Wrap

WoeUSB was an extremely popular tool a decade ago. It’s good that he was continued in another form by someone else. That’s the beauty of open source.

I hope this tutorial helped you. If somehow the Windows USB created by WoeUSB is not working as expected, you can try using Ventoy. Enjoy it.


About Sally E. Bartley

Check Also

How to Fix Your Ethernet Connection Not Working in Windows 11

Next post — What is Gigabit Ethernet? 3 Reasons You Need It (And 2 Reasons …