IPB

Google Frontpage Forums Unattended CD/DVD Guide
> [SOLVED] Install Multiple XP/Vista/PE/2003 from USB
andy_le2k
post Mar 25 2008, 09:23 AM
Post #1


Newbie


Group: Members
Posts: 25
Joined: 3-January 04
Member No.: 11860



This post has evolved quite a bit since I started out on my quest to boot from a single USB hard drive which will then be able to launch every single OS install as well as every diagnostic tool from it as well. So below I will list the methods I use to get my USB hard drive working, of course you don't have to follow this but it's here as a guide.

Thanks:
Without these guys this would not have been possible!
  • wimb
  • cdob
  • jaclaz
  • ilko_t

AIM:
To be able to install multiple OS installs from the single USB hard drive

Software needed:
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)
OS/TOOLS Sources

Hardware:
USB Hard drive preferably > 20GB

Outline:
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 newwink.gif
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.
Currently working on:
  • [SOLVED]Trying to get multiple versions of Windows 2003 to co-exist on the USB hard drive.


---------------
Multiple PE
---------------
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:
[mini01]
[mini02]
[mini03]
[minixx]

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:
peld1
peld2
peld3
peldx

Now you will need to change the first occurrence of txtsetup.sif in PELDx to notsetup.sif.

CODE
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.

CODE
gsar -i -o -s\minint -r\minixx peldx


Notes:

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.

---------------
Multiple Vista
----------------
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

USB
|
|----->BOOTMGR
|
|----->[Boot]
| |
| |--->Modified BCD store
|
|----->[SOURCES]
| |
| |--->x86.wim
|
|----->[Vista]
|
|----->[Vistax86]
| |
| |--->[SOURCES]
|
|
|----->[Vistax64]
| |
| |--->[SOURCES]
|
|
|----->[Serverx86]
| |
| |--->[SOURCES]
|
|
|----->[Serverx64]
|--->[SOURCES]


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:
CODE
[LaunchApp]
   AppPath=%SYSTEMDRIVE%\menu.cmd

What 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:

CODE
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:

CODE
%USB%\Vista\Vistax86\sources\setup.exe


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/board/post-a9193-crack...PLDR-1-.BIN.zip
ModifyPE : http://unattended.msfn.org/files/global/MODIFYPE.EXE

