How to Easily Create Windows 10 Bootable USB on Ubuntu or Any Linux Distro

This tutorial is going to show you an easy way to create a Windows 10 bootable USB on Linux. I use Ubuntu 16.04 as an example. The method applies to any Linux distribution. I use Windows to do online banking because my bank doesn’t support Linux and sometimes play games that can’t run on Linux.

First, you should download Windows 10 ISO from Microsoft official download link. Note that you might not be able to download the ISO from this link on a Windows computer. This download link is visible to users on Linux computer. Once downloaded, follow the instructions below.

Note: It’s recommended to download the Windows 10 April 2018 update ISO, because the October Update ISO contains a file that is larger than 4GB, which can not be copied to a FAT32 partition.

Windows 10 Disc Image ISO

Creating a Windows 10 Bootable USB for UEFI Firmware

This method works for UEFI firmware and is very simple. You create a GUID partition table on your USB stick, create a FAT32 file system on it, and then mount Windows 10 ISO image and copy those Windows 10 files to your USB stick and you are done. The following is a step-by-step guide.

First, install GParted partition editor on your Linux distribution. Ubuntu users run the following command.

sudo apt install gparted

Then insert your USB stick to your computer. Make sure you back up important files in your USB stick if there’s any. Next, launch Gparted. You will need to enter your password in order to use GParted.

make a windows 10 bootable usb

Select your USB stick from the drop-down menu on the upper-right corner. My USB stick is /dev/sdb. Yours may be different.

make a windows 10 bootable usb on linux

If there’s a key icon after the partition name, that means the partition is mounted. Make sure all partitions on your USB stick are unmounted. To unmount a partition, simply right-click on it and select unmount.

make windows 10 bootable usb on ubuntu

Next, on the menu bar, select Device > Create partition table.

create bootable windows 10 usb on linux

Choose GPT as the partition table type and click Apply.

windows-10-bootable-usb-uefi-linux-gpt

Then right-click on the unallocated space and select New to create a new partition.

windows 10 usb gpt fat32

Change file system type from ext4 to fat32 and click Add.

Note: The install.wim file in Windows 10 October 2018 update ISO is 4.1G, so if you downloaded this ISO image, you need to change ext4 to ntfs. If you downloaded Windows 10 April 2018 Update ISO, which contains a 3.9G size install.wim file, you can change ext4 to fat32

Update: It is my observation that my NTFS formatted USB stick isn’t bootable on my old laptop, which was bought in 2012. However, it is bootable on my desktop computer, which was bought in 2017. It has a graphical UEFI firware (I can use my mouse to configure firmware settings).

windows 10 usb ubuntu 16.04

Next, click the green check button on the toolbar to apply this operation. Once that’s done, close GParted (This is important), then find your Windows 10 ISO in file manager. Open it with disk image mounter.

mount windows 10 iso on ubuntu

Open the mounted file system. Select all files and folders and copy them to your USB stick.

windows 10 usb native UEFI

Sometimes the file manager on Ubuntu hangs and it seems that the copy operation has stopped. Actually it’s working, just be patient. When you see a check mark, it means the copy operation has finished.

windows 10 bootable usb creator linux

If your file manager doesn’t have the Disk image mounter in the context menu, then you can use the following commands to mount. The first command will create a mount point for Windows 10 ISO and the second command will mount Windows 10 ISO under that mount point.

sudo mkdir /mnt/windows10/

sudo mount -t auto -o loop /path/to/window-10-iso /mnt/windows10/

Now in your file manager, go to /mnt/windows10/ and copy all files and folders to your USB stick.

Once the file and folders are copied, your windows 10 bootable USB is created! You can shut down your computer, boot it from this USB stick and install Windows 10 in UEFI mode. Keep in mind that you may need to disable compatibility support module (CSM) in the firmware in order to boot in UEFI mode. You may also need to remove USB stick from your computer and insert it back in order for the firmware to detect the boot loader on your USB stick.

Creating a Windows 10 Bootable USB for Legacy BIOS Using WoeUSB

WoeUSB is a fork of WinUSB. Both of them are open-source software (licensed in GPL) for making Windows bootable USB sticks on Linux platform, but the latter hasn’t been updated since 2012. You may be wondering why it’s named WoeUSB. The author said it’s a GNU convention to abbreviate software that support Windows to “woe”.

To install WoeUSB on Ubuntu 14.04/16.04/17.04, you can use the following PPA. Simply open up a terminal window and run the following commands one by one. Other Linux distro users can compile this software by following the instructions on the Github project page.

