In the past it has been relatively difficult to create a Windows 8, Windows 8.1, Windows 10, Windows 11 UEFI Bootable USB on Linux due to poor driver support for the Windows NTFS format. The inbuilt driver in the Linux Kernel did not handle large NTFS files for example the >4.0 GB install.wim of the installation media and corrupted it therefore creating corrupt Windows Installation Media. A previous workaround was documented to split the install.wim file into multiple install.swm files in order to create a Bootable USB with a single FAT32 Partition.
Linux Kernel 5.15.1 and later contains an updated NTFS driver which can handle large NTFS files. This can be used to create a Bootable USB without splitting the install.wim.
Table of contents
Updating Ubuntu to Linux Kernel to 5.15.1
At the time of writing Kernel 5.15.1 is bleeding edge. An older version of the Linux Kernel is found in the feature based Ubuntu 21.10 and the Long Term Support Ubuntu 20.04 LTS. Any older version of Linux may be incompatible with newer Kernels.
To check the Kernel version we open up the terminal and input:
In my case on Ubuntu 21.10 the Kernel Version is below 5.15.1 and I therefore need to update it:
To update the Kernel download the set of 7 files listed:
Note that these are .deb files and as they are in development they are not yet digitally signed by Microsoft so Secure Boot will be need to be disabled in order to boot to the new Kernel.
We can install all the .deb files using the terminal. First of all change directory to the Downloads folder:
Note cd is an abbreviation for change directory.
To install all the .deb files from this folder use:
sudo dpkg -i *.deb
Note sudo is an abbreviation for super user do (run as administrator). You will be prompted for authentication in order to proceed. dpkg is an abbreviation for debian package and -i is an instruction to install. The *.deb means we will install all the debian files in the folder.
To apply the changes we need to restart. To do this use:
Note that during the restart:
You may get stuck during boot with an error message informing you that some of the boot files have an invalid signature. Press any key to continue:
Then select the UEFI Firmware settings:
Disable Secure Boot:
Your system should boot normally. Once again use the following command in the terminal to check the version:
Download a Windows 11 ISO
Windows 11 ISOs can be downloaded from Microsoft. Although this guide is for windows 11, the instructions should be equally applicable for Windows 10 and Windows 8.1:
I will use Windows 11. The first two options given are Windows Applications which must run on Windows. We will use the third option which is a direct download link to the ISO that can be used on Linux. The Windows Insider Preview ISO, Windows 10 and Windows 8.1 Downloads all have direct ISO download options.
From the dropdown select your Version (there is usually only 1 option) and then select Download:
From the dropdown select your Language and then select Confirm. Note that Microsoft call English (US) "English" and English (UK) "English International". I am in the UK so I will select English International.
Select the Download button corresponding to your architecture. 64 Bit Windows has been standard since the launch of Windows 7 and Windows 11 is 64 Bit only.
For the mainstream versions, ISO checksums will also be listed. Expand Verify your Download:
The ISO checksum can be verified by opening a terminal and changing the directory to the downloads folder which can be done using the command:
Alternatively right click empty space within the downloads folder and select open in terminal.
Use the command sha256sum followed by the name of your ISO (you can rename the ISO in the download folder to copy the file name including the extension and paste it into the terminal). The ISO checksums should match those listed by Microsoft otherwise the ISO is corrupt and you will need to redownload. Usually the Insider Preview Checksums will be found with a Google Search although they aren't listed by Microsoft:
Open the Ubuntu Software Store and search for GParted. Select the top option:
Then select Install:
Installing some software such as GParted requires Authentication. To proceed input your password and select Authenticate:
GParted will now be installed and you can launch it from the Start Screen:
GParted requires elevated permissions in order to work with USB Flash Drives. Input your passowrd and select authenticate in order to proceed:
To the top right select the Drive Dropdown Menu:
Select your USB Flash Drive (this can usually be identified by the file size):
Right click any partition on the drive and select Unmount:
Unified Extensive Firmware Interface (UEFI)
UEFI has been the standard for computers manufactured in the last 10 years. For reference:
- OptiPlex 390/790 – 2011 (2nd generation Sandy Bridge) UEFI BIOS – No Secure Boot, there is no option for Legacy ROMs as these are always Enabled
- OptiPlex 3010/7010 – 2012 (3rd generation Ivy Bridge) UEFI BIOS with Secure Boot (only with the latest UEFI BIOS Update)
- OptiPlex 7020 – 2014 (4th generation Intel Haswell) UEFI BIOS with Secure Boot
- OptiPlex 7040 – 2015 (6th generation Intel Skylake) UEFI BIOS with Secure Boot
- OptiPlex 7050 – 2017 (7th generation Intel Kabylake) UEFI BIOS with Secure Boot
- OptiPlex 7060 – 2018 (8th generation Coffeelake) UEFI BIOS with Secure Boot
Windows 11 Installation Media must be setup for UEFI as Windows 11 will only run on computers that have a UEFI BIOS, Secure Boot, a TPM of 2.0 and an 8th Generation Intel Processor or later (the processor requirement can be relaxed to a high end 6th Generation Processor i5-6xxx, i7-6xxx or 7th Generation Processor i5-5xxx, i7-7xxx although these configurations are not officially supported by Intel or Microsoft).
Windows 10 Installation Media and Windows 8.1 Installation Media can be setup for UEFI or for a Legacy Boot however this particular guide will only cover a UEFI Boot.
Create a Windows 11 UEFI Bootable USB using GParted
In theory we can create a Bootable USB with a GPT Table and a single NTFS Partition. However in practice this Bootable USB won't display in the Boot Menu of some Dell Systems when Secure Boot is Enabled. Some Dell systems require a FAT32 Partition to pass Secure Boot. Therefore we will create a Bootable USB with a GPT Partition Table, a FAT32 Boot Partition and a NTFS Install Partition. To do this we will use GParted.
Now select Device and Create Partition Table:
Make sure it is GPT and select Apply:
Right click the Unallocated space and select New:
Change the New size to 1024 MB, the file system to fat32 and the label to BOOT:
Right click the remaining Unallocated space and select New:
Ensure the File system is NTFS and the label is INSTALL:
Now apply the changes:
Select Apply at the warning:
Then select Close and Close GParted:
Now right click your Windows ISO and select Open with Disk Image Mounter:
Navigate to its contents. You will see a sources folder:
Within this is an install.wim file which exceeds 4.0 GB. Note 4.0 GB is the upper file size limit of the FAT32 file system and therefore this file will not fit on a FAT32 Partition:
Copy everything on the ISO to the FAT32 BOOT Partition of your USB except the sources:
In its place create your own sources folder:
Copy the boot.wim from the ISO sources folder to your BOOT sources folder:
Now copy all the files from the ISO (including the sources folder) to the install.wim:
Once all the files have copied over you have a Windows 11 Bootable USB.