Without these guys this would not have been possible!
To be able to install multiple OS installs from the single USB hard drive
wimb's usb_multiboot - check the stickies in this forum for the download details.
a hex editor
WAIK (if you want to have multiple Vista sources)
a DOS menu program or an autoplay creator (for multiple Vista)
USB Hard drive preferably > 20GB
Use wimb's usb_multiboot to create XP sources as well as adding the boot sector onto the hard drive and load it with NTLDR.
NTLDR uses boot.ini which then launches grub4dos automatically
Reason for not using boot.ini is because grub4dos is superior in handling and loading bootloaders whereas boot.ini needs boot sectors which will cut out one extra step. Grub4dos has extra functionality which we can add to later such as emulating virtual hard disks and fdd's, it can load Vista's BOOTMGR directly and also its menu is also better to look at
Reason why I personally did not load grub4dos's bootsector directly to the hard drive but went through the trouble of using NTLDR (boot.ini) then loading grub4dos is because I already have grub4dos installed on my other hard drive and grub4dos's bootsector looks for the file "grldr" automatically which is already present on my other hard drive so it might load my permanent hard drive instead of my USB. So I have renamed and hex edited the grldr on the USB drive to look for "brldr" and set boot.ini to load brldr instead. If you do not have this dillema, feel free to use grub4dos's boot sector installer if you wish to cut out the extra step of loading NTLDR then grub4dos.
- [SOLVED]Trying to get multiple versions of Windows 2003 to co-exist on the USB hard drive.
This applies to anything that uses WINPE1 (Windows FLP install, BartPE, ERD Commander, etc)
As PE was initially intended to be run off a CD the original structure for them would be inside the [i386] folder.
If your PE came from a USB source it would be in the folder [minint].
It's not important which folder it is in because we will rename them once it is copied to the USB hard drive anyways. Make sure you copy winbom.ini to the USB root as well.
The convention you should stick to is:
So once we have the folders copied to our hard drive and renamed appropriately we will need to also copy the setupldr.bin file from the [minixx] folder to the root of the USB and rename them according to this convention:
Now you will need to change the first occurrence of txtsetup.sif in PELDx to notsetup.sif.
gsar -sBT:x00:x00:x00\:x00:x00:x00txtsetup -rBT:x00:x00:x00\:x00:x00:x00notsetup %USB%:\PELDx -b -o
Change all occurances of minint to minixx.
gsar -i -o -s\minint -r\minixx peldx
WinFLP requires all additional folders on the CD to be on the USB root, such as the [Setup] which houses the flp.wim which setup requires. So as a rule of thumb: copy all folders from the source CD for WinFLP, ERD Commander and BartPE to the root of USB drive and rename the i386 folder to minixx.
WinFLP's setupldr.bin has a checksum protection which will error if you hex edit it, I suggest you use BartPE's one.
Ok this is not much of an automated process but it is somewhat more streamlined than my original concept.
Dump all your Vista sources onto the USB hard drive (11 gigs for me - x86 + x64 Vista + x86 + x64 Server 2008) - Best if they are in a separate folder... tree view for mine is below
| |--->Modified BCD store
First thing is to copy the BOOTMGR file along with the [SOURCES] and [BOOT] folders from any Vista source to the root of the USB hard drive. You can delete the Install.wim from the [SOURCES] folder.
Now what you will need to do is create a new Windows PE 2.0 (x86) from WAIK - I won't go into details about that here but it's very simple. Reason we use the x86 version of WINPE2 is because the 32bit version of WINPE2 can launch the setup of both 64 and 32 versions (with some tweaking as discussed below).
Mount your WINPE2 image on a local hard drive folder with read/write and you will need to modify your WINPE2 with:
Create a text file in [mounted_wim_folder]\Windows\System32\ and name it: winpeshl.ini
Edit the winpeshl.ini with:
[LaunchApp] AppPath=%SYSTEMDRIVE%\menu.cmdWhat the winpeshl.ini file will do is start up WINPE2 and run whatever your AppPath program is as a shell. So you can make a simple DOS batch menu for you to select whichever Vista/Server 2008 you want to install. What I did was made an autorun program using Autoplay Studio which will prompt me with 4 options and whatever I click on, it will launch a batch file which will run the setup for that OS. Two important things you need to keep in mind is:
1) You will need to find the USB hard drive before you can launch the setup. So you may want to add this line to your batch files:
FOR %%i IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%i:\usb_tag_file SET USB=%%i:\
You can then launch the setup by adding this line to your batch file:
2) You cannot load a x64 setup from a x86 WINPE2, the workaround for this is to copy contents of the SOURCES folder (including Setup.exe but excluding boot.wim and install.wim) from the x86 version of the Vista source. **IMPORTANT** do not overwrite the install.wim in the destination folder or you will just be installing the x86 version!
Once you have modified the WINPE2, make sure you commit the changes. If you have more than one WINPE2 on your USB, you will then need to edit the bcd store inside the BOOT folder on the root of your USB using bcdedit.exe - if you don't have any other WINPE2, you can just copy the BOOT and SOURCES folders and the BOOTMGR file from any Vista source to the <ROOT> of the USB hard drive, then name your newly created WINPE2 as boot.wim and copy it over to the SOURCES folder and overwrite the original.
So now, from your USB's grub4dos menu, load the bootmgr on the root of your USB it will then load the bcd store. If you have more than one WINPE2 it will load the BOOTMGR menu, if not it will load into the WINPE2 that you have created. Once that WINPE2 loads, it should load your batch menu or VBS or if you really want to be fancy... an autoplay application.
Multiple Windows 2003
The process of getting multiple sources of Windows 2003 onto your USB hard drive is pretty much the same as making multiple sources of XP with a few more extra steps.
First, you will need these files:
Cracked setupldr.bin : http://www.msfn.org/...PLDR-1-.BIN.zip
ModifyPE : http://unattended.ms...al/MODIFYPE.EXE
- Copy and replace the cracked setupldr.bin to the i386 folder of your source before you use usb_multiboot.
- Create the source using usb_multiboot, for this example we will assume the source folders are [$WIN_xx$.~LS] and [$WIN_xx$.~BT]
- [left]Goto [$WIN_xx$.~BT] and you should find both setupdd.sys and setupdd.sy_ Delete setupdd.sy_ and apply the following to setupdd.sys
modifype.exe setupdd.sys -c