Create a bootable Windows 10 installation USB from Linux, Windows 10 boot error 00000098, Total Windows installations: 0

Create a bootable Windows 10 installation USB from Linux

Creating a bootable USB from an ISO file usually follows this path in Linux:

1. Download the ISO file - wget http://...
2. Copy the file data raw to the USB device, dd if=file.iso of=/dev/sdXY or pv < file.iso > /dev/sdXY (where sdXY is the USB flash drive).
3. Use the USB drive on the machine to boot

This works with ISO:s containing Debian, Gparted, Ubuntu and so on.

This is however NOT the case with the official Microsoft Windows 10 ISO:s, the machine will refuse to boot.

There are a lot of guides explaining how to do it, none of them did it.

The idea is often to mount the ISO file, copy over the contents and write a fitting boot record with ms-sys or maybe lilo -M /dev/sdX mbr. It worked with a Windows 7 installation, but for some reason not Windows 10.

What worked was to use WoeUSB, which did the most of what had to be done:

Download the woeusb .bash file from

Make it executable:
chmod +x woeusb-x-x-x.bash

Run it:
./woeusb-x-x-x.bash --target-filesystem NTFS --device ./win10.iso /dev/sdX

The script hangs for minutes at Installing GRUB bootloader for legacy PC booting support...

This script does not mark the partition to boot as active on the USB drive, so it needs to be done manually:

cfdisk /dev/sdXY, find the big main partition (not EFI) and select Bootable and hit Enter, then go to Write and hit enter, then quit.

Windows 10 boot error 00000098, Total Windows installations: 0

Windows insisted on putting the Windows Boot Manager on the wrong disk on a BIOS + MBR installation.
After the installation the boot manager was removed on the wrong disk. Then Windows refused to boot when it was selected from the GRUB menu on the right disk.

The usual suggestions to solve this by going to Repair computer (or hit Shift+F10) on the Windows 10 USB installer did not do it:

bootrec /fixmbr
bootrec /fixboot (reported access denied)
bootrec /rebuildbcd (reported Total Windows installations: 0)

What did fix it though was:

bcdboot c:\windows /s C: /F BIOS

(replace BIOS with UEFI or ALL if you use UEFI)

bootsect /nt60 C:: /mbr


This is a personal note. Last updated: 2021-02-18 22:12:14.







Don't forget to pay my friend a visit too. Joakim