If you are using Ubuntu or any other Linux distro as the only platform on your PC or laptop and you want to move to Windows 10 or just want to try some polished features and functions of Windows 10 and since Microsoft has recently announced their polished Windows 11, it might be tempting to try out some new features on Windows, then it is likely that you might face an issue while creating the bootable USB for Windows 10.

If you are searching for an easy and 100% working solution then you have landed on the correct place as we have prepared the tested and always working solution for both UEFI BIOS with secure boot and Legacy BIOS. Let us have a look at the problems you may face while using any other general methods to prepare the bootable USB for Windows 10.

Problems with Other General Methods

  • FAT32 formatted USB drive fails to accept files larger than 4.0 GB (4,294,967,296 Bytes) being older technology, which results in incomplete installation media.
  • exFAT(newer technology) is often greyed out in Disks app in Ubuntu or any other Linux distro.

Considering the above problems we have prepared the guide below to make the process work flawlessly on any Linux system without any issue. You need to follow the steps carefully such that you do not generate any error (chances are rare unless you do a typing mistake).

Windows 10 UEFI Bootable USB on Ubuntu or Linux Mint

This method creates a Windows 10 UEFI Bootable USB on Ubuntu or Linux Mint distros. UEFI and secure boot are enabled by default in almost all devices purchased after 2012. I am using Ubuntu 20.10 but instructions should remain identical on other versions like Ubuntu 20.04 and other flavours of Ubuntu as well, this method also works on other distros based on Ubuntu such as Mint 20/20.1.

Step 1: Download the Windows 10 ISO file from the official site.

Download Windows 10 ISO
Download Windows 10 ISO file from Official Site

Download the latest version of the Windows 10 ISO file only from Microsoft’s official site to avoid any modified or malicious files. Select the latest version of Windows 10 and the language for your usage. After downloading do not close the Windows as you will need to verify your ISO file after download.

Step 2: Navigate to the folder containing the ISO file

Open the terminal and navigate to the folder where you downloaded the ISO file for Windows 10 by typing the command below and then hit Enter. In the command below, in place of ‘Downloads’ type the folder name where you downloaded the ISO file, I downloaded it in the Downloads folder.

cd Downloads

Step 3: Verify the downloaded version on terminal

Verify the downloaded ISO
Verify with SHA

Next, you need to verify if the downloaded ISO file is 100% working or not. To verify that copy the name of the ISO file downloaded along with the extension(.iso). I have used my filename(in my case it was ‘Win10_2004_EnglishInternational_x64.iso’) in the command below, remember to replace it with your one.

sha256sum Win10_2004_EnglishInternational_x64.iso

Once you hit enter, it should give in output a code which you can verify with the code listed on Microsoft’s official site from where you download the ISO file. It should be listed based on the languages of the versions. If the desired output is not produced in the terminal then you need to download the ISO file again to ensure you have the correct and fully functional file of Windows 10.

Step 4: Install wimtools via terminal

Install wimtools
Install wimtools

First of all, to ensure that the software repositories are up-to-date paste the following command and hit enter, then a prompt will ask you for the user password to continue the update process.

sudo apt-get update

Now, to install wimtools paste the following command in the terminal and hit enter.

sudo apt-get install wimtools

Further, when asked if you want to continue, press ‘Y’ and hit enter to continue. Now, you can install the GParted tool using the command below, if it is not present in your system already.

sudo apt-get install gparted

Step 5: Mount the ISO file and copy the ‘install.wim’ file out

Extract install.wim file out
Extract install.wim out of the ISO file

In the file manager, press right-click on the Windows 10 ISO file and select ‘Open with Disk Image Mounter’. Now open the mounted disk and inside the folder named ‘sources’ find the file named ‘install.wim’ and copy it to the Downloads folder.

Now for the proper functioning of the wimtools, restart the terminal. Simply close the terminal and open a fresh terminal.

Step 6: Split the ‘install.wim’ file to bypass FAT32 memory limitations

Divide install.wim into parts
Divide the large file into parts

Memories formatted in FAT32 format have a limit of file transfer and it cannot handle a single file of size greater than 4 GB. exFAT is the newer technology that is capable of doing it but often it is seen that the option of exFAT is greyed out in systems like Ubuntu and Fedora.

