I tried everything and nothing works I have 2 brand new USB keys 3 more packaged. I have 3 valid Windows 8.1 ISO files and yet no approach works.

I tried Unetbootin takes forever to copy 4.3GB to the USB stick and does not work. I tried Ask Fedora approach using:

1) Formatting USB drive to FAT32 and using:

su -c 'dd if=/home/kristjan/Prejemi/win.iso of=/dev/sdc bs=400M'

This takes 30min to complete and nothing files are copied to the drive but it does not boot. When I mount it after it's now showing as FAT but as UDF.

2) Formatting USB Drive to NTFS and using:

su -c 'dd if=/home/kristjan/Prejemi/win.iso of=/dev/sdc bs=8M'

This takes 30min same as above.

3) I tried using GParted approach shown here:
SuperUser: Windows USB from Fedora This one wants to boot but does not. I reboot, press ENTER>F12 To get to boot selection menu I select the USB drive and it does not skip back to boot selection screen like above solutions do but it just stays on a black screen with a blinking _ cursor.

4) I tried setting the boot flag from GParted and using DD but does not work either.

Why is this so hard on Linux systems. I mean on Windows/Machintosh I can create a bootable USB stick in 10min. On Linux it takes 30min to copy the ISO contents and then nothing works : (

  • 2
    dd overwrites whole filesystem, so the formattin to FAT32 or NTFS before running dd makes no sense. – andrej Mar 14 '14 at 15:39
  • Ok. So what should I do now ? – Sterling Duchess Mar 14 '14 at 15:44
  • see my answer below – andrej Mar 14 '14 at 15:44

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
  • 3
    Could you elaborate on 4, 5 and 6? – if __name__ is None Sep 3 '14 at 0:12
  • What kind of partition table should be used? – totokaka May 6 '15 at 17:39
  • 2
    @JanNetherdrake Once you did step 3, you enter: o (to create a new partition table), n (to create a new partition, just go with the defaults), (to set the partition bootable, if you went with defaults select partition 1), t (to select type, chose 7), now you can save the new layout with w. – user550807 Jan 28 '16 at 4:04
  • @Bruce_Forte Or just install Rufus in a Windows VM and use that. It just works and its super easy. – if __name__ is None Jan 29 '16 at 5:39
  • In my comment there is missing the a (for setting bootable flag), don't have enough reputation to edit, sorry. @JanNetherdrake Guess that would be a solution too, but it's pretty heavy on ressources and fdisk is on most distros installed by default. – user550807 Jan 29 '16 at 16:18

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
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/

  • On sudo mount ${dev}1 /mntB it says: ntfs-3g-mount: mount failed: Device or resource busy, even though ${dev}1 is not mounted, and /mntB is not occupied by anything. – jojman Sep 6 '16 at 20:39

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.

  • My drive was formatted to NTFS it mounts with no problem but Fedora livesub creator does not detect the drive. Seems liveusb-creator is only for Fedora USBs. – Sterling Duchess Mar 14 '14 at 15:47
  • I have no NTFS USB stick at all. I plugged my FAT16 USB stick to machine and run liveusb-creator. It found FAT partition on USB as /dev/sdb1 and offered to write something on it. If you have problem with NTFS just run fdisk /dev/sdb (if the usb is /dev/sdb), print your partitions using 'p' command, delete partition using 'd' and write changes to USB using 'w' command. Then you can try the liveusb-creator again. You can also run liveusb-creator -f /dev/sdb to force target drive. – andrej Mar 14 '14 at 16:00
  • I think Unetbootin supports only FAT not NTFS. I formatted my drive to FAT32 and using Unetbootin now to see what happens. – Sterling Duchess Mar 14 '14 at 16:11
  • Yea nothing here worked. – Sterling Duchess Mar 14 '14 at 16:35
  • It seems that your ISO is broken. Please try to verify the transferring ISO to usb with ISO that is proven to be bootable from USB, for example you can download and run Fedora 20 XFCE live download.fedoraproject.org/pub/fedora/linux/releases/20/Live/… – andrej Mar 14 '14 at 16:40

or can mount iso to /mnt , then create folder /mnt1 , next ntfs partition with flag boot mount to /mnt1 , start command ms-sys -7 /dev/your_usb_root and copy files:

#if your usb drive with ntfs with boot flag is /dev/sdb1
sudo -i
mount -o loop windows.iso /mnt
mkdir /mnt1
mount /dev/sdb1 /mnt1
ms-sys -7 /dev/sdb
cp -r /mnt/* /mnt1
umount /mnt1 /mnt 

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.