sudo add-apt-repository ppa:nilarimogard/webupd8

sudo apt update

sudo apt install woeusb

This PPA contains many other software. If you don’t need them, you can now remove this PPA from your system.

sudo add-apt-repository --remove ppa:nilarimogard/webupd8

sudo apt update

You can launch WoeUSB from Unity Dash or your application menu.

woeusb ubuntu

You can also start it from command line with:

woeusbgui

It’s very easy to use the WoeUSB GUI. Select Windows ISO image and your target USB device. Make sure your data on the USB device is backed up before hitting the Install button.

woeusb ubuntu install

Then wait for the installation to complete.

make windows 10 bootable usb on ubuntu

Once done, you can use the bootable USB to install Windows 10 on your computer.

How to Use WoeUSB From the Command Line

First, find the device name of your USB stick using the following command.

lsblk

woeusb command line

Mine is /dev/sdb. Make sure your USB is unmounted with the following command. Replace /dev/sdb1 with your own partition name.

sudo umount /dev/sdb1

Then create a bootable Windows 10 USB like below. Red texts shoudl be adapted to your own ISO file name and USB device name. The -v (--verbose) option will give more detailed output.

sudo woeusb -v --device windows-10.iso /dev/sdb

In my test, the Windows 10 USB created with WoeUSB can boot in both legacy and UEFI mode on my old computer. On my new computer, it can boot in legacy mode but failed in UEFI mode. I don’t know the exact reason, but it’s probably because of bug in this software.

That’s it! I hope this tutorial helped you create windows 10 bootable USB on Ubuntu or any Linux distribution. As always, if you found this post useful, then subscribe to our free newsletter to get new tutorials.

Rate this tutorial
[Total: 99 Average: 4.2]

report this ad