So to bypass the memory limitations of FAT32 format, we will split the ‘install.wim’ file (which is of size greater than 4 GB) into two parts, each having size less than or equal to 4 GB. To perform the above function paste the following command in a fresh terminal.

wimlib-imagex split Downloads/install.wim Downloads/install.swm 4000

You will now see two extra files in the Downloads folder named ‘install.swm’ and ‘install2.swm’ respectively. These are the files you are going to need, now you can delete the ‘install.wim’ file from the Downloads folder.

Step 7: Format the USB drive with GPT partition table in FAT32 format

The UEFI Bootable USB requires a GPT Partition Table and a FAT32 partition. To create the partition table follow the images below.

Create partition table
Create a partition table

Select GPT partition table to create UEFI bootable USB for Windows 10.

GPT partition table
Select GPT for UEFI bootable USB

Search for ‘Disks’ in the applications section, open it and format the USB drive in FAT32 format.

Select FAT32

Step 8: Copy the files from ISO to USB drive

Preparation is almost over and now you just need to copy Windows files to your USB drive.

Copy all files except sources folder
Copy all folders except the sources folder
  • Now upon getting the success message in the terminal, close the terminal. Next, open the mounted ISO file in the file manager and copy all the files from the mounted drive to the USB drive except the folder named ‘sources’.
Create sources folder
Create a new folder named ‘sources’ in the USB drive
Copy all files except install.wim
Copy the split ‘install.swm’ and ‘install2.swm’ into the USB
  • In the USB drive, create a folder named ‘sources’.
  • Now navigate to the mounted ISO drive and copy all the files inside the ‘sources’ folder except the ‘install.wim’ file to the newly created ‘sources’ folder in the USB drive.
Instead of install.wim copy the smaller parts
Copy the smaller parts instead of the big ‘install.wim’ file
  • Finally, copy the ‘install.swm’ and ‘install2.swm’ files from the Downloads folder and paste it into the ‘sources folder’ in the USB drive.
  • Wait for the transfer process to finish and then only eject the USB drive from the device.

Now you have successfully created the bootable USB drive for Windows 10 in Ubuntu 20.04. You can use the USB drive to fresh install Windows 10 on any laptop or PC. If you are using other Linux distros like Fedora then you can follow the guide below.

Windows 10 UEFI Bootable USB on Fedora

The process remains the same as described above in detail with screenshots. You just need to change the commands a bit. The commands are listed below in sequential order.

sudo dnf update
sudo dnf install wimtools
cd Downloads
wimlib-imagex split Downloads/install.wim Downloads/install.swm 4000

Windows 10 Legacy Bootable USB on Ubuntu or Linux Mint

Legacy mode is present in older devices, usually, devices purchased before 2012 have legacy mode enabled in them. The Legacy Bootable USB requires an MBR Partition Table and NTFS partition. This process is going to be very easy, so there is less text below and more pictures to give you a good visual idea.

Step 1: Add the repository for WoeUSB

This repository is now discontinued as very few devices now use legacy boot mode but still, you can use this if you have a legacy device. Run the codes below on the terminal to add the repository as shown in the image.

Add repository for WoeUSB
Add repository for WoeUSB
sudo add-apt-repository ppa:tomtomtom/woeusb
sudo apt-get update

Step 2: Install GParted and WoeUSB

If you do not have GParted present on your device you can use the code below to install GParted on your system.

sudo apt-get install gparted

Now, to install WoeUSB, do not use sudo apt-get as get fetches packages only from the official repositories. So use the command as:

sudo apt install woeusb
Install WoeUSB
Install WoeUSB

Step 3: Unmount all the partitions of the USB

If you have any partitions of the target USB open, you need to unmount all of them for the successful creation of a Windows 10 bootable USB.

Unmount partitions of the USB drive
Unmount partitions of the USB

Step 4: Create bootable media using WoeUSB

Open WoeUSB and follow the steps below to create a Windows 10 legacy bootable USB.

  • Add on the ‘Add file’ button to add the Windows 10 ISO file to WoeUSB.
