I tried creating a bootable USB from a Windows 10 ISO:

dd if=file.iso of=/dev/sdc bs=1M status=progress

However, when booting, all I saw was:

BOOTMGR is missing.
Press Ctrl+Alt+Del to restart

I can successfully mount the udf filesystem on the USB, so the dd worked ok.

My BIOS is from 2012.

What magic is required to create a bootable USB key?

  • Microsoft made Windows Installation ISO doesn't support that. – 炸鱼薯条德里克 Feb 2 at 5:03
  • 1
    CDs and DVDs use a completely different arrangement for bootability than hard disks and USB keys. Modern Linux ISO images have been specifically prepared (processed with isohybrid or similar) to be ready to boot also if transferred to USB media, but apparently Microsoft doesn't do that. – telcoM Feb 2 at 10:54
  • I've done it using mint-stick on a Mint system - on the menu it is titled "USB Image Writer" – ivanivan Feb 2 at 14:30

Use WoeUSB which makes a bootable USB key suitable for old BIOSes. It created a vfat partition whereas using dd didn't write any partitions.

I used --workaround-bios-boot-flag which says:

Workaround BIOS bug that won't include the device in boot menu if non of the partition's boot flag is toggled

Note also that --device will wipe the whole USB key.

Here's my command and output:

% sudo woeusb --workaround-bios-boot-flag --device en_windows_10_multiple_editions_x64_dvd_6846432.iso /dev/sdc
Mounting source filesystem...
Wiping all existing partition table and filesystem signatures in /dev/sdc...
/dev/sdc: 5 bytes were erased at offset 0x00008001 (udf): 43 44 30 30 31
Ensure that /dev/sdc is really wiped...
Creating new partition table on /dev/sdc...
Creating target partition...
Making system realize that partition table has changed...
Wait 3 seconds for block device nodes to populate...
mkfs.fat 4.1 (2017-01-24)
mkfs.fat: warning - lowercase labels might not work properly with DOS or Windows
Mounting target filesystem...
Applying workaround to prevent 64-bit systems with big primary memory from being unresponsive during copying files.
Copying files from source media...
Installing GRUB bootloader for legacy PC booting support...
Installing for i386-pc platform.
Installation finished. No error reported.
Installing custom GRUB config for legacy PC booting...
Applying workaround for buggy motherboards that will ignore disks with no partitions with the boot flag toggled
Resetting workaround to prevent 64-bit systems with big primary memory from being unresponsive during copying files.
Unmounting and removing "/media/woeusb_source_1549081699_11951"...
Unmounting and removing "/media/woeusb_target_1549081699_11951"...
You may now safely detach the target device
Done :)
The target device should be bootable now

For good measure, type sync afterwards.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.