Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have been reading some web pages and posts here and in other forums about how to create a Windows 7 installation Usb media (to install windows 7 using a usb) from linux.

I asked in technet about this , and they give me general ideas about how to do it

I personally am not very familiar with linux, but basicaly all that you need to do... in whatever way you do it is the following:

Format a usb flash drive, either fat32 or ntfs create a partition that is large enough to host the windows installation (give or take 3GB for 64bit, aroudn 2.5gb for 32bit) and mark that partition as active/bootable. Since this can be done with windows, but just as well with a tool like gparted, you should be able to do the same in debian.

Once you have created that partition, mount the iso that you download, and copy all files starting from the root, into the root of the usb flash drive.

That's all there's to it.

There is a method that i found in various places,that is almost the same that the man of technet has said.

But,there is a step,that in that method is done,that i don't know if it is really necessary,or not.

Not allways dd works.Basically, the missing step was to write a proper boot sector to the usb stick, which can be done from linux with ms-sys. This works with the Win7 retail version.

Here is the complete rundown again:

Install ms-sys

Check what device your usb media is asigned - here we will assume it is /dev/sdb. Delete all partitions, create a new one taking up all the space, set type to NTFS, and set it bootable:

*# cfdisk /dev/sdb*

Create NTFS filesystem:

*# mkfs.ntfs -f /dev/sdb1*

Mount iso and usb media:

*# mount -o loop win7.iso /mnt/iso 

 # mount /dev/sdb1 /mnt/usb*

Copy over all files:

*# cp -r /mnt/iso/* /mnt/usb/*

Write Windows 7 MBR on usb stick:

*# ms-sys -7 /dev/sdb*

...and you're done.

Shouldn't the usb work without doing the last step "# ms-sys -7 /dev/sdb" or to make the usb bootable , is a must , not only to mark the partition as bootable ?

Would be better use rsync instead of cp -r ?

All this steps should be done as root, i suppose , or if not , chmod to 664 and chown the directories where are mounted the usb and the iso, no ?

But i suppose that the easier thing is to copy the data as root , and that this will not affect to the data.

Has anyone tried this method or some similar like copying the iso with dd ?

share|improve this question

2 Answers 2

I have tried with dd (dd if=/file/win7.iso of=/dev/sdb), and it doesn't work.

My steps to make it work: Install ms-sys gparted to create partition, and create NTFS filesystem.

# mount -o loop win7.iso /mnt/iso # mount /dev/sdb1 /mnt/usb *# cp -r /mnt/iso/* /mnt/usb/* # ms-sys -7 /dev/sdb


share|improve this answer

The ms-sys command is important. With the -7 option it creates a Windows 7 compatible boot sector on your flash drive.

You can't use dd because ISO's use an ISO Filesystem such as UDF or ISO9660, where-as your USB drive only properly supports disk file systems such as ext3, FAT32, or NTFS

Would be better use rsync instead of cp -r ?

Not really. cp -r works perfectly fine. Just realize that NTFS handles permissions differently to Linux, so using rsync to keep everything intact doesn't matter too much. All that really matters is that the files from the ISO are on the USB and that the boot sector is formatted correctly using ms-sys -7

You can do all the steps as root if you want. The only 2 steps that really require root are mkfs and the 2 mount's

If you're getting permission problems even as root, you may need to mount your USB using ntfs-3g /dev/sdb1 as some Linux Distributions only supply a Read-Only driver for NTFS.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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