Click to add the ISO file
Click to Add the ISO file
  • Locate and add the ISO file to WoeUSB.
Select the Windows 10 ISO file
Select the Windows 10 ISO file
  • Choose NTFS filesystem for the bootable media, select the target USB drive and click on ‘Install‘.
Click on Install
Click to start the creation
  • Wait for the process to finish and meanwhile you can add a comment down below to say whether you found what you were looking for, it feels good if you find us helpful.
Wait for the process to finish
Wait for the process to finish
  • When the process finishes, a message should pop up saying ‘Installation succeeded‘.
Installation is complete
Installation succeeded

That’s it! You are now ready with a Legacy bootable USB for Windows 10. You can now try out Windows 10 on your device.

Windows 10 Legacy Bootable USB on Fedora

Again, the process and flow for Fedora remain the same but you need to change the commands. The required commands for Fedora are given below in sequential order.

sudo dnf update
sudo dnf install gparted
sudo dnf install woeusb

Hope you liked our guide on how to create a Windows 10 bootable USB in Ubuntu 20.04. You might like our guides on creating Windows 10 bootable media on Android and on Windows itself for a clean installation.

If you have found the above article useful, kindly share it with other people. If you have any doubt regarding the above commands or methods, put a comment below in the comments section.


Ajay Choudhury

Ajay Choudhury is the co-founder of OrbitGadget. He is a tech geek and a constant learner with a burning passion for technology. He loves sharing his know-how with others through his projects and blog. When not coding or writing content he loves playing football or enjoying music.

34 thoughts on “How to Create a Windows 10 Bootable USB in Ubuntu 20.04 and Fedora”

  1. Used your tutorial on creating windows 10 usb on ubuntu exactly, but after I restart my pc and attempt to boot from such USB .. all I get is “no bootable drives found”
    I’ve tried everything I can possibly think of.. please help

    1. Hey Sean! You can try disabling ‘Secure Boot’ from BIOS settings or you can also try inserting the USB drive to another USB port of your PC or laptop. This method works flawlessly, you need not worry.

  2. Thank you Ajay, very clear explanation. This also works in ubuntu 20.10. The only adjustment was to set my bios to UEFI and change the boot priority. Afterwards, I was good to go.
    After 5 years of Linux back to Windows again. Not because I want to but the rest of the world speaks only windows 🤣. Hope that will change soon.

    1. It is already changing Mario. Many educational institutions and firms have shifted towards open-source Linux and we can see the progress and change in the upcoming years when more and more people will get used to Linux. Windows still does a decent job with a vast application base and hardware support.

  3. Great tutorial Ajay. BTW, Linux Kernel 5.4+ has support for exFAT enabled, all you have to do is select other and exFat when formatting the partition.
    If exfat is greyed out you can install exFAT-utils to enable it.

  4. Excellent post. I was checking continuously this blog and I am impressed! Very useful information particularly the last part 🙂 I care for such information much. I was seeking this particular info for a very long time. Thank you and good luck.

  5. After a night of trying other methods and finally found this article, I HAD to comment on this, and all I have to say is:

  6. Thanks a lot, Ajay. Detailed info like how exFAT is better in handling >4GB files but can’t be used with Linux is welcome. Adding a generous amount of screenshots helps understand precisely.

  7. For what it’s worth, a bootable USB created this way by splitting wim files to bypass the fat32 file size limit didn’t yield a successful install of win10. A simple solution over this lengthy procedure is, to enable exfat32 file system using sudo apt install exfat-fuse exfat-utils
    Then go to Linux’s inbuilt Disks tool, choose ‘other’ file system, then exfat in the final step of formatting the flash drive.

  8. Great goods from you, man. I’ve understand your stuff previous to and you’re just extremely excellent. I actually like what you’ve acquired here, really like what you’re stating and the way in which you say it. You make it entertaining and you still care to keep it sensible. I can not wait to read much more from you. This is actually a tremendous website.

Leave a Reply

Your email address will not be published. Required fields are marked *

Our posts may contain affiliate links! If you buy something through one of those links, you won't pay a penny more, but as an Associate/referrer, I earn a small commission from qualifying purchases which helps us keep our good work on. Check our complete disclosure here. Thanks for the support!