WoeUSB – Create Bootable Windows USB Sticks from Linux

We have written on tools. e.g. ISO Image Writer, Fedora Media Writer, and Etcher, with which you can make flash drives bootable. But even they have issues making flash drives and memory cards bootable with Windows in my experience.

The tool we introduce to you today is capable of achieving this feat without stress; it’s called WoeUSB.

WoeUSB is a free and open-source software tool that allows you to create bootable Windows USB drives from Windows ISO files or DVD discs.

It is specifically designed for Linux-based operating systems and provides a graphical interface to simplify the process of creating bootable USB drives for installing Windows.

With WoeUSB, Linux users can easily create a bootable USB drive containing Windows installation files, which can be used to install or repair Windows on a computer.

This is particularly useful when you don’t have access to a Windows machine but need to install Windows on a new computer or reinstall it on an existing one.

WoeUSB supports various versions of Windows, including Windows Vista, Windows 7, Windows 8, Windows 8.1, and Windows 10. It uses the NTFS file system for compatibility with Windows installation files and ensures that the USB drive is properly formatted and configured to be bootable.

Install WoeUSB on Linux

WoeUSB is a program that can be run without installation as shown, but first, install some required dependencies.

$ sudo apt install bash dosfstools findutils grep gawk grub-common grub-pc-bin ntfs-3g p7zip-full parted util-linux wget wimtools

Next, download the program (woeusb-N.N.N.bash) from the releases page and set the missing executable file permission.

$ chmod +x woeusb-N.N.N.bash

Finally, launch a terminal application and run the program via the appropriate path.

$ sudo ./woeusb-N.N.N.bash
Run WoeUSB in Ubuntu
Run WoeUSB in Ubuntu

Create Bootable Windows USB Device

Here are a few examples of using WoeUSB from the command line:

1. To create a bootable Windows USB device from a Windows ISO file:

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

Replace /path/to/windows.iso with the actual path to your Windows ISO file, and /dev/sdX with the target USB device (e.g., /dev/sdb, /dev/sdc). Make sure to specify the correct device to avoid overwriting data on other drives.

2. To create a bootable Windows USB device from a Windows DVD disc:

$ sudo ./woeusb-N.N.N.bash --device /dev/sr0 /dev/sdX

3. To format the USB drive as NTFS:

$ sudo ./woeusb-N.N.N.bash --format /dev/sdX

4. To specify the partition scheme explicitly (e.g., GPT):

$ sudo ./woeusb-N.N.N.bash --partition-type=gpt --device /path/to/windows.iso /dev/sdX

Remember to replace /dev/sdX with the appropriate device identifier for your system. It’s essential to double-check the device name to avoid accidentally overwriting data on other drives.

Are you familiar with WoeUSB? Share your experience and/or questions with us in the comments section below.

Divine Okoi is a cybersecurity postgrad with a passion for the open-source community. With 700+ articles covering different topics in IT, you can always trust him to inform you about the coolest tech.

Each tutorial at GeeksMint is created by a team of experienced writers so that it meets our high-quality writing standards.

