Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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 using Ubuntu?

share|improve this question
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
@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
UNetbootin always generates any error – gal007 Nov 30 '13 at 21:21
up vote 233 down vote accepted

Create a bootable Windows USB (Vista and above) from Ubuntu through WinUSB software.

Ubuntu 12.04 through 15.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

Warning for Ubuntu EFI: installing WinUSB on EFI loaded Ubuntu will uninstall the grub-efi packages in order to install the grub-pc packages. It will make your system unbootable if you don't manually reinstall grub-efi package before rebooting.

To do the manual re-install do:

sudo update-grub
sudo grub-install /dev/sda
sudo update-grub
sudo reboot
share|improve this answer
Would something like sudo add-apt-repository "deb saucy main" be better for the 14.04? apt-add-repository isn't just for PPA's... – Wilf Jun 22 '14 at 14:34
@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
@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
The WinUSB link is broken. – becko Mar 20 '15 at 12:33
@ThoVo read this answer: – Cornelius Jul 19 '15 at 10:21

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: MBR partition scheme

  1. Rewrite the partition table as msdos and format your USB drive as NTFS using GParted (and then "Manage flags" and 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 mounted Windows ISO or DVD to USB drive using your favorite file manager.
  4. Go to USB drive and if the folder named boot has uppercase characters, make them 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 "If you see this, you have successfully booted from USB :) <or whatever you want>"
    insmod ntfs
    insmod search_fs_uuid  
    search --no-floppy --fs-uuid <UUID_from_step_2> --set root 
    ntldr /bootmgr
  7. 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: GPT partition scheme *

* Older Windows versions / editions may not be properly supported or not supported at all. I suggest reading the Microsoft UEFI Firmware page.

  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 (from mounted ISO or DVD) to the USB drive.
  4. Look on USB in the efi/boot folder. If there's a file bootx64.efi (bootia32.efi) then you're done. The USB is bootable. Skip to step 7.
  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 (or bootia32.efi for supported 32 bits OS [?]) 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. Select the proper EFI loader from your BIOS.

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

Source: My blog post about this can be found at Make a bootable Windows USB from Linux.


When properly used with a compatible target operating system, both of these methods should get you a bootable USB drive. However this does not guarantee successful installation of the target operating system.

share|improve this answer
+1 It worked. Just note: When booting, the grub.cfg file outputs the echo, but after that it throws "Invalid syntax" errors. Whatever, I currently installing windows 7 from the usb. GRUB version: "grub-install (GRUB) 2.02~beta2-9ubuntu1.3" – Ifch0o1 Sep 7 '15 at 21:05
What do you mean by add the boot flag in the first step of MBR disk creation? – Gui Imamura Dec 12 '15 at 18:19
@GuiImamura right click the partition in GParted, select Manage Flags and tick the checkbox next to boot. – Cornelius Dec 12 '15 at 18:46
EFI method is the way to do it for Win10. And you can safely skip steps 4-6 nowadays. – Ivan Anishchuk Mar 21 at 5:48
I can confirm that the UEFI/GPT method works without steps 4-6 with Windows 10. – josch Apr 7 at 5:50

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

You can use dd instead, while being careful in what you are doing:

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

This requires that your motherboard is able to boot from CDROM-USB.

If you want still to use UNetbootin, 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.

share|improve this answer
@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
I prefer your answer (the dd variant) to the accepted one, simply because it doesn't require adding another repositiory or even installing any software at all (unetbootin is not required, just use dd). – doublehelix May 24 '15 at 8:51
dd didn’t work for me, the computer just didn’t boot from the pendrive. If you want to use UNetbootin on a ntfs-formatted pendrive, you have to start it from command line: sudo unetbootin installtype=USB targetdrive=/dev/sdb1 (sdb1 is my pendrive’s ntfs-formatted partition, yours may be different). – erik Nov 22 '15 at 23:20
As of this answer at serverfault the dd-method fails very often, because it requires that your motherboard is able to boot USB-CDROM not just USB-HDD. – erik Nov 22 '15 at 23:46

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 drive. 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 an ISO file, mount it and access the files.
  • Copy all the files to root of USB drive.
  • Install GRUB to USB drive:

    sudo grub-install --boot-directory="/media/user/MyUSBDrive/boot" /dev/sdX
  • Configure GRUB to boot Windows by placing the following file as "/boot/grub/grub.cfg" in the USB drive:

    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
No installs required. Simplest steps. Should have tried this before the accepted answer – Anurag Dec 20 '15 at 7:06
The grub-install command needs to be run as superuser. Only missing info – Anurag Dec 20 '15 at 7:07
THIS IS THE ULTIMATE ANSWER!!! – Danial Behzadi Mar 19 at 14:07

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.

share|improve this answer
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

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

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

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.