Jump to content

[How To] Multi-boot DVD Guide


Recommended Posts

I have been away from this topic for a while now for personal reasons, so i don't really know if there has been some important developments regarding Multi-Booting, if there has been just pm me and i come back and update/clean/improve this thread.

Best regards,

André Casal

P.S.: I won't provide support for Vista ;)

Edited by andregcasal
Link to comment
Share on other sites


any help?. I think the problem is the PRO1/2.bin because boots but shows the following error CDBOT: couldnt find ntldr. I've got the some than here http://www.msfn.org/board/CDBOOT-Find-NTLDR-t64753.html although there's no solution.

If I use CDIMAGE the boot works but I receive asms error. This is the same case than mine http://www.msfn.org/board/ASMS-Failure-t15753.html

See ya!

Link to comment
Share on other sites

  • 3 weeks later...

i followed the editing of setupldr.bin and txtsetup.sif and i checked only with one operating system then also it is asking for i386 folder after first restart, so please send me the details and what more to edit i am not using any tools also just i checked it with that only because i want to use bscriptor for that so please give me the reply

and another problem i am getting i am unable to login to forum from my pc what happened

Link to comment
Share on other sites

i want to use runoncex.cmd but i am using another method of multiboot dvd if it get success i will post it but now i got an doubt

@echo off

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:\software\Install.cmd" call %%i:\software\Install.cmd

exit

[setupData]CatalogSubDir="\i386"

[setupHotfixesToRun]

CMD\RunOnce.cmd

@echo off

REM next line makes sure the *.TAG extension is identified

setlocal enableextensions

REM checks for the XPPRO.tag file and go to the corresponding section:

if exist %SystemDrive%\XPPRO.TAG call :XPPRO

REM checks for the XPPRO2.tag and go to the corresponding section:

if exist %SystemDrive%\XPPRO2.TAG call :XPPRO2

REM checks for the SERVER2003.tag file and go to the corresponding section:

[if exist %SystemDrive%\SERVER2003.TAG call :SERVER2003

REM End

goto :end

:XPPRO

REM Here we'll add the software to install to the XP Pro version. Example:

REM "%~dp0" refers to the full path the Install.cmd is in, so you don't have to worry about drive letters

start /wait %~dp0\Software\Program1.exe /s

start /wait %~dp0\Software\Program2.exe

start /wait %~dp0\Software\Program3.exe /qn

REM End this section

REM end of this section :

goto :end

:XPPRO2

REM Here we'll add the software to install to the XP Pro Unattended version. Example:

start /wait %~dp0\Software\Program1.exe /s

start /wait %~dp0\Software\Program2.exe

start /wait %~dp0\Software\Program3.exe /qn

REG IMPORT %~dp0\Software\Tweaks.reg

REM End this section

REM end of this section :

goto :end

:SERVER2003

REM Here we'll add the software to install to the Server 2003 version. Example:

REG IMPORT %~dp0\Software\Workstation.reg

start /wait %~dp0\Software\ProgramA.exe /s

start /wait %~dp0\Software\ProgramB.exe

REM End this section

REM end of this section :

goto :end

:end

REM Here we'll add the options for every OS.

start /wait %~dp0\SOFTWARE_ALL\AntiVirus.exe

start /wait %~dp0\SOFTWARE_ALL\Firewall.exe /s

REM Applying tweaks to the registry. Independent of the TAG:

REG IMPORT %~dp0\Software\Tweaks.reg

del /f /q %SystemDrive%\*.TAG

del /q /f %SystemRoot%\*.bmp

del /q /f %SystemRoot%\system32\dllcache\*.scr

del /q /f %SystemRoot%\system32\setupold.exe

del /q /f %SystemRoot%\system32\presetup.cmd

exit

can i create seperate files like xp.cmd, 2000.cmd, 2003.cmd instead of install.cmd

and can i use the above code separately for them

please help for this

Link to comment
Share on other sites

Nice job with making the guide more shorter and concise.

Any plans on adding Vista to it? I do have a AIO-DVD project on my HDD taking up space which partially works, I currently just use if for th e UBCD at the moment - will have to update it soon.

In case anyone hasn't seen the old guide with more info - I would've attached it here but it exceeds 200kb - about 407kb. I'll chuck it on my site for the meantime - although I had nothing to do with it's creation - all credit goes to flyakite, etc. http://ryzza007.googlepages.com/Multi-BootDVD.pdf

Link to comment
Share on other sites

what if you are making a dvd that has

Winxp Home oem

Winxp Pro oem

Winxp Pro Retail

I noticed that both pros have the same files called

* readme.html

* win51

* win51ip

and they want to over write them selves.

u can overwrite them readme.html file is not important u can delete it also but the win51,win51ip files are important

Link to comment
Share on other sites

  • 1 month later...

Dear Andre',

Thanks for the great description!

One suggestion only: please draw the attention to the fact, that foldername PRO1 used for SFX must have exactly 4 letters, otherwise it will not work (how do I know? :). Some new users trying to customize parameters may get benefit of it.

László Hegyi

(helasz)

Link to comment
Share on other sites

  • 2 weeks later...

Ok, it's quite simple to make a multi-bootable DVD with all you need...

But anyone have build a multi-boot USB Flash (memory) stick? How can we emulate the USB Flash Disk to boot from a CD-ROM (DVD-ROM) Boot-Image? How can insert the El Torito boot image from the Windows XP setup CD to the USB Flash Disk?

As we all know, El Torito boot specification can be of 3 types: Hard Disk emulation, Floppy Disk emulation, or None (Custom) emulation. All those boot images can be extracted from .ISO image, or directly from the CD. The Hard disk or Floppy disk emulation are easy to put on any memory stick, but the No Emulation (Custom) boot image is only 2048 bytes, and are incompatible with the FAT16, FAT32 or NTFS file system. The Windows XP bootable setup CD is one of these kind of "no emulation"...

So, the question is: Can we write the 2048 bytes boot image on a flash USB stick? Can we boot and install the Windows XP from this USB stick, like installing from the CD-ROM?

Edited by railgun
Link to comment
Share on other sites

  • 1 month later...

Thank you László Hegyi, i will add that important note to the guide asap.

railgun, i believe you have some guides here on the forum to boot up from flash devices. Try using the search button :) Hope it helps!

