2

Here's what I've tried on my Ubuntu system:

  1. I downloaded Windows 10 ISO from Microsoft.
  2. I copied the files to a different directory and also copied an autounattend.xml file there for automatic configuration.
  3. I made a new ISO file using mkisofs and its' -allow-limited-size switch because Windows files were larger than 4GB.
  4. I copied the ISO contents to a USB stick using dd command.
  5. The USB stick does not show up in BIOS boot options. In BIOS settings, USB Boot is enabled and Secure boot is disabled. It seems it is only possible to use EFI to boot, because there is no option to allow Legacy boot.

What am I missing here?

2 Answers 2

1

You aren't really supposed to put ISO images on USB sticks.

Linux distributions build their ISO images in a special way (using the 'isohybrid' tool) to allow for that. Their images have both an El Torito boot structure for CD/DVD boot and a MBR bootsector & an EFI System Partition for disk boot, so the firmware sees whatever it wants to see.

Regular ISO images fresh off 'mkisofs', however, are just plain ISO9660 (or UDF) filesystem images that are for CD/DVDs only – they have neither a MBR nor GPT partition table that disks are expected to have. The same applies to the official Windows ISO images that you download.

So your steps 3–4 are unnecessary; with USB sticks you don't need to get mkisofs involved at all. Instead you're supposed to partition the USB stick like a regular disk, create a FAT32 partition on it, and extract the contents of the Windows ISO into the mounted FAT32 filesystem as regular files. (Here's the official Microsoft documentation on this.)

(Note: "Mark partition as active" is only needed for BIOS/legacy boot. For UEFI, it's the FAT32 filesystem and the "EFI/BOOT/" directory that makes the disk bootable.)

Normally the ISO contents only have one file that's oversized – the install.wim image, which you can split into several 2GB *.swm pieces for copying to FAT32. The above article suggests dism.exe, and the Linux equivalent is wimsplit from the wimlib toolkit (Ubuntu's split-packaging has it in the 'wimtools' package).

0

Use mkusb

sudo add-apt-repository universe
sudo add-apt-repository ppa:mkusb/ppa
sudo apt update
sudo apt install mkusb 

Ubuntu help:

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .