- Software for creating iso images (I used k3b)
- Software for creating a bootable flash drive from a USB (I used unetbootin)
Creating the image
You need to create a bootable ISO. You'll probably have to select a boot file (for Windows 7 and likely 8, this is etfsboot.com). I used k3b to do this, but other programs support it and, in fact, I figured out how to do this largely thanks to a guide for a piece of Windows software. Here's what worked for me:
- Open k3b
- Go to New Project > New Data Project
- Drag your files from the unpacked disk into the data section at the bottom
- Click "Edit Boot Images"
- Click New...
- Select the boot image - if it's the same on Windows 8 (and it probably is) it'll be in the boot folder. I think the exact file you need is etfsbootcom. Do not be seduced by bootmgr in the root! It's not that one.
- It'll ask about hard disk emulation. I think I used "no emulation" but "harddisk emulation" might also be acceptable
- The default options should otherwise be fine
- Go to Project > Properties and in the writing tab check "Create Image" and "Only Create Image".
- You need UDF extensions enabled for the filesystem defaults, but for me this happened automatically when I left it alone
- Close that and "burn" (remember, you're really just creating the image but you still use the burn button) the image. Remember to set a file name.
Formatting the flash drive
You'll need a flash drive with the first partition formatted to NTFS and large enough to contain the Windows disc (4GiB was more than sufficient even for my universal 32/64 bit Windows 7 installer and should be good for Windows 8 as well). I used GParted. Here's what worked for me:
- Unmount your flash drive if it's mounted - you can probably do this by right clicking it in your file manager
- Open GParted
- Select your flash drive from the drop down menu in the top right - it'll likely be called /dev/sd[LETTER]. Check that the size and partitions match! You do not want to accidentally use your harddrive.
- Clear up enough space (you can just right click and "Remove" or "Resize" partitions, but be careful to back up data)
- Create a new partition (Partition > New). The filesystem must be NTFS, the size large enough for your ISO and it must be the first partition on the drive (at least for Windows).
- Re-mount your flash drive (eject/plug it back in or click it in your file manager)
Creating a bootable flash drive
You could actually do this in a few ways, but I used unetbootin (probably the easiest and most user friendly on Linux). Here's what worked for me:
- Open unetbootin (you'll need to run as root but it'll prompt you for a password)
- Select the "Diskimage" radio button and enter the path to your ISO image
- Switch the option for drive type from "USB" to "Harddisk" and select your NTFS formatted flash drive - be careful not to select your actual hard drive!
- Click okay and wait. Once it's done, you'll have a bootable Windows flash drive