Thanks for all the support you guys have been giving me until now, im glad i've done some important work for so many people :) Maybe i will add Vista support in the near future, University is giving me too much work and exams comming soon, so don't count too much on it :) I'll do my best!

Edited by andregcasal
Link to comment
Share on other sites

  • 3 weeks later...
I am trying to make the multi boot dvd for Win XP Pro SP2. I followed the guide as closly as possible but I never seem to make the PRO1.DAT file.

I have searched for it on my computer and nothing was found. If anyone has any Idea where I have gone wrong please let me know what to do. :wacko:

Never mind that i read through the rest of the forum and discovered the solution. Maybe a new Update for the Guide is needed. :) A mention that PRO1.BIN is an alternative to PRO1.DAT is all I would have needed to get running.

Edited by croog
Link to comment
Share on other sites

I've got problem with asms errors.
Do you have a old non working DVD still? Did you fill data greater 4GB to DVD?

There is a sector address limitation. Early boot files has to be below 4GB sector address.

4GB sector address limitation occurs twice:

textmode: setupldr. bin read files from DVD. Once cdfs.sys is loaded and active, hole DVD is readable.

first reboot: at end of textmode hivesys.inf disables cdfs.sys. Driver is not loaded at first reboot.

Next asms files are read. This fails, if asms files are at end of DVD media.

At PNP drivers are loaded, cdfs.sys is activatet again. Hole DVD is available.

I was looking for and I discovered that the problem is caused by cdimage and I tested it and it was true.
Cdimage sort directory deep levels at end of image. Asms is a deep directory.

Cdimage I386 sort directory I386 only, no sub directories.

If you add own files, use a deeper directory.

Does someone know how to create the image with mkisofs?
Mkisofs dosn't sort by directory level.

File sort from operating system is used.

If you add own files, use a directory name at end of alphabet, e.g. \Z_add.

Or use mkisofs -sort.

4GB sector address is a limitation inside setupldr.bin and ntldr.

At some BIOS there occur a limitation at 2GB sector address.

Link to comment
Share on other sites

  • 2 months later...

Andre: Thanx very much for taking flyakite's guide and building it up into this thread. I'm just now posting, bec I successfully tried/used your pkg over a year ago and had a working ISO starting w/ my 2nd or 3rd try ! However, I'm about to make a new disc w/ a wrinkle I can't easily test on my own and hope someone here can help.

I'm trying to make a Universal [XP Home] OEM DVD w/ a standard and unattended install, using OEMSCAN. Does anyone know (from a successful project) if OEMSCAN will work w/ Andre's/Flyakite's multi-Windows boot scheme ? I wouldn't even bother asking, but I no longer have access to enuf PCs needing a bare-metal install (tomorrow, I have just one in my shop and no more in the pipeline) with which I can test my new discs. I can't even hold onto that one laptop beyond tomorrow, so I hope this works.

