If you have completely migrated to Ubuntu Linux, you might eventually find yourself in a situation where you need to reinstall Windows on a secondary machine, or dual-boot your current rig for a specific piece of software. Creating a bootable Windows 11 installation USB is incredibly easy on a Windows PC using Microsoft’s official Media Creation Tool. However, Microsoft does not provide a native Linux version of this tool.
Simply copying the contents of a Windows 11 ISO file onto a FAT32-formatted USB drive no longer works, because the main Windows installation file (install.wim) is often larger than 4GB, which exceeds the maximum file size limit of the FAT32 file system. To create a working bootable drive, you must use a dedicated utility.
This guide explains how to use an open-source tool called WoeUSB-ng to easily create a bootable Windows 11 USB drive directly from your Ubuntu terminal.
Step 1: Download the Windows 11 ISO
Before you begin, you need the official disk image.
- Open your web browser and navigate to the official Microsoft Windows 11 Download page.
- Scroll down to the section titled Download Windows 11 Disk Image (ISO).
- Select “Windows 11 (multi-edition ISO)” from the dropdown menu and click Download.
- Choose your language and confirm to begin downloading the large ISO file (usually around 5GB to 6GB) to your
~/Downloadsfolder.
Step 2: Install WoeUSB-ng
WoeUSB-ng is a modern, actively maintained Python port of the original (and now abandoned) WoeUSB project. It handles the complex partitioning and file splitting required to make the USB bootable.
Open your Ubuntu terminal and run the following commands to install the required dependencies and the tool itself:
sudo apt update
sudo apt install git p7zip-full python3-pip python3-wxgtk4.0 grub2-common grub-pc-bin wimtools
sudo pip3 install WoeUSB-ng
Note: If you receive an error about installing Python packages globally, you may need to add the --break-system-packages flag to the pip command, though this depends on your specific Ubuntu version.
Step 3: Identify Your USB Drive
Plug in a USB flash drive that is at least 8GB in size. Warning: This process will completely erase everything currently on the USB drive.
You must identify the exact device path of your USB drive so you do not accidentally overwrite your main Linux hard drive.
lsblk
Look at the output and find your USB drive based on its size (e.g., 7.5G or 14.9G). It will likely be labeled something like /dev/sdb or /dev/sdc. Ignore the numbers at the end (like sdb1); you need the root device name (/dev/sdb).
Step 4: Flash the ISO to the USB
Now that you have the ISO and the tool installed, you can begin the flashing process. Replace /path/to/windows11.iso with the actual path to your downloaded file, and replace /dev/sdX with your specific USB drive path.
sudo woeusb --device ~/Downloads/Win11_English_x64v2.iso /dev/sdX --target-filesystem NTFS
The command will take several minutes to complete as it formats the drive, copies the massive installation files, and configures the GRUB bootloader to make it compatible with modern UEFI motherboards.
When the terminal output states that the process has finished successfully, you can safely remove the USB drive. You now have a fully functional Windows 11 installation media ready to use on any PC.