24 thoughts on “WoeUSB – Create Bootable Windows USB Sticks from Linux”

  1. it said it can’t locate woeusb package when trying to install, why is that? where it should be locate it for the system to find it?

  2. waste of time – kubuntu 20.04
    (package referred to existed in v18, can’t be be installed because it has its own dependency issues)

    The following packages have unmet dependencies:

    woeusb : Depends: libwxgtk3.0-0v5 (>= 3.0.4+dfsg) which is a virtual package and is not provided by any available package

    The following actions will resolve these dependencies:

    Keep the following packages at their current version:

    1) woeusb [Not Installed]

  3. I followed below steps to make woe usb write windows 10 iso to bootable USB. My laptop runs on Ubuntu 18.04.

    1) Download .deb package from github

    2) sudo dpkg -i woeusb-build-deps_3.3.1_all.deb

    The above command gave below error
    Selecting previously unselected package woeusb-build-deps.
    (Reading database … 337994 files and directories currently installed.)
    Preparing to unpack woeusb-build-deps_3.3.1_all.deb …
    Unpacking woeusb-build-deps (3.3.1) …
    dpkg: dependency problems prevent configuration of woeusb-build-deps:
    woeusb-build-deps depends on debhelper (>= 9); however:
    Package debhelper is not installed.
    woeusb-build-deps depends on dh-autoreconf; however:
    Package dh-autoreconf is not installed.
    woeusb-build-deps depends on libwxgtk2.8-dev | libwxgtk3.0-dev; however:
    Package libwxgtk2.8-dev is not installed.
    Package libwxgtk3.0-dev is not installed.

    dpkg: error processing package woeusb-build-deps (–install):
    dependency problems – leaving unconfigured
    Errors were encountered while processing:

    3) Now its required to install dependencies as follows.
    sudo apt –fix-broken install

    4) Woe USB will be installed automatically with command in point 3 above. If its not installed then,
    sudo dpkg -i woeusb-build-deps_3.3.1_all.deb

    5) Open gparted from Ubuntu apps. Find your USB device and unmount it. This step is must to do.

    6) Open terminal and simply type woeusbgui

    7) Choose your windows iso image and start writing !

  4. And…??? You told us how to download it (although had dependency errors with Ubuntu 20.04.2 LTS where I had to use other sources) but you just ended it at that even though your title says ” … Create Bootable Windows USB Sticks from Linux”. We’re halfway there so no, this isn’t an article to tell someone how to “… Create Bootable Windows USB Sticks from Linux”.

  5. If you have troubles with installation like where
    The following packages have unmet dependencies:
    woeusb : Depends: libwxgtk3.0-0v5 (>= 3.0.4+dfsg) but it is not installable
    E: Unable to correct problems, you have held broken packag

    I recommend to install woeUSB from Git repository/
    (need to ummount your device, i made from Gparted)
    wget https://raw.githubusercontent.com/WoeUSB/WoeUSB/master/sbin/woeusb -O /tmp/woeusb
    sudo install /tmp/woeusb /usr/local/bin
    sudo umount /dev/sdXN
    sudo woeusb --device /dev/sdX --target-filesystem ntfs

    Welldone !

  6. Guys i’ve got an error:

    string 1676: echo: writing error: invalid argument
    The command “exit 0” failed with exit status “1”, program is prematurely aborted

    Any advice on that? or it’s not critical

  7. my Usb stop working after using this. It asked to delete some “partition” or “parse sector ” I do not exactly recall, after approving it said some error and boom ! now my newly bought USB is completely useless.

    • I should’ve read this comment before daring to use this bloated tool. Now my newly bought USB is completely useless as well. Great.

      • USE WITH CAUTION OR FIND A WINDOW SYSTEM AND USE RUFUS. I lost a 32GB because this tool messed with the USB permissions and I can’t make it write/read again.

      • The following packages have unmet dependencies:
        woeusb : Depends: libwxgtk3.0-0v5 (>= 3.0.4+dfsg) but it is not installable
        E: Unable to correct problems, you have held broken packages.

        There’s also a woe-usb on Ubuntus software package installer and it has all 1 star votes no one can launch it. Don’t know if someone else tried to make a version for Ubuntu and added the dash or they are both one and the same?

        This is on Ubuntu 20.04

  8. # How to Write Windows 10 1809 using NTFS USB With WoeUSB

    # Change X to your USB Device: (‘dev/sdX’)

    # Eject Device From Terminal:
    eject /dev/sdX
    # You will get this Error: eject:( unable to open `/dev/sdX’)

    # Write Windows 10 1809 ISO to USB Device in NTFS Mode: Windows 10 1809 requires this writing mode.
    sudo woeusb –device Win10_1809Oct_English_x64.iso /dev/sdX –tgt-fs NTFS

    Thank you Martins!

  9. Thanks for the article(it’s now the 2nd article in DuckDuckGo’s search result!). I’d like to point out that the “privilege escalation” feature doesn’t really matters with Polkit’s `pkexec` and Sudo’s `gksudo` as they both are frontends of corresponded p.e. mechanism. We simply replace `gksudo` with `pkexec` simply because `pkexec` is now the most pre-installed frontend in modern GNU/Linux distributions.

    Relevant GitHub issue: https://github.com/slacka/WoeUSB/issues/78


Got Something to Say? Join the Discussion...