How to Create a Windows 10 Installer USB from Linux

Windows 10 Setup Usb From Linux Featured

Lately, Microsoft seems to take the path of least resistance in all things. Not too long ago, you couldn’t install and use it on a computer more than 30 days without a valid key. However, now you can use Windows 10 without a key indefinitely. Not to say that it’s legal or illegal. They just allow their software to run on your machine without blocking access like they did in previous versions.

You can also use an old Windows XP or Windows 7 key to activate the latest operating system. Additionally, it’s very easy to create a setup DVD or USB with this tool. With the created media, you can install Windows 10 on any computer.

But that tool works only from Microsoft’s operating system. What if you want to do this from Linux?

Download Windows 10 Setup ISO from Linux

With earlier versions (XP, 7, 8), it was rather hard to get a legal, official copy of a setup disc. You either had to buy one from a store or talk to your computer’s manufacturer to give you one. Now you can just visit this page and download a setup image for free.

And it seems that Microsoft actually wants to subtly encourage Linux users to download this. At the time of writing, if you visit that page from Windows, you are asked for a valid license key. If you do this from Linux, however, you don’t need to enter such a key to get access to the file.

Download this ISO image and then proceed to the next step. If you’re wondering which edition is the “correct” one, don’t worry, just download the latest one you can find.

Windows 10 Setup Usb From Linux Setup Dvd

If You Use Legacy Boot

This guide was tested with both (BIOS) legacy boot and UEFI boot and worked in both scenarios. However, not all motherboards are created equally. Some can’t boot from USB, others can’t boot from certain types of USB images (USB-HDD vs. USB-CDROM), and others are simply buggy.

Most modern computers boot in UEFI mode. Computers that lack UEFI and only have BIOS (legacy) are really, really old and wouldn’t support Windows 10 well anyway (mostly because of performance issues).

But if, for some reason, you are booting in legacy mode and this guide doesn’t work for you, just skip all the steps below. Instead of making a bootable USB, use the ISO image you downloaded and burn it to a DVD. That should work without any issues. Just remember to reboot and set your BIOS/UEFI to boot from the DVD drive first.

Install WoeUSB

If you’re on Ubuntu or an Ubuntu-based distro such as Linux Mint, first add the PPA:

sudo add-apt-repository ppa:nilarimogard/webupd8

If you get a message that “add-apt-repository” is not found, install it with

sudo apt install software-properties-common

and then run the above “add-apt-repository” command again.

This is not required anymore, as the software sources should automatically update afterward. But just in case the next “apt install woeusb” command doesn’t work because it can’t find the package, do this manually.

sudo apt update

Then install WoeUSB.

sudo apt install woeusb

On Fedora, install with

dnf install WoeUSB

On OpenSUSE, you can easily get WoeUSB from this page.

Create Bootable USB

From your launch menu, run WoeUSB GUI. If you can’t find it there, just start it with this command:

woeusbgui & disown

If your USB device has a filesystem on it, it will be auto-mounted by the operating system. Open your file browser and unmount it by clicking on the eject arrow next to it.

Windows 10 Setup Usb From Linux Eject Usb Filesystems

Select the field under “From a disk image (iso)” and navigate to your Windows ISO image. Next, under “File system” select NTFS. Finally, under “Target device” click on your USB device. The final result should be similar to the following image.

Windows 10 Setup Usb From Linux Woeusb Make Bootable Usb Stick

Click install and wait for it to finish. Don’t close the application or remove the USB device until you get a message that the operation has been successful.

Conclusion

In the past, a simple dd command was sufficient to create a Windows 10 setup USB disk. This actually still works today on UEFI machines that can boot USB-CDROM-type disks. But it doesn’t work on legacy since the ISO image lacks the necessary legacy boot program (512 bytes at the beginning of the disk/image).

It was also possible to simply create a FAT32 filesystem and just copy files from ISO to disk. But this also doesn’t work anymore because the setup ISO contains a file that is larger than 4GB, and FAT32 doesn’t support it.

WoeUSB gets over these limitations by creating a legacy boot program on the USB so that BIOS machines (legacy) can boot from it. To work with UEFI too, it creates a small FAT partition. After the UEFI/BIOS firmware loads some programs from this partition into memory, it can read the larger NTFS partition which holds the setup files. NTFS is used because it can store files larger than 4GB.

Remember to enter BIOS/UEFI settings and set your USB stick as the first boot device if you want to install Windows after this.

Image credit: Jason Scott

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox

Alexandru Andrei

Fell in love with computers when he was four years old. 27 years later, the passion is still burning, fueling constant learning. Spends most of his time in terminal windows and SSH sessions, managing Linux desktops and servers.