If you have any 1st-hand success stories or if you know it simply won't work, feel free to comment. TIA....Jet

PS: The reason for having both a std and unattended install on this disc is to permit doing a Repair install, in addition to a full blown, unattended XP installation every time....

Link to comment
Share on other sites

  • 1 month later...
Hi all!

This is (probably) the most complete and updated guide on how to build a Multi Boot DVD. I'll be updating it as i can. Hope you like it :)

changelog

Aug, 20 (2007)

  • "Add an Unattended option" fix (thanks to ysfozy)

Jan, 13 (2006)

  • Automatically create multi-boot folders and files
  • Added improved and shorter RunOnce.cmd code
  • Added the eXPander utility
  • Guide clean up and update

Sep, 15 (2006)

  • Added Windows 98 support

Sep, 10

  • Fixed offline links, since Flyakite's Multi Boot Guide's offline.
  • Fixed spacing and added color for easier reading

May, 21 (2006)

  • Added "CDShell.ini" attachment
  • Creation of this guide

Features in this guide:

- Automatically create multi-boot folders and files

- Install all your software directly from your CD/DVD (so it won't be copied to the HD saving time)

- You'll have just one Install.cmd file to update/maintain all your software

- Determine which software gets installed in which OS

- Still be able to use the OEMPreInstall=Yes and [GuiRunOnce] in winnt.sif to launch some other stuff that you may need

- You can slipstream drivers to every OS you want, having only one copy (BTS's DrivePacks integration being researched)

- You'll still be able to use any post-install methods you like (RunOnceEx, kTool, WPI, WIHU, XPlode, etc)

This guide is compatible with the following methods and tools:

- nLite

- RyanVM

- HFSLIT

- BTS's DriverPacks

(Method 2 is recomended. That way you can have only one copy of the drivers and slipstream them to all the OSs.)

- Windows Post-Install Wizard (WPI)

- kTool

- WIHU

- XPlode

This guide is compatible with the following OSs:

- Windows XP SP1

- Windows XP SP2

- Windows Home

- Windows XP Media Center

- Windows 2000

- Windows Server 2003 (Standard, Enterprise, Web & Data Center)

- Windows 98

Before we start:

Keep it simple, for boot menu use CD Shell, use simple winnt.sif files, etc. You should beautify, only after you'll successfully completed and booted from all OSs. Some beautifying options are at the end of this guide.

What you will need:

- Time and patience, don't expect to get everything to work the first time

- Various operating system CDs or ISOs

- Sufficient drive space (5+ GB to be safe) (I used +/- 20GB for my DVD)

- CDImage (GUI'ed version)

- CD Shell

- Hex Workshop to hex-edit files.

- Optional - VMware (Shareware), Virtual PC (Freeware) or Qemu (Freeware) (for testing purposes)

- Any ISO burning software, like CDBurner XP (Freeware)

Work on one operating system at a time. Test once you have that operating system added to make sure everything works right, then move onto the next OS. It will save yourself time if something goes wrong and you have no idea where to look. You can only test your DVD once you've passed the "Creating the ISO" section. Good luck!

Let's get started:

Let's set up our folder structure:

- In your C:\ (or the root of your OS drive) create this folder structure:

------------------------------------

DVD\

DVD\BOOT\

DVD\BOOT\TOOLS\

DVD\SETUP\XP\Professional

------------------------------------

DVD is the root folder and SETUP will store all of the CDs

- Extract the CD Shell.zip file and move the TOOLS folder into the BOOT folder

- Move the BOOT folder into the DVD folder.

- Copy all the contents of the XP Pro CD to DVD\SETUP\XP\Professional.

Automatically create multi-boot folders and files (thanks to geitonaki)

- Download geitonaki's SFX file

- Execute it and browse to your DVD folder. When finished it will open create_boot_folders.cmd, modify it to your needs.

- It will create the PRO1 boot folder, modify setupldr.bin, modify txtsetup.sif, create the PRO1.bin boot sector and copy the WIN51, WIN51IP and WIN51IP.SP1 (WIN51IP.SP2 if Service Pack 2) tag files. (Notice that PRO1.bin has to have exactly 4 letters UPCASE)

call create_boot_folder.cmd C:\DVD\SETUP\XP\Professional C:\DVD PRO1 FOO 0

- Create a text file, inside PRO1, with NotePad, and rename it to winnt.sif. This will make winnt.sif create a tag file that identifies the OS being installed. In this case, the tag file will be XPPRO.TAG, but you can specify whatever you want:

[GuiUnattended]DetachedProgram="%SystemRoot%\System32\cmd.exe /c @ECHO something>%SystemDrive%\XPPRO.TAG"

Creating RunOnce.cmd

- Create a RunOnce.cmd file inside DVD\SETUP\XP\Professional\i386\CMD\ and paste the code in.

- RunOnce.cmd looks for Install.cmd on the DVD and calls it.

@echo off

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:\software\Install.cmd" call %%i:\software\Install.cmd

exit

You can use the RunOnceEx method for this. RunOnceEx only runs at first logon, so applications may need reboot. The method above goes around that, it's "rebootless"!

Launching RunOnce.cmd from Svcpack.inf

- Add these lines to svcpack.inf inside DVD\SETUP\XP\Professional\i386\:

[setupData]CatalogSubDir="\i386"

[setupHotfixesToRun]

CMD\RunOnce.cmd

Notes:

- Svcpack.inf may come as svcpack.in_, just use the eXPander utility (thread here) to extract the svcpack.inf inside it, then delete the svcpack.in_.

- As you can see Svcpack.inf will launch RunOnce.cmd at T-13 stage.

- You'll have to addapt the [ProductCatalogsToInstall] in svcpack.inf according to the new CatalogSubDir="\i386" because it may point to a different location (in which case you'll get an error message during installation). If you don't have any file references under [ProductCatalogsToInstall], then just don't worry about it.

- Use the eXPander utility to transform svcpack.inf back to it's compressed svcpack.in_ form, which is smaller (this is optional).

Creating the Install.cmd file

- Create a Install.cmd file inside DVD\SOFTWARE\ and paste in the following:

@echo off

REM next line makes sure the *.TAG extension is identified

setlocal enableextensions

REM checks for the XPPRO.tag file and go to the corresponding section:

if exist %SystemDrive%\XPPRO.TAG call :XPPRO

REM checks for the XPPRO2.tag and go to the corresponding section:

if exist %SystemDrive%\XPPRO2.TAG call :XPPRO2

REM checks for the SERVER2003.tag file and go to the corresponding section:

[if exist %SystemDrive%\SERVER2003.TAG call :SERVER2003

REM End

goto :end

:XPPRO

REM Here we'll add the software to install to the XP Pro version. Example:

REM "%~dp0" refers to the full path the Install.cmd is in, so you don't have to worry about drive letters

start /wait %~dp0\Software\Program1.exe /s

start /wait %~dp0\Software\Program2.exe

start /wait %~dp0\Software\Program3.exe /qn

REM End this section

REM end of this section :

goto :end

:XPPRO2

REM Here we'll add the software to install to the XP Pro Unattended version. Example:

start /wait %~dp0\Software\Program1.exe /s

start /wait %~dp0\Software\Program2.exe

start /wait %~dp0\Software\Program3.exe /qn

REG IMPORT %~dp0\Software\Tweaks.reg

REM End this section

REM end of this section :

goto :end

:SERVER2003

REM Here we'll add the software to install to the Server 2003 version. Example:

REG IMPORT %~dp0\Software\Workstation.reg

start /wait %~dp0\Software\ProgramA.exe /s

start /wait %~dp0\Software\ProgramB.exe

REM End this section

REM end of this section :

goto :end

:end

REM Here we'll add the options for every OS.

start /wait %~dp0\SOFTWARE_ALL\AntiVirus.exe

start /wait %~dp0\SOFTWARE_ALL\Firewall.exe /s

REM Applying tweaks to the registry. Independent of the TAG:

REG IMPORT %~dp0\Software\Tweaks.reg

del /f /q %SystemDrive%\*.TAG

del /q /f %SystemRoot%\*.bmp

del /q /f %SystemRoot%\system32\dllcache\*.scr

del /q /f %SystemRoot%\system32\setupold.exe

del /q /f %SystemRoot%\system32\presetup.cmd

exit

Install.cmd checks for any tag file and when it finds performs the associated task. As you can see, aplications are installed directly from the DVD (not copied to the HD) thus not needing the OEMPreInstall=Yes or [GuiRunOnce] in winnt.sif, that you can still use to launch some more stuff that you may need, and saving time :thumbup

Finishing Up

DVD Layout:

Ok, now check if your DVD layout is similar to this, if it is, everything is ok. Keep in mind that this is just a sample layout. This layout includes XP Pro and Server 2003, but you may add as many as you like (or as many as it fit's on DVD).

C:\DVD\ - Multi boot DVD Source

C:\DVD\BOOT\ - CDShell folder

C:\DVD\i386\ - Windows XP Pro reduced source folder (OPTIONAL)

C:\DVD\PRO1\ - Boot folder 1 for XP Pro

C:\DVD\PRO2\ - Boot folder 2 for XP Pro

C:\DVD\3ST1\ - Boot folder 1 for Server 2003

C:\DVD\3ST2\ - Boot folder 2 for Server 2003

C:\DVD\SOFTWARE\SOFTWARE\ - Folder where software is placed

C:\DVD\SOFTWARE\Install.cmd - CMD file that takes care of the software installation

C:\DVD\SOFTWARE\SOFTWARE_ALL\ - Folder where software for all OSs is placed

C:\DVD\SETUP\XP\Professional\i386\CMD\RunOnce.cmd

C:\DVD\SETUP\Server2003\Standard\I386\CMD\RunOnce.cmd

Creating a boot menu (CDShell):

It's time to create a boot menu. CD Shell scripting it very simple and I believe that if you read my example you'll find it very easy to modify to your needs.

Creating the ISO (CDImage):

Now we only need to create the ISO so we can test our DVD.

I'll follow the non-GUI CDImage tutorial, but you can use the GUI'ed CDImage version if you like.

Put the cdimage.exe in the same directory as the DVD:

-------------------------------------

C:\CDImage.exe

C:\DVD

-------------------------------------

And automate the process:

Make a batch file that you can run whenever you want to make the ISO. To create a batch file open Notepad and paste the below code into it. Save the file as whatever you want and then just change the extension to .bat, like C:\makeiso.bat.

DEL C:\*.ISO

start cdimage.exe -lDVD -t01/01/2006,12:00:00 -b\DVD\BOOT\loader.bin -h -n -o -m \DVD C:\AIODVD.iso

EXIT

Ok, time to test your ISO with VMware (for example) and add another OS!

Extras

Add an Unattended option:

This section will teach you how to add an option which let's you install Windows unattendedly.

- Copy the PRO1 folder and PRO1.DAT file to "Copy of PRO1" and "Copy of PRO1.DAT"

- Rename it to PRO2 and PRO2.DAT

- Hex-edit PRO2.dat and scroll down until you see "PRO1" in the right hand side. Replace PRO1 with PRO2.

- Hex-edit setupldr.bin inside the PRO1 folder and Ctrl+H, then search for Type: "Text String" "PRO1" and replace it with PRO2.

- Save the file, choose not to back it up.

- Click "OK" and then choose "Replace All". It should say "4 Occurrences Replaced". When done, save the file and choose not to back it up.

- Edit winnt.sif to include the unattended options.

This may be a good time to read the ref.chm file in Microsoft Deployment Tools, it explains how to set up winnt.sif for an unattended installation.

You can use your winnt.sif file to skip some boorings steps of your installation like typing the serial number, defining your language and keyboard or even skip all the steps with the UnattendMode=FullUnattended command.

After you created your winnt.sif add these lines to it, so it TAG's the OS being installed:

[GuiUnattended]DetachedProgram="%SystemRoot%\System32\cmd.exe /c @ECHO something>%SystemDrive%\XPPRO.TAG"
- Ok, so now we have a second boot option. Its time to add that option to the boot menu, so you can actually choose it. Just open up your DVD\BOOT\cdshell.ini and add these lines to it:
XP_Pro:

print c "\n\cXXMicrosoft Windows XP Professional \n"

print "1) Regular \n"

print "2) Unattended \n"

XP_Pro_Key:

if $lastKey == key[1]; then chain /PRO1.DAT

if $lastKey == key[2]; then chain /PRO2.DAT

Add Windows 98

Follow this guide, by chon_.

Add Drivers:

Follow this guide, by a06lp.

Additional Resources

- Setup Billboard Screens (or learn how to make your own here).

- Microsoft Deployment Tools at Microsoft and Rapidshare. They contain the ref.chm file that has info for WINNT.SIF configuration, along with other utilities.

Explanation of how it all works:

Understanding The Boot Process

- CD Shell lets you choose which XXXX.DAT boot sector to access (located on the DVD root)

- The boot sector (PRO1.DAT for example) says where to load the SETUPLDR.BIN file (located in each of the boot folders)

- SETUPLDR.BIN has instructions on where to access txtsetup.sif (on the same folder) which accesses the appropriate DVD\SETUP\XX folder and starts the text-mode setup for Windows

Timeline

T-39 - Depending on the boot folder, winnt.sif's DetachedProgram creates a tag file identifying the OS.

T-13 - Svcpack.inf launches the RunOnce.cmd inside ...\i386\CMD\ of every OS. Install.cmd checks for the tag file and then performs that TAG's associated task.

And that's it, i'll be updating as i can :whistle:

Hope it was usefull to you :thumbup

Great stuff,

Just got to get my feeble mind round it, and set aside some time.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...