Steps:

  1. Copy and replace the cracked setupldr.bin to the i386 folder of your source before you use usb_multiboot.
  2. Create the source using usb_multiboot, for this example we will assume the source folders are [$WIN_xx$.~LS] and [$WIN_xx$.~BT]
  3. [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
    CODE
    modifype.exe setupdd.sys -c
  • [center]
    CODE
    makecab setupdd.sys

  • I have not yet tested putting a checksum on setupldr.bin but I would assume this method will work as well. So if you don't want to download the cracked setupldr.bin you may wish to try the following but it may not work.


    [center]
    CODE
    modifype.exe XATxx -c

    and
    CODE
    modifype.exe XPSxx -c



    ----------------
    Multiple XP
    ----------------
    This has changed a lot since wimb updated the usb_multiboot to automatically do this, so basically, run the usb_multiboot program twice (or however many times you want) making sure you carefully select the settings again for each time you run it.

    Below are the original instructions for historic and nostalgic reasons.

    Thanks to everybody who made this possible for me - especially these superstars: jaclaz, ilko_t, cdob and wimb

    I just want to list the steps I took below, I can't promise that it will work for all of you but it worked for me.

    01 - Make XP1 Source using usb_multiboot.cmd

    02 - Rename $WIN_NT$.~BS and $WIN_NT$.~LS to $WIN_01$.~BS and $WIN_01$.~LS

    03 - Rename SETUPLDR.BIN to XPS01 and rename TXTSETUP.SIF to TXTSET01.SIF

    04 - Make XP2 Source using usb_multiboot.cmd

    05 - Rename $WIN_NT$.~BS and $WIN_NT$.~LS to $WIN_02$.~BS and $WIN_02$.~LS

    06 - Rename SETUPLDR.BIN to XPS02 and rename TXTSETUP.SIF to TXTSET02.SIF

    07 - HEX Edit XPS01 replace every reference of "$WIN_NT" to "$WIN_01"
    - HEX Edit XPS01 replace every reference of "txtsetup" to "txtset01"

    08 - HEX Edit XPS02 replace every reference of "$WIN_NT" to "$WIN_02"
    - HEX Edit XPS02 replace every reference of "txtsetup" to "txtset02"

    09 - EXPAND setupdd.sy_ to setupdd.sys located in your ~BS folders
    - For $WIN_01$.~BT\setupdd.sys run "GSAR -i -o -s$:x00W:x00I:x00N:x00_:x00N:x00T:x00$:x00.:x00~:x00L:x00S:x00 -r$:x00W:x00I:x00N:x00_:x000:x001:x00$:x00.:x00~:x00L:x00S:x00 setupdd.sys"
    - For $WIN_02$.~BT\setupdd.sys run "GSAR -i -o -s$:x00W:x00I:x00N:x00_:x00N:x00T:x00$:x00.:x00~:x00L:x00S:x00 -r$:x00W:x00I:x00N:x00_:x000:x002:x00$:x00.:x00~:x00L:x00S:x00 setupdd.sys"

    10 - MAKECAB setupdd.sys for each of the ~BS folders

    11 - Use MakeBS3.cmd (located in your usb_multiboot package under \makebt)
    "MakeBS3.cmd [USB_DRIVE_LETTER]:\XPS01" and
    "MakeBS3.cmd [USB_DRIVE_LETTER]:\XPS02"
    - This will make 2 boot sector files in your [USB_DRIVE_LETTER]:\btsec folder named
    XPS01.bs and XPS02.bs

    12 - EDIT boot.ini and add the lines "C:\btsec\XPS01.bs" and "C:\btsec\XPS02.bs"


    13 - In \$win_01$.~ls\I386\ren_fold.cmd change

    SET TAGFILE=\$WIN_NT$.~BT

    ren %USBDRIVE%\txtsetup.sif txtsetup.bak
    ren %USBDRIVE%\$WIN_NT$.~BT WIN_NT.BT
    ren %USBDRIVE%\$WIN_NT$.~LS WIN_NT.LS


    to

    SET TAGFILE=\$WIN_01$.~BT

    ren %USBDRIVE%\txtset01.sif txtset01.bak
    ren %USBDRIVE%\$WIN_01$.~BT WIN_01.BT
    ren %USBDRIVE%\$WIN_01$.~LS WIN_01.LS


    In \$win_01$.~ls\I386\undoren.cmd change

    SET TAGFILE=\$WIN_NT$.~BT

    ren %USBDRIVE%\txtsetup.bak txtsetup.sif
    ren %USBDRIVE%\WIN_NT.BT $WIN_NT$.~BT
    ren %USBDRIVE%\WIN_NT.LS $WIN_NT$.~LS

    to

    SET TAGFILE=\$WIN_01$.~BT

    ren %USBDRIVE%\txtset01.bak txtset01.sif
    ren %USBDRIVE%\WIN_01.BT $WIN_01$.~BT
    ren %USBDRIVE%\WIN_01.LS $WIN_01$.~LS

    14 - Repeat the above for the batch files in \$win_02$.~ls\ making sure you replace 01 with 02

    0

    This post has been edited by andy_le2k: Jun 24 2008, 04:58 PM
    Go to the top of the page
     
    +Quote Post
    4 Pages V  « < 2 3 4  
    Start new topic
    Replies (60 - 66)
    wimb
    post Jul 2 2008, 11:24 AM
    Post #61


    Advanced Member
    Group Icon

    Group: Software Developers
    Posts: 345
    Joined: 21-March 07
    Member No.: 132150
    Country Flag


    QUOTE (theles @ Jul 2 2008, 04:48 PM) *
    But, only one thing is missing. At the normal procedure, I'd choose to change the letter of the usb stick for U: . Now, this option didn't appear. It's possible to make that change?

    Yes, you are right, that is not yet in the program.
    It was OK when there was only one XP Source and the folder was $WIN_NT$.~BT
    For Multiple XP from USB, where the Content of first stick is used as Content Source for another stick
    I will need to change the program.
    The program will treat the first made stick correct and give it BootDrive Letter U:

    But for now you can change it to BootDrive Letter U: with MkMigrateInf2.cmd from the makebt folder.
    Open first a command window at USB_MultiBoot_10\makebt and give following commands:
    CODE
    MkMigrateInf2.cmd %usbdrive% %usbdrive%\$WIN_01$.~BT\migrate.inf
    MkMigrateInf2.cmd %usbdrive% %usbdrive%\$WIN_02$.~BT\migrate.inf

    where %usbdrive% is your USB-drive as seen in Windows Explorer e.g. R:

    This post has been edited by wimb: Jul 2 2008, 11:31 AM
    Go to the top of the page
     
    +Quote Post
    mikesw
    post Jul 2 2008, 12:25 PM
    Post #62


    Advanced Member
    ***

    Group: Members
    Posts: 346
    Joined: 5-October 05
    Member No.: 75761
    Country Flag


    Now if I only had Multiple MSDOS/DOS on this USB drive and a BIOS that knew how to boot a USB drive or stick to load
    any of these OS' !!!!!!!! Hmmmm! I guess I'm stuck imaging the USB drives with the multiple OS'
    and writing them to a DVD so the BIOS can at least boot the CD/DVD!!!!! whistling.gif

    I haven't found an MSDOS USB Driver to recognize any USB stick or drive yet. And even if I did,
    then the MSDOS would probably restrict it to only 640K or 1 meg due to the MSDOS OS limitation. wacko.gif

    Here's a question as food for thought. Can I compress/squeeze all of these OS' loaded onto a USB drive/stick
    down to below the 1 meg memory limit for MSDOS? I know the answer is no. Thus, I'm probably stuck splitting
    the OS disk image into 1.44 floppy disk images and writing them to floppies then.... Please insert disk 1 ..
    disk 2.....disk 1E12 into drive A: rolleyes.gif
    Go to the top of the page
     
    +Quote Post
    jaclaz
    post Jul 2 2008, 01:08 PM
    Post #63


    MSFN SuperB
    Group Icon

    Group: Software Developers
    Posts: 5031
    Joined: 23-July 04
    From: Italy
    Member No.: 25215
    OS: none
    Country Flag


    @mikesw

    Don't take this the wrong way smile.gif but what you posted does not make much sense.

    The "1 meg" limit for MS-DOS has NOTHING to do with USB booting, I assure you.

    Why don't you start a new thread, this here is about ANOTHER topic ( XP install from USB), detailing what your problem is, and what you actually would like to do?

    Maybe there are solutions for it.

    jaclaz
    Go to the top of the page
     
    +Quote Post
    andy_le2k
    post Jul 2 2008, 05:30 PM
    Post #64


    Newbie


    Group: Members
    Posts: 25
    Joined: 3-January 04
    Member No.: 11860



    @mikesw
    Please explain!

    So you don't have a BIOS that can boot USB sticks?

    You want to load DOS from a USB stick?

    If you can express your problems in a clearer way it would be easier for us to help you.

    And as jaclaz mentioned, this post is about installing multiple OS from USB - if your issue does not fit in this topic perhaps it's best to start a new post.

    This post has been edited by andy_le2k: Jul 2 2008, 05:36 PM
    Go to the top of the page
     
    +Quote Post
    mikesw
    post Jul 3 2008, 07:01 AM
    Post #65


    Advanced Member
    ***

    Group: Members
    Posts: 346
    Joined: 5-October 05
    Member No.: 75761
    Country Flag


    Please explain!
    So you don't have a BIOS that can boot USB sticks? This is correct! The BIOS is to old to recognize any USB
    Device as a boot device. This includes USB HDD drives too. Nor am I able to find an MSDOS USB driver to use
    with a USB (stick, HDD or CD/DVD) drive so that once I boot from a floppy disk containing MSDOS and using the USB
    driver, I'll be able to install any of the Win OS' that this thread allows one to install


    You want to load DOS from a USB stick? Since all Windows OS' were being put on a USB type device, all I was
    stating was, why not MSDOS/DOS too to make the multiple OS install complete with MSOFT OS' to install.

    If you can express your problems in a clearer way it would be easier for us to help you.

    And as jaclaz mentioned, this post is about installing multiple OS from USB - if your issue does not fit in this topic perhaps it's best to start a new post.

    As far as my comment about the memory limit of MSDOS, I was joking around about the compresssion comment, since MSDOS doesn't recognize large HDD drives of multiple GIGA Bytes as far as I know. Thus with MSDOS being 16 bit addressing, I can't get past the 1 meg limit needed to address (acccess) large disk drives. Note: I know that Windows 95/98 have MSDOS which is 32 bit which allows larger disk drives, but
    my comment was about MSDOS/DOS and not Win 95/98. Maybe you want to include Win95/Win98 on your
    list of OS' to install from the USB HDD too.

    welcome.gif

    This post has been edited by mikesw: Jul 3 2008, 07:08 AM
    Go to the top of the page
     
    +Quote Post
    jaclaz
    post Jul 3 2008, 07:55 AM
    Post #66


    MSFN SuperB
    Group Icon

    Group: Software Developers
    Posts: 5031
    Joined: 23-July 04
    From: Italy
    Member No.: 25215
    OS: none
    Country Flag


    I don't see the point since your BIOS cannot boot from USB.

    However, you may want to try the PLOP bootmanager:
    http://www.plop.at/
    http://www.plop.at/en/bootmanager.html
    http://www.plop.at/en/bootmngrusblog.html

    Win95, win 98 and Me DOS, i.e. DOS 7.x and 8.0 are 16 bit, exactly as MS-DOS 6.22 were.

    There is normally no problem whatsoever in booting/installing these systems, including MS-DOS 6.22 from USB, since ALL DOSes rely on BIOS, they work allright if the BIOS support booting from USB.

    Of course you cannot install (no matter from what media) install MS-DOS on a non FAT12 or FAT16 partition, (the latter filesystem has a limit of 2 Gb), but you can pretty well use an .img and boot it through grub4dos.

    jaclaz
    Go to the top of the page
     
    +Quote Post
    unknown12
    post Dec 4 2008, 01:23 PM
    Post #67





    Group: Members
    Posts: 6
    Joined: 2-March 05
    Member No.: 45967
    Country Flag


    --Deleted--

    This post has been edited by unknown12: Dec 4 2008, 03:05 PM
    Go to the top of the page
     
    +Quote Post

    Google Frontpage Forums Unattended CD/DVD Guide

    4 Pages V  « < 2 3 4
    Reply to this topicStart new topic
    1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
    0 Members:

     




    Lo-Fi Version Time is now: 21st November 2009 - 08:40 PM
    All trademarks mentioned on this page are the property of their respective owners
    MSFN is not affiliated with Microsoft
    Copyright © 2001-2009 msfn.org
    Privacy Policy