Discover how to create a Windows 10 bootable USB drive on Linux with our comprehensive guide. Whether you’re troubleshooting a Windows computer or setting up a dual-boot system, having a Windows 10 bootable USB at hand can be a lifesaver.
Download Windows ISO
To begin with, obtain the Windows 10 ISO file from the official Microsoft download page. Keep in mind that this link may not be accessible when using a Windows device. This download option is typically visible to those utilizing a Linux computer. After successfully downloading the ISO, proceed with the steps outlined below.
Also Read: How to Download Windows ISO in Windows OS
Create Windows 10 Bootable USB for UEFI Firmware
This technique is suitable for UEFI firmware and quite straightforward. It involves creating a GUID partition table on your USB drive, establishing a FAT32 file system, and then mounting the Windows 10 ISO image and transferring the Windows 10 files to your USB drive. Here’s a detailed guide to help you.
First, install the GParted partition editor on your Linux distribution. For Ubuntu users, execute the following command:
sudo apt install gparted
Next, plug your USB drive into your computer. Remember to back up any crucial files on your USB drive beforehand. After that, launch GParted, and you’ll be prompted to enter your password.
Select your USB drive from the upper-right corner dropdown menu. For example, my USB drive is /dev/sdb
, but yours may differ.
If a key icon appears after the partition name, it indicates the partition is mounted. Ensure all partitions on your USB drive are unmounted. To unmount a partition, right-click on it and select “Unmount.”
Now, navigate to the menu bar and choose Device > Create partition table.
Opt for GPT as the partition table type and click “Apply.”
Afterward, right-click on the unallocated space and select “New” to create a new partition.
Change the file system type from ext4 to FAT32 and click “Add.”
Following that, click the green checkmark icon on the toolbar to execute this operation. Once completed, close GParted (this is crucial), then locate your Windows 10 ISO in the file manager and open it with the disk image mounter.
Access the mounted file system, select all files and folders, and copy them to your USB drive.
At times, the file manager on Ubuntu may freeze, making it appear as if the copy operation has halted. However, it is still functioning – just be patient. When a checkmark is visible, it indicates that the copy operation has concluded.
If your file manager lacks the Disk image mounter in the context menu, you can utilize the following commands for mounting. The first command establishes a mount point for the Windows 10 ISO, while the second command mounts the 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, navigate to /mnt/windows10/
and copy all files and folders to your USB drive.
Once the files and folders have been copied, your Windows 10 bootable USB is ready! Power down your computer, boot from this USB drive, and proceed with the Windows 10 installation in UEFI mode. Remember that you might need to disable the compatibility support module (CSM) in the firmware to boot in UEFI mode. Additionally, you may need to remove the USB drive from your computer and reinsert it for the firmware to detect the bootloader on your USB drive.
Boot Windows 10 ISO Installer without USB
Have you ever considered booting a Windows 10 ISO installer without a USB flash drive? It’s possible using GRUB2, the standard boot loader on Linux.
To boot the Windows 10 ISO directly with GRUB2, you’ll need to create a separate NTFS partition on your hard disk or SSD using a partition editor like GParted. Then, download the Windows 10 ISO file. Ensure the new NTFS partition is at least 7GB and isn’t used to store any other files.
Next, locate your Windows 10 ISO in the file manager and open it with the disk image mounter.
Access the mounted file system, select all files and folders, and copy them to the NTFS partition.
Be patient if your file manager on Ubuntu seems to hang, as the copy operation is still in progress. Once you see a checkmark, the copying is complete.
Now, open a terminal window and edit the /etc/grub.d/40_custom
file with a text editor like Nano:
sudo nano /etc/grub.d/40_custom
Add an entry to boot the Windows 10 installer in this file. For traditional BIOS firmware, add the following lines:
menuentry "Windows-10-Installer.iso" { set root=(hd0,6) insmod part_msdos insmod ntfs insmod ntldr #uncomment the following line if your computer has multiple hard drives. #drivemap -s (hd0) ${root} ntldr /bootmgr }
Adjust the root value according to your NTFS partition number, which you can find using sudo parted -l. If your computer has multiple hard drives, use the drivemap command to set the partition as the first hard disk so Windows can boot.
For UEFI firmware, add the following text in this file:
menuentry "Windows-10-Installer.iso" { set root=(hd0,6) insmod part_gpt insmod ntfs insmod chain chainloader /efi/boot/bootx64.efi }
Save and close the file, then update the GRUB boot menu:
sudo grub-mkconfig -o /boot/grub/grub.cfg
or
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Set GRUB to boot the Windows 10 installer during the next boot with the following command:
sudo grub-reboot Windows-10-Installer.iso
or
sudo grub2-reboot Windows-10-Installer.iso
Finally, unplug all external USB storage devices and restart your computer. GRUB will then choose the Windows 10 installer.
GRUB2 can also boot Linux ISO files stored on the hard drive, eliminating the need to create a Linux live USB.
Also Read: How to Install Windows on Contabo VPS[GRUB2 Method]
Create Windows 10 Bootable USB Using WoeUSB
WoeUSB, a fork of WinUSB, is an open-source software (GPL licensed) for creating Windows bootable USB sticks on the Linux platform. WinUSB has not been updated since 2012. The name “WoeUSB” follows the GNU convention of abbreviating software that supports Windows as “woe.”
To install WoeUSB on Ubuntu 18.04/20.04/22.04, use the following PPA by running these commands in a terminal window one by one. Users of other Linux distros can compile this software by following the instructions on the Github page:
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install woeusb
This PPA includes numerous other software. If you don’t need them, remove the PPA from your system:
sudo add-apt-repository --remove ppa:nilarimogard/webupd8
sudo apt update
Launch WoeUSB from Unity Dash or your application menu, or start it from the command line with either:
woeusbgui
or
The WoeUSB GUI is simple to use. Select the Windows ISO image and your target USB device. Ensure your data on the USB device is backed up before clicking the Install button.
Wait for the installation to finish, and then use the bootable USB to install Windows 10 on your computer.
To use WoeUSB from the command line, first find the device name of your USB stick using:
lsblk
Identify your USB device (e.g., /dev/sdb
) and unmount it with the following command, replacing /dev/sdb1
with your partition name:
sudo umount /dev/sdb1
Next, create a bootable Windows 10 USB as shown below, adjusting the red text to match your ISO file name and USB device name. The -v (–verbose) option provides more detailed output:
sudo woeusb -v --device windows-10.iso /dev/sdb
Windows 10 USB created with WoeUSB could boot in both legacy and UEFI mode on older computers. However, on newer computers, it could boot in legacy mode but failed in UEFI mode, likely due to a bug in the software.
In conclusion, creating a Windows 10 bootable USB on Linux is a straightforward process using different methods such as the UEFI firmware approach, WoeUSB, and even booting the Windows 10 ISO installer without a USB flash drive using GRUB2. Each method has its advantages and specific steps, but all can help you achieve the desired result. With the various options available, users can choose the one that best suits their needs and system requirements. Regardless of the method chosen, always remember to backup your data before proceeding to avoid any potential data loss. Armed with this knowledge, you can now create Windows 10 bootable USBs on Linux with confidence and ease, paving the way for a smooth Windows installation experience.