43 Responses to “How to Easily Create Windows 10 Bootable USB on Ubuntu or Any Linux Distro

  • Rajib Alam
    1 year ago

    Hi! That worked perfectly. Thanks for sharing your expertise with FOSS amateurs like me. Cheers.

  • Ahyani Pavlov D'eouvre
    1 year ago

    Thank you… successfully without headache

  • tb thomas
    1 year ago

    I’m assuming that when you said this would “install Windows 10” on my computer, you meant to say: this will enable me to boot Windows 10 running on the usb stick (while leaving my hard-drive partitions alone, untouched).

    Is that correct? Thanks for the helpful tutorials. Well done.

  • SAKHAWAT Hossain
    1 year ago

    After successfully wasting one day this thing work out for me very easy and effective thankx man lots of thanx bottom from heart ❤❤

  • Brigadier Pepis
    1 year ago

    Another way to mount the Windows ISO is using the mount command with root privileges like this:

    sudo mount -t auto -o loop “/path/to/windows.iso” /destination/path

    Thanks for sharing!

    • tb thomas
      1 year ago

      Seems like running the .iso off the hard-drive would be the better way to go, right?
      Not sure why Microsoft is willing to give Win-10 away. (Not that I want to use it for anything other than temporary/compatibility issues !;)

      Regardless, once you’ve mounted it, how do you boot into it?
      (thanks!)

  • Zoopediua
    1 year ago

    This worked for me! 🙂 Thanks

  • Keith Chasse
    1 year ago

    My Chromebook wouldn’t allow me to do squat with my USB or ISO so I broke out the trusty UBUNTU shovel and dug my way out with your excellent guidance. You just saved my gaming rig.

  • Mysterion
    1 year ago

    Thanks! You saved my day.

  • Mathias
    1 year ago

    Good stuff! Thanks a lot!

  • Thuan Ung
    12 months ago

    I can boot from USB to install Windows but then Windows can’t find a partition to install onto. What am I missing or doing incorrectly? How can I install so Windows in completely bootable from the USB? Thanks in advance

    • Windows doesn’t recognize ext4 partitions, or any other Linux file systems. If you want to set up dual boot, you need to create a separate NTFS partition in Linux with Gparted before booting the Windows USB.

  • This worked fine for me, thanks.

  • Thanks bro!

  • Wow, thank you. Just when I feel good enough to learn some technical stuff, I get a nice tutorial like yours. I didn’t know I wasn’t using efi until the apt-cache search for grub showed me only -pc. After a few hiccups and a CMOS reset, I’m doing OK. Cheers.

  • The windows 10 image contains a file larger than 4gb, the first method wont work due to this fact.

  • “Note: The install.wim file in Windows 10 October 2018 update ISO is 4.1G, so the first method described below won’t work. ”

    Is it possible to format to NTFS so it takes more than 4GB and the newer Windows 10 versions can be used?

    Incidentally, I noticed that GNOME files can format to NTFS (right mouse click on USB drive, choose format) so I “assume” that GParted will be able to do this too 🙂

  • i am try make usb bootable windows 10 oct with format ntfs but cannot boot up, whats wrong?

    • Maybe it’s because your UEFI version doesn’t support booting from NTFS formatted USB stick.

      It is my observation that my NTFS formatted USB stick isn’t bootable on my old laptop, which was bought in 2012. However, it is bootable on my desktop computer, which was bought in 2017. It has a graphical UEFI firware (I can use my mouse to configure firmware settings).

      • fyi my old Lenovo Laptop (also an older UEFI, NOT graphical) also has this issue – ExFat or NTFS is not bootable.
        I had to search (yesterday) a download for the old build.

        Deeplink for Windows 10 1803 April-2018-Update Build 17134.1
        (c) https://www.zdnet.de/88330561/windows-10-april-2018-update-herunterladen/

        64-Bit-ISO: https://software-download.microsoft.com/pr/Win10_1803_German_x64.iso?t=e9c97212-9083-44d4-850a-ce403dd0114b&e=1559164699&h=9bf7ef479a1c51cd55dc6ebf8dde08db

        32-Bit-ISO: https://software-download.microsoft.com/pr/Win10_1803_German_x32.iso?t=e9c97212-9083-44d4-850a-ce403dd0114b&e=1559164699&h=e8d227267ce341ae138b2b462f4490ae

        • Sadly these download links are expired, so I have to remove them. I do have Windows 10 1803 April 2018 update ISO on my hard drive. I’m wondering if it is legal to upload untouched Windows ISO files on a website for visitors to download?

  • I greatly appreciate this because the Oct version of Win 10 4GB+ will not work with woeusb and I tried many workarounds with no success. Your method works perfectly. I rarely use windows, but once in a while I need it. Mint is my baby.

  • after copied all the files in my usb stick, my mnt folder is empty adn stick is invisible in bios.
    how can I solve?

  • Johnnyboi
    7 months ago

    Doesnt show up as a bootable device, i formated in ntfs and using the newest update.
    The april 64bit update is 4,4gb too, so i cant try with the fat32 method…

    • The April Update ISO file is 4.4GB. After you mount the ISO file, go to the mounted directory. You will find that there’s no single file larger than 4GB, so you can copy them to a FAT32 partition. (Don’t copy the ISO file itself to USB stick.)

  • Hello, I have the 1809 iso file and I formatted the drive in ntfs but it did not boot. I have a modern desktop (7th gen Intel) but it still does not boot. Any suggestions will be appreciated.

    • It’s hard to troubleshoot such problem. I would download the April update ISO file instead and format the USB drive to FAT32.

      After all, you can always install updates after you install Windows 10.

    • From what I have learned, UEFI boot from NTFS partition depends on whether your firmware has NTFS driver or not.

  • I have the same problem, with October version. I put April version and FAT32 instead of NTFS and works. Thank you.

  • hi thanks for tutorial, i kind of got lost on the click green box part i jiggled around with it n hoped for the best 🙁 total newb here 🙂

    so once i got to copy image to usb nothing seems to happen? you said it tends to hang !, so how long is this for usually.

    ps maybe if you could add screenshots of the process where you click green box n what happens next would be help to make that process clearer, sorry for complaint as this is the best tutorial for me as i only have 4gb usb n old laptop

  • ok i figure out that its the green tick you press to apply., ivee gotten to where it hangs n seems to do nothing with info that the usb is unmounted. how long should i give it to copy? or have i to mount it now?

  • Mike Quenard
    4 months ago

    Saved my bacon! Thanks a million!

  • Does this repo still contain woeusb? I am getting:
    ‘E: Unable to locate package woeusb’

  • David Paul Graham
    3 months ago

    Fantastic Explanation! thank you so much for this write up

  • Akuma-kun
    2 months ago

    I tried this method and it works also formatting the USB stick in NTFS on Ubuntu for ISO images larger than 4 GB.

  • Sridhar Sarnobat
    2 months ago

    This actually worked for me, unlike a lot of other solutions. Thank you.

Leave a Comment

  • Comments with links are moderated by admin before published.
  • Your email address will not be published.
  • Use <pre> ... </pre> HTML tag to quote the output from your terminal/console.
  • Please use the community (https://community.linuxbabe.com) for questions unrelated to this article.
  • If my answer helped you, please consider supporting this site. Thanks :)