Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I'd like to create a Windows 8 bootable USB stick, but I don't have a Windows machine with me to do so.

So how do I do it with Ubuntu/Linux?

share|improve this question
11  
Psicofrenia "UNetbootin allows you to create bootable Live USB drives for Ubuntu, Fedora, and other Linux distributions without burning a CD.", and I already tried to use it and discovered that UNetbootin really can't be used to create Windows bootable usb sticks. –  Zignd May 2 '13 at 13:57
    
Have you tried to follow any Windows 8 tutorials on how to burn USB ticks and use Wine to make one of those indicated softwares to run? –  Psicofrenia May 2 '13 at 14:04
    
Well this guy seems to think otherwise... --> CREATE A BOOTABLE WINDOWS 7 USB DRIVE FROM LINUX (TESTED ON UBUNTU) –  Meintjes May 2 '13 at 14:04
1  
@MrSeed I've tried this tutorial and also downloaded the older version of the UNetbootin, but the problem is that the older version depends on a library that is not available for Ubuntu 13.04 because it's too old, by the way the newest version of the library is available, but the app still doesn't work with it installed. –  Zignd May 2 '13 at 14:09
1  
UNetbootin always generates any error –  gal007 Nov 30 '13 at 21:21

6 Answers 6

up vote 135 down vote accepted

Create a bootable Windows USB from Ubuntu through WinUSB software.

Ubuntu 13.10,13.04,12.10,12.04

Run the below commands on terminal to install WinUSB from a PPA,

sudo add-apt-repository ppa:colingille/freshlight
sudo apt-get update
sudo apt-get install winusb

WinUSB screenshot

Ubuntu 14.04

This method will install Winusb package from the previous version's repository(saucy).

sudo add-apt-repository ppa:colingille/freshlight
sudo sh -c "sed -i 's/trusty/saucy/g' /etc/apt/sources.list.d/colingille-freshlight-trusty.list"
sudo apt-get update
sudo apt-get install winusb

enter image description here

share|improve this answer
1  
Would something like sudo add-apt-repository "deb http://ppa.launchpad.net/colingille/freshlight/ubuntu saucy main" be better for the 14.04? apt-add-repository isn't just for PPA's... –  Wilf Jun 22 '14 at 14:34
7  
@Avinash Raj I get errors: 'code' Installation failed ! Exit code: 512 Log: Formating device... Mounting... mount: blockorientiertes Gerät /home/empedokles/WindowsXP.iso ist schreibgeschützt, wird eingehängt im Nur-Lese-Modus Copying... Installing grub... Installing for x86_64-efi platform. grub-install: Fehler: /media/winusb_target_1406395837_22998 doesn't look like an EFI partition. . Error occured ! Syncing... /usr/bin/winusb: Zeile 78: 6080 Beendet while true; do sleep 0.05; echo 'pulse'; done Cleaning... /usr/bin/winusb: Zeile 78: 9983 Beendet while –  empedokles Jul 26 '14 at 18:19
4  
@empedokles 1. If you want to make a Windows XP USB then forget about it. It doesn't work with WinUSB. 2. To fix error 512 read this. –  Cornelius Nov 13 '14 at 15:54
1  
first check the existance of that particular file after adding the ppa. –  Avinash Raj Jan 28 at 0:39
1  
@LuisLoboBorobia it is not OK! That will most probably make your system not bootable. –  Cornelius Feb 22 at 19:17

Any Ubuntu version

even other Linux distros as long as GParted and GRUB are installed.

Install GParted and GRUB on Ubuntu with:

sudo apt-get install gparted grub-pc-bin p7zip-full ntfs-3g

For BIOS with MBR hard drive

  1. Rewrite the partition table as msdos and format your USB drive as NTFS using GParted (also add the boot flag)
  2. In GParted, right click the USB partition and select Information. Copy the UUID somewhere as you will need it.
  3. Copy all files from Windows ISO to USB drive using your favorite file manager
  4. Go to USB drive and if the folder named boot has uppercase characters, make the all lowercase by renaming it
  5. Install GRUB on USB: sudo grub-install --target=i386-pc --boot-directory="/<USB_mount_folder>/boot" /dev/sdX
  6. Create a GRUB config file in the USB drive folder boot/grub with the name grub.cfg

Write this into the file:

echo "Booting from USB <or whatever you want>"
insmod ntfs
search --no-floppy --fs-uuid <UUID_from_step_2> --set root 
chainloader +1 
boot

Unmount the USB drive and restart your PC. Choose the USB as the first boot device in BIOS and start booting from it.

For UEFI mode (GPT) - 64-bit Windows only

  1. Using GParted rewrite the partition table of the USB drive as GPT.
  2. Create a new primary partition and format it as FAT32.
  3. Copy all Windows files to the USB drive
  4. Look on USB in the efi/boot folder. If there's a file bootx64.efi then you're done. The USB is bootable.
  5. Otherwise, open sources/install.wim with the Archive Manager (you must have 7z installed) and browse to ./1/Windows/Boot/EFI. From here extract bootmgfw.efi somewhere, rename it to bootx64.efi and put it on USB in efi/boot folder.
  6. If you're making a Windows 7 USB, copy the boot folder from efi/microsoft to efi folder.
  7. Don't forget to unmount (safely remove) the USB drive.

  • /dev/sdX is the device (e.g. /dev/sdb, not /dev/sdb1)

Source: Make a bootable Windows USB from Linux/Ubuntu

share|improve this answer
    
