Fedora: Create windows 8.1 bootable USB

Just now, I successfully created a bootable USB from a Windows 8.1 ISO containing a UDF filesystem. This will properly boot a UEFI machine into UEFI mode for subsequent install. It will not boot a BIOS machine or a UEFI machine in BIOS compatibility mode.

  1. Mount the ISO:

    sudo mount -t udf -o loop,ro,unhide /path/to/file.iso /mnt
    
  2. Insert the USB drive.

  3. Run fdisk and specify the device name of the USB drive; for example:

    sudo fdisk /dev/sdc
    
  4. Delete any existing partition table and create a new one.

  5. Create a new partition of at least 4.5 GB. Mark it bootable and set its type to 7 (HPFS/NTFS/ExFAT).

  6. Write changes and exit fdisk.

  7. Create a FAT-32 file system in the new partition; for example:

    sudo mkfs.vfat -F 32 /dev/sdc1
    
  8. Mount this partition to an existing subdirectory; for example:

    sudo mount /dev/sdc1 /media/usbstick
    
  9. Copy all of the files from the mounted ISO into this directory:

    sudo cp -rv /mnt/* /media/usbstick
    
  10. Sync the file systems just to be sure:

    sudo sync
    
  11. Unmount both items previously mounted:

    sudo umount /media/usbstick
    sudo umount /mnt
    

Creating a bootable Windows install USB isn't too tricky if you install ms-sys:

# First, format /dev/sdX with a single partition (w/bootable flag set)
# Then, run the following
dev="/dev/sdX"
sudo mount -o loop win.iso /mntA
sudo mkfs.ntfs -f -L win ${dev}1
sudo ms-sys -7 ${dev}
sudo mount ${dev}1 /mntB
rsync -aP /mntA /mntB
sudo sync ${dev}
sudo umount /mntA /mntB

If you're trying to install Windows 8 to the USB drive, it gets slightly more complicated. See the guide here: https://thesquareplanet.com/blog/installing-windows-8-1-to-go-on-usb-drive-from-linux/


dd overwrites whole filesystem, so the formatting to FAT32 or NTFS before running dd makes no sense.

if you are 100% sure that your Windows-8.1 ISO image /home/kristjan/Prejemi/win.iso is able to boot from USB you can try to install liveusb-creator package using

sudo yum install liveusb-creator

and use it to transfer ISO data to USB stick.

Edit: Another alternative is unetbootin package which does basically the same thing of producing bootable USB stick from ISO.