Fedora: Create windows 8.1 bootable USB

59,727

Solution 1

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
    

Solution 2

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/

Solution 3

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.

Share:
59,727

Related videos on Youtube

Sterling Duchess
Author by

Sterling Duchess

Updated on September 18, 2022

Comments

  • Sterling Duchess
    Sterling Duchess over 1 year

    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 : (

    • andrej
      andrej about 10 years
      dd overwrites whole filesystem, so the formattin to FAT32 or NTFS before running dd makes no sense.
    • Sterling Duchess
      Sterling Duchess about 10 years
      Ok. So what should I do now ?
    • andrej
      andrej about 10 years
      see my answer below
  • Sterling Duchess
    Sterling Duchess about 10 years
    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.
  • andrej
    andrej about 10 years
    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.
  • Sterling Duchess
    Sterling Duchess about 10 years
    I think Unetbootin supports only FAT not NTFS. I formatted my drive to FAT32 and using Unetbootin now to see what happens.
  • Sterling Duchess
    Sterling Duchess about 10 years
    Yea nothing here worked.
  • andrej
    andrej about 10 years
    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‌​/…
  • totokaka
    totokaka about 9 years
    What kind of partition table should be used?
  • Sinthia V
    Sinthia V over 8 years
    The questioner said he tried Unetbootin. The problem is common, the right answer isn't obvious and your answer is condescending. Worse, it is not correct. -1.
  • Admin
    Admin over 8 years
    @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.
  • if __name__ is None
    if __name__ is None over 8 years
    @Bruce_Forte Or just install Rufus in a Windows VM and use that. It just works and its super easy.
  • Admin
    Admin over 8 years
    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.
  • jojman
    jojman over 7 years
    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.