Please Note: As Windows 8/SVR2012 already contains most USB 3.0 drivers, Win8/SVR2012 ISOs will work even if the boot device is connected to a USB 3.0 port! Earlier OS's won't work on most USB 3.0 ports unless you first add the correct USB 3.0 drivers into the ISO file yourself. ATTENTION: This Tutorial is now outdated - Windows 10 TH2 not supported (requires new ImDisk version)!
Please use Easy2Boot for Windows Install ISOs - it is much easier and better!
Tutorial #32 video (which is very similar to this tutorial) Introduction
This method describes how you can place all your Windows Vista 32-bit/64-bit ISOs, Windows 7 32-bit/64-bit ISOs, Server 2K8 R2 ISOs, Win8 ISOs, etc. all on one (large) USB Flash drive and install any version of Windows onto any system whenever you like.
Windows 8 Note: for Windows 8, the xml file needs to contain the Product Key - see http://reboot.pro/14593/page__view__findpost__p__142622 for details (post #47 and #49).
Some temporary product keys (which will be accepted but won't activate) are detailed by Microsoft here.
This is a slightly neater alternative to tutorial #32 and uses FiraDisk.
Most of this is directly 'pinched' from a post by Karyonix (thanks!) on reboot.pro (this post) but I have added the AutoUnattend.xml file so that the process is completely automated if using a USB Flash drive.
All of the ISO files must be kept in one single folder (called \ISO in this example, but you can change it) and if you want the user choice menu to work, then the ISO folder must also contain a marker file called 'Choose_an_iso'. Note that the ISO folder that contains the ISO files and the special tag/marker file Choose_an_Iso can be on any drive (e.g. a hard disk or a USB hard disk). You can change the name of the folder or marker file if you like, as long as you also change the path and name in the menu or you can just use one of your iso files as the marker file and delete the 'Choose_an_iso' file so it is not listed when the iso files are listed on the screen.
Please note: Some new USB Flash drives are not the usual 'Removable' type but appear as 'Fixed Disk' in RMPrepUSB and 'Local Disk' in Windows Explorer - these flash drives will not work using this method as they will appear to Windows as a 'hard disk'. If you have this type of USB flash drive you will also need a USB 'Removable' Flash drive as well (treat the Fixed-Disk flash drive as if it were a hard disk).
Note: You can also add entries to install Windows XP as well as the other OS's. To install from a Setup CD (just like booting from an XP install CD) refer to Tutorial #30 here and add the files to those used in this tutorial or see Tutorial #63 which has instructions for both Win7 and XP and includes activation instructions.
HistoryUpdate 26 June 2011: Fixed 64-bit Windows ISO install which did not work, as devcon did not include an amd64 version and extraction of the x64-bit version is very awkward! The 64-bit version of devcon from the MS site KB article download (2003) does not actually run under 64-bit WinPE as it is an ia64 platform version!!! Please use the new version of my zip download which now includes both devcon versions (32&64).
Using this method with USB Hard Disks
The method described immediately below works if you use a USB Flash drive but does not work automatically for a single bootable USB hard disk because the AutoUnattend.xml file MUST be on a removable drive (i.e. a USB flash drive or CD). If you want to use a USB hard disk, you have the following 4 options:
1. Prepare a USB Flash drive (Removable type) as described below (without the ISO files) but copy all the ISO files to the USB hard disk /ISO folder (or onto a separate partition on the internal hard disk on the target system into a /ISO folder). If using two USB drives (USB Flash & USB HDD), make sure both the Flash drive and the USB hard drive are connected to the computer when you boot from your Flash drive. The only \Autounattend.xml should be on the Removable flash drive.
2. Prepare a USB hard drive by following the instructions below for a Flash drive. Then move the single AutoUnattend.xml file to any spare USB flash drive that you have - it must be of the Removable type. To install Windows, boot from the USB hard drive but make sure the USB Flash drive is also connected to the same system.
3. Prepare a USB hard drive following the instructions for a Flash drive below. Boot from the USB hard drive and when Windows Setup loads, press SHIFT+F10 to open a command console and type F:\firadisk\loadiso (where F: is the drive letter of your USB hard disk - which may vary depending on the system you are installing to).
4. See the Addendum below for how to modify each Windows Vista/7/2K8 ISO so that a single bootable USB hard drive can be used, without a flash drive being needed and without the need for the user typing in any extra commands.
Method (for USB Flash drives)
1. Create a new folder on your hard drive called C:\WINFira
2. Download the zip file Tut43_FiraIso.zip from the Beta Downloads - Tutorials page and extract the contents to the C:\WINFira folder.
3. Now copy your Windows install ISO files to the C:\WinFira\ISO folder - Note: the iso filenames must NOT contain spaces!
You can download some Windows 7 ISOs from here. The Windows 8 Release Preview ISOs can be found here.
Notes:
4. The sample menu.lst contains 5 (0-4) menu entries. The first menu entry is set to boot a fixed iso name. Just copy the first menu entry to make as many more as you like for all your ISO files. The second menu entry is merely to allow you to reboot to your hard disk after Windows has been installed onto it. The 3rd menu entry allows the user to choose which iso to boot to, by getting the user to type in the name of the iso that they want to use (note: does not work with Win8 ISOs). The last two menu entries are for Win 8 RP. You can delete any menu entries that you do not require.
New: Note that menu number 5 is not included in the download of menu.lst - this is a new menu which prompts the user for a Windows 8 Product Key before Windows Setup is run.
Edit the menu.lst and change the first line (title) and 3rd line (ISO filename) in each menu, the sample menu included in the download, is shown below:
5. Now prepare a USB Flash drive using RMPrepUSB (if you already have a bootable USB drive with grub4dos installed you do not need to do this - but you do the newish version of grldr)
Run RMPrepUSB (use v2.1.622 or later)
To wipe and format the USB drive (optional) - set the following options in RMPrepUSB: 1. MAX 2. (any volume name you like!) 3. WinPE v2/v3 (or DOS or FreeDOS or XP) 4. FAT32 or NTFS (or FAT16 but it has a 2GB limit) and also select the Boot as HDD option ('Boot as HDD' adds a small 2nd partition and makes the BIOS to boot it as a hard disk instead of a ZIP or Floppy drive and thus you don't get 'flashing cursor' on boot on some BIOSes - e.g. EeePCs!) 5. Tick Copy OS Files box and set the Copy Folder to C:\WINFIRA Fig. 43.5.1 RMPrepUSB settings to make a bootable USB drive (don't forget step 6 below!)
NOTE: Whether you already have an existing grub4dos USB drive or have just formatted one as detailed above, you need to install the latest version of grub4dos as follows: 6. Now click on Install grub4dos and choose Yes for MBR and hit Enter to copy across the grldr file. You need the correct grub4dos grldr file as this supports some newer grub4dos commands.
Contents of bootable grub4dos drive should now be:
That's it!
To test your menu, run RMPrepUSB and hit F11 to run the QEMU emulator (you should create a small virtual hard disk so enter 100 when prompted - but if you want to try installing Windows to the virtual drive you will need a size of at least 10000). Note that you can only test the menu out using this method, once the ISO starts to runs it seems to crash under QEMU!
Fig. 43.6.1 grub4dos text menu displayed when you boot using QEMU or a real system.
This is the unchanged menu.lst provided with the download. You can add more entries or delete the ones you do not want.
Now go boot it and install Windows on something!
The screenshot below shows the INSTALL WINDOWS - Boot from any Windows ISO menu option action.
The grub4dos menu will look for a marker file (the file '\ISO\Choose_an_iso') on every drive and list the files in that folder when it finds it, so that the user can choose one of them...
Fig. 43.6.2 The list of iso files in the folder is presented to the user so they can type the name of any one in.
Note: you must use the USB drive on a real system - WinPE needs to see a removable drive containing the AutoUnattend.xml file.
You may have problems using an emulator such as QEMU as the dd command needs a writeable drive in order to succeed - but most emulators do not allow writes to physical drives such as USB drives so test the USB drive on a real system not an emulated one as it will only work on a real system.
If your USB drive is NTFS, you must ensure that any file you write to is over 1K in size - grub4dos cannot use dd to write to small files on an NTFS system (the first 800 bytes or so are stored in the data section of the $MFT entry).
If a repair utility is present, you will be asked if you want to try to repair the current installation.
Fig. 43.6.4 IMPORTANT: you should see the blue Windows Command Shell window which installs the FiraDisk driver
and then load the ISO file when Windows Setup starts. If you don't see this then it won't work! Fig. 43.6.6 The OS choice menu - this should list all the images present in the install.wim.
Once your OS has installed, if the system reboots back to the USB drive again, just use the 3rd menu item to boot from the hard disk (or just remove the USB drive and reboot).
Note: To add a standard XP install ISO to your USB drive, see Tutorial #30.
How to avoid needing a product key for Windows 8FOR RETAIL:
[EditionID]
FOR OEM:
[EditionID]
FOR ENTERPRISE
[EditionID]
Save the iso file again (and make sure you run WinContig on the ISO to ensure it is contiguous afterwards). You will now not be prompted for any Product Key but all images/SKUs should be dislayed, however you will still need to enter a valid product key and activate it before 30 days have elapsed.
This can be done on an All-In-One ISO so that you can select any of the images inside.
The auto-detection of \AutoUnattend.xml will not work if you use a hard drive (neither USB nor IDE/SATA) as a hard drive is not a 'removable' disk, we need to patch the ISO files themselves so that they will automatically run the LOADISO.CMD from the boot drive. To do this we need to copy the contents of the ISO file to an empty folder, modify the ISO file contents and then create a new version of the ISO file.
The guide below is for advanced users. I assume you already know how to mount images using ImageX (or DISM or GImageX) or can use similar tools. It is easiest to download and install the Windows 7 WAIK (over 1.3GB!). However, you can use Tutorial #83 to just download ImageX in about 30 seconds!
Please refer to my other tutorials (e.g. for WAIK and Virtual CloneDrive see Tutorial #1) for details on installing and using the WAIK.
1. Using your Windows 'office' system, Mount the ISO that you want to modify using ImDisk or Virtual CloneDrive or any suitable tool and extract all the contents to an empty folder on your hard drive (e.g. C:\TESTISO)
2. If you want to be able to install any edition of Windows (e.g. all Vista/Win 7 SKUs rather than just Professional), then delete the C:\TESTISO\SOURCES\EI.CFG file.
If you have Win8, you will need to change the ei.cfg file contents to:
3. Run a WAIK command prompt as Administrator (found in the Start Menu after installing WAIK) and mount the C:\TESTISO\Sources\boot.wim file (use Imagex /info to determine the correct image number that you need to mount, usually this is Index #2 - but not always!). e.g.
(check what images you have by looking at the output) IMPORTANT: Make sure you use the correct wim image number - it is not always 2!
4. Now we just need to copy the two files to the C:\mount\windows\system32 folder - winpeshl.ini and mysetup.cmd. Use the ones in the \FiraDisk folder inside the tutorial download. Their contents are shown below just for reference:
winpeshl.ini
|