Trouble installing Windows because of media drivers? Using a Gigabyte/ASUS/MSI/Whatever motherboard? A guide for Linux users.
Motherboard or SATA/RAID/NVMe drivers may not be the issue. The problem might be the way you're creating your Windows install media.
For five hours I banged my head against a wall trying to install Windows 11. I'm a Linux user, but I needed Windows for a particular program so I set out to install it on a newly built computer.
Everyone recommends using the Windows 11 Media Creation Tool to create the USB installation media, but that tool runs only on Windows. I didn't have a Windows computer so instead I used a Linux ISO writer, one that works great for creating Linux install media.
The computer booted to the USB, but very early in the install I was greeted by this message:
A media driver your computer needs is missing. This could be a DVD, USB or Hard disk driver. If you have a CD, DVD, or USB flash drive with the driver on it, please insert it now.
This message is pretty specific. The Windows installer needs drivers. So I went to my motherboard manufacturer's website, in this case Gigabyte, read the manual and created a second USB drive with the specified Windows 11 AMD RAID Preinstall Driver. The Windows installer could read the USB drive but the installer choked on it, didn't care, wasn't satisfied with what I was offering. I tried AMD brand chipset drivers, other drivers, nothing worked. I screwed around with the motherboard's BIOS settings for a very long time, trying different things. Still wouldn't install.
Turns out, you can't create Windows 11 install media with just any Linux ISO writer and I didn't know that. I had already tried several and none worked. Why does Windows install media need a special writer? What technical wizardry could a certain ISO writer be performing that others can't? Hell if I know, but I guess it doesn't matter anyway.
You need to use WoeUSB to create Windows install media on Linux. The ISO direct from Microsoft will do fine—you don't need to use their media creation tool—but this particular writer performs whatever black magic Windows requires for installation. WoeUSB is a command line application and is available either in your Linux distribution's repository or it can easily be added.
WoeUSB Installation
Ubuntu/Debian
sudo add-apt-repository ppa:tomtomtom/woeusb
sudo apt-get update
sudo apt-get install woeusb
Fedora
sudo dnf install woeusb
Arch (from the AUR)
yay -S woeusb
Using WoeUSB
It's important to first identify your USB drive with lsblk.
lsblk
Identify your USB drive. It'll look something like /dev/sdb. It's very important to get this right because WoeUSB could easily overwrite something important ... like your system drive.
To actually write to your USB drive and create the Windows install media, here's the command:
sudo woeusb --target-filesystem NTFS --device /path/to/Windows11.iso /dev/sdX
Replace /path/to/Windows11.iso
with the actual path to your Windows 11 ISO file, and replace /dev/sdX
with your USB drive identifier.
After that the program will run, the Windows install media will be created, and your Windows install should now work.