How to Make Windows 10 Bootable Usb in Ubuntu 18.04
This tutorial is going to show you an easy way to create a Windows 10 bootable USB on Linux. I use Ubuntu 20.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.
What you need
- A computer running Linux
- A USB flash drive at least 8GB
- Windows 10 ISO
Download Windows 10 ISO
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.
Update: Microsoft doesn't allow you to download the Windows 10 April 2018 Update ISO from their website anymore. You can download the ISO via this link: Win10 1803 English x64 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.
Select your USB stick from the drop-down menu on the upper-right corner. My USB stick is /dev/sdb
. Yours may be different.
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.
Next, on the menu bar, select Device > Create partition table.
Choose GPT as the partition table type and click Apply.
Then right-click on the unallocated space and select New to create a new partition.
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).
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.
Open the mounted file system. Select all files and folders and copy them to your USB stick.
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.
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.
Boot Windows 10 ISO Installer without USB (BIOS & UEFI)
Ever wondered if you can boot Windows 10 ISO installer without a USB flash drive? Yes, you can do it with GRUB2, which is the standard boot loader on Linux.
GRUB2 can not boot Windows 10 ISO directly. You need to create a separate NTFS partition on your hard disk or SSD with a partition editor like GParted and extract the Windows 10 ISO to that partition. Download the Windows 10 ISO file. The latest Windows 10 ISO file is 5.8G. The new NTFS partition should be at least 7G and it should not be used to store any other files.
Then find your Windows 10 ISO in file manager. Open it with disk image mounter.
Open the mounted file system. Select all files and folders and copy them to the NTFS partition.
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 checkmark, it means the copy operation has finished.
Next, open up a terminal window and edit the /etc/grub.d/40_custom
file with a text editor such as Nano.
sudo nano /etc/grub.d/40_custom
In this file, we can add custom entries to the GRUB boot menu. In this case, we want to add an entry to boot the Windows 10 installer. If your computer still uses the traditional BIOS firmware, then add the following lines in this file.
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 }
My NTFS partition is the 6th partition on my first disk, so I use (hd0,6)
as the root. You can run sudo parted -l
command to check your NTFS partition number. If your computer has multiple hard drives, use the drivemap
command to set the partition (hd0,6)
as the first hard disk, so Windows will be able to boot.
If your computer uses UEFI firmware, then 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. (Press Ctrl+O
, then press Enter
to save a file in Nano text editor. Press Ctrl+X
to exit.)
Then update GRUB boot menu.
sudo grub-mkconfig -o /boot/grub/grub.cfg
or
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Next, set GRUB to boot the Windows 10 installer for the next boot with the following command.
sudo grub-reboot Windows-10-Installer.iso
or
sudo grub2-reboot Windows-10-Installer.iso
Unplug all your external USB storage devices, then reboot your computer. GRUB will choose the Windows 10 installer.
GRUB2 can also boot Linux ISO files stored on the hard drive, so you don't need to create Linux live USB.
- How to Boot ISO Files From GRUB2 Boot Loader
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.
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.
Then wait for the installation to complete.
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
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: 104 Average: 4.2]
How to Make Windows 10 Bootable Usb in Ubuntu 18.04
Source: https://www.linuxbabe.com/ubuntu/easily-create-windows-10-bootable-usb-ubuntu