Guides 11792 Published by

The article shows how to create a bootable Windows USB on recent Ubuntu releases with WoeUSB, explaining why the tool avoids common problems that arise when using raw dd or poorly aligned partitions for UEFI. It begins by urging users to update their system and use an 8 GB or larger USB stick, then gives simple commands for installing the GUI or CLI version from the official PPA. If that repository is out of date, the guide supplies a clear build‑from‑source procedure that installs git, p7zip-full, python3‑pip, pyusb 1.2.1, clones the WoeUSB GitHub repo, and runs setup.py to obtain the latest fixes. Finally, it walks through launching the GUI or running the CLI command to write a Windows ISO, offers troubleshooting tips for permission errors, boot‑failure messages, and crashes, and reminds readers to reboot in UEFI mode to finish the installation.



Installing WoeUSB on Ubuntu 22.04 or 20.04

If you’re running a recent Ubuntu release and still need to make a Windows installer, WoeUSB is the low‑friction way to do it without hunting for a second‑hand USB stick that boots in UEFI mode.

Why you’ll want this tool

You’ve got an ISO on hand but your laptop insists on showing “USB not bootable.” I’ve seen that after a bad driver update or when the default dd method leaves the partition table in a weird state. WoeUSB writes the Windows image to the drive the way Microsoft expects it, so you can boot right away.

Quick prerequisites check

Make sure your system is up‑to‑date and has the essentials:

sudo apt update && sudo apt upgrade -y

You’ll also need a USB stick that’s at least 8 GB. Anything larger works fine too. If the drive is already formatted, back up its data first.

Installing via the official PPA (recommended)

The easiest route is to pull WoeUSB straight from its PPA:

sudo add-apt-repository ppa:woeusb/woeusb
sudo apt update
sudo apt install woeusb-frontend-wxgtk  # or woeusb for CLI only

Why this matters: The PPA keeps the package in sync with upstream, so you get bug fixes and newer versions without manual compilation.

Heads‑up: On Ubuntu 20.04 the PPA might still point to an older release of WoeUSB that’s missing the latest UEFI support. If you hit a snag, skip to “Build from source” below.

Build from source if the PPA fails

If the repository is out of date or you prefer the bleeding‑edge code:

sudo apt install git p7zip-full python3-pip
pip3 install pyusb==1.2.1  # WoeUSB’s Python dependency
git clone https://github.com/WoeUSB/WoeUSB.git
cd WoeUSB
python3 setup.py install

Why this matters: You get the newest commit, which includes fixes for issues like “no write permission on /dev/sdX” that crop up with older binaries.

Creating your Windows USB with WoeUSB

1. Plug in your USB and figure out its device name:

   lsblk -f | grep -i usb

2. Launch the GUI (if you installed it):

   woeusb-frontend-wxgtk

Pick “Target Device” => your USB, “Source” => the ISO file, and hit “Install”.

3. Or use the CLI:

   sudo woeusb --device /path/to/windows.iso /dev/sdX

Replace /dev/sdX with the device you found in step 1.

Why this matters: The GUI hides the complexities of partitioning and boot sector writing, while the CLI gives you full control if you prefer a scriptable workflow.

Troubleshooting common hiccups
  • “Permission denied” when writing to /dev/sdX

Make sure no partitions on that USB are mounted. Run umount /dev/sdX* first.

  • USB shows “Not bootable” after creation

Some UEFI firmware is picky about the partition alignment. Try adding --force or using the CLI with the --target-filesystem=NTFS flag.

  • WoeUSB crashes on startup

Verify you have the latest pyusb installed (pip3 install --upgrade pyusb). Older versions can trigger segfaults.

Final notes

Once your USB is ready, reboot and switch to UEFI mode. You should see “Windows Setup” in the boot menu. No more fiddling with BIOS or legacy drivers.

That’s all there is to it—time to boot into Windows. Catch you later.