What must be changed in grub.cfg to launch few different windows iso from folders created on pendrive root partition ? –  EdiD Dec 9 '14 at 18:42
    
@EdiD first of all this method doesn't boot from a Windows ISO, it boots from the extracted content from ISO. For what you want to achieve this may help. –  Cornelius Dec 9 '14 at 19:36
    
I add a comment question so I did all above steps including unpacking iso but what about when I want to have a few different unpacked iso placed in different folders ? –  EdiD Dec 10 '14 at 18:32
    
+1 for providing source. –  Abhinav Jan 4 at 7:42

The current UNetbootin boot chain is not compatible with UEFI and computers that come with a pre-installed copy Windows 8

There are 2 (3) things that you will need:

  1. Unetbootin
  2. Gparted
  3. Internet access to install all the above, the Windows ISO image and a USB stick with more than 4GB.

So, first, backup all the contents of your usb stick. Once that is done install gparted and unetbootin:

sudo apt-get install gparted unetbootin

Now look for gparted in the Dash or type gparted in the terminal. Select your USB stick from the right dropdown list. In my case it's /dev/sdg, yours may be different. Remove all partitions and create a single big FAT32 partition with Gparted.

Once that is done, unplug and plug your USB stick so it gets mounted (you can also mount it from the same GParted), now execute Unetbootin, again, you can look in the dash or typing in the terminal. Select that you want to use an iso, look for the path your ISO is.

Mark the checkbox to see all devices, here you have to select the very same device you selected in Gparted, otherwise your data can be lost. Select continue. Wait for a moment and done. Restart your pc and select to boot from the USB.

You can also use dd being careful in what you are doing:

sudo dd if=/path/to/iso/windows.iso of=/dev/sdg bs=4M; sync

Sounds crazy, but dd works.

share|improve this answer
    
aren't you missing count=1 or something on the dd line? that way you just overwrite everything on the usb drive with the ISO data, which result in not even a partition being mapped. –  gcb Dec 24 '13 at 22:50
    
@gcb actually, that's what it's intended. The first things I said was to backup your stuff. –  Braiam Dec 25 '13 at 2:43
    
i did that, and end up with a UFI(?) partition with the boot stuff, and nothing else. ...ended up getting a dvd driver and burning the image there. I think your idea works if the ISO is already in the format suitable for SD/HDD, when the ISO is in iso9660 format, it does not work that way. well, at least didn't work with the image i did from the install CD. –  gcb Dec 27 '13 at 21:13
1  
@gcb weird, was a Windows 8? –  Braiam Dec 27 '13 at 21:14
    
good point. no. it was windows7 pro. I will check with the win8 to see if that cd has the sd/hdd format. –  gcb Dec 27 '13 at 21:24

winusb from the accepted answer is the only easy method I found.

However, there is no winusb package for saucy. You can however install the raring package by downloading it here and opening it with the software installer. It works with saucy.

http://ppa.launchpad.net/colingille/freshlight/ubuntu/pool/main/w/winusb/

[Added it as a new answer because I don't have enough reputation for posting comments]

share|improve this answer
1  
winusb for saucy is now available in ppa:colingille/freshlight repository –  Prasad RD Dec 8 '13 at 6:46

You can use WinUSB for that to install WinUSB on your Ubuntu follow these instruction.

Okey, if you are from Ubuntu 13.10,13.04,12.10,12.04, then run this in terminal:

sudo add-apt-repository ppa:colingille/freshlight
sudo apt-get update
sudo apt-get install winusb

and if you are from Ubuntu 14.04 then run this in terminal:

sudo add-apt-repository ppa:colingille/freshlight
sudo sh -c "sed -i 's/trusty/saucy/g' /etc/apt/sources.list.d/colingille-freshlight-trusty.list"
sudo apt-get update
sudo apt-get install winusb

WinUSB comes with a simple GUI with minimal options to go with, here is how to use WinUSB to make bootable Windows USB from Ubuntu. You can use any Windows ISO may be for XP, Windows 7, Windows 8, Windows 8.1 or any other.

  1. Insert Flash Drive & Get your Windows ISO (I used Windows 10 Technical Preview) or insert the Windows CD/DVD
  2. Start WinUSB and, nothing else really needs to be explained.
  3. Select your Source, either ISO or CD Drive
  4. Pick your Target (USB) Device. If it doesn’t appear, hit refresh and make sure it’s mounted.
  5. Click on “Install” and enter your Password (required to mount devices and write directly to drives)

This is all you need to do to create a bootable Windows USB Stick

Source : How to install and use WinUSB in Ubuntu

share|improve this answer

In Non-UEFI machines, we can use GRUB2 to make USB stick bootable. Then, we can use 'ntldr' command in the GRUB2 to boot Windows from USB.

  • Enable the boot flag on the target partition of the USB. It can be easily done with the use of the tool called "GParted". It is a GUI tool for drive partitioning .
  • If the installation image is a ISO file, Mount it and access the files.
  • Copy the all files to root of USB drive
  • Install GRUB to USB Drive.

    grub-install --target=i386-pc --boot-directory="/media/user/MyUSBDrive/boot" /dev/sdX
    
  • Configure GRUB to boot Widows.

    Place the following file as "/boot/grub/grub.cfg" in the USB dirve

    set menu_color_normal=white/black
    set menu_color_highlight=black/light-gray
    menuentry 'Install Windows 8' {
     ntldr /bootmgr
    }
    

See complete answer at my blog Creating a bootable windows USB from Linux

share|improve this answer

protected by Avinash Raj May 6 '14 at 9:21

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

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