The DOS Boot Process 

http://www.pcguide.com/ref/hdd/file/structBoot-c.html

The system boot sequence is the series of steps that the system performs when it is turned on (or rebooted with the reset switch, for example). This always starts with the special boot program software that is in the system BIOS ROM. The BIOS has several steps that it must perform to test the system and set it up, before any operating system can be loaded. These steps are described in detail here.

Once the BIOS has completed its startup activities, the last thing it does is to begin the process of loading the operating system. It does this by searching for a boot device containing boot code to which it can hand off the boot process. It will search for boot devices in the order specified by the BIOS setting that controls the boot sequence. If it cannot find a boot device it will terminate with an error.

Assuming that the BIOS finds a boot sector on a device, the process of loading the operating system begins. If the operating system is DOS, or any variant of Windows that starts out by booting the equivalent of DOS—which is all of them other than Windows NT or Windows 2000—then a specific operating system load sequence commences, which is normally called the DOS Boot Process. In the case of Windows, additional steps are added to the end of the process after the underlying DOS operating system has loaded.

The process below outlines how booting from the hard disk functions. Booting from the floppy disk differs only in the first few steps, because the floppy disk's structures are slightly different. Floppies cannot be partitioned, and hence have no master boot record or partitions. This means that the steps where the master boot record are searched are skipped.

Here are the steps in the DOS boot process:

  1. The BIOS, having completed its functions, loads the boot code in the master boot record and transfers control to it. The master boot record code begins execution. If the boot device is a floppy disk, the process continues with step 6.

  2. The master boot code examines the master partition table. It is searching for two things. First, it must determine if there is an extended DOS partition. Second, it must determine if there is a bootable partition specified in the partition table.

  3. If the master boot code finds an extended partition on the disk, it loads the extended partition table that describes the first logical volume in the extended partition. This extended partition table is examined to see if it points to another extended partition table. If it does, then that table contains information about the second logical volume in the extended partition, so it is loaded and examined. (Recall that logical volumes in the extended partition have their extended partition table chained one to the next.) This process is continued until all of the extended partitions have been loaded and recognized by the system.

  4. After loading the extended partition information (if any), the code attempts to boot the primary partition that is marked active (bootable). If there are no partitions marked active, then the boot process will terminate with an error. The error message is often the same one that occurs if the BIOS finds no boot device, and is generally something like "No boot device", but can be the infamous "NO ROM BASIC - SYSTEM HALTED".

  5. If there is a primary partition marked active, the code will boot it. The rest of the steps assume this is a DOS primary partition.

  6. The volume boot sector is loaded into memory and tested, and the boot code that it contains is given control of the remainder of the boot process.

  7. The volume boot code examines the structures on the disk that it is booting to ensure that everything is correct and in the right place. If not, the boot process will end in an error here as well.

  8. The code searches the root directory of the device being booted for the operating system files that contain the operating system. For a system running MS-DOS these are the files "IO.SYS", "MSDOS.SYS" and "COMMAND.COM".

  9. If the operating system files are not found, the boot program will display an error message, which is usually something like "Non-system disk or disk error - Replace and press any key when ready". Some people think that this message means the system was never booted, that the BIOS examined the floppy disk for example and just rejected it because it couldn't boot it. As you can see from this description of the boot process, the volume boot code was indeed loaded and executed, and in fact it is what prints the message when it can't find the operating system files! See here for an explanation of why this distinction is so important.

  10. If the operating system files are found, the boot program will load them into memory and transfer control to them. First, IO.SYS is loaded and its code executed. IO.SYS will then executed MSDOS.SYS (in pure DOS systems—MSDOS.SYS is just a text file in Windows 95 and later.) Then the more complete operating system code loads and initializes the rest of the operating system structures. For MS-DOS, this means loading the command interpreter (COMMAND.COM) and then reading and interpreting the contents of the CONFIG.SYS and AUTOEXEC.BAT system control files.

At this point the operating system code itself has control of the PC. In the case of 32-bit Windows versions like Windows 95/98/ME, the steps above are only the beginning of the process. The initial DOS operating system files control the loading and execution of many more routines as the boot progresses, which perform tasks such as reading the system registry, initializing hardware devices and starting the graphical operating system shell. In fact, it is surprising in some ways just how many different pieces of code have a hand in starting up the PC.

The PC Guide (http://www.PCGuide.com) Site Version: 2.2.0 - Version Date: April 17, 2001 (c) Copyright 1997-2004 Charles M. Kozierok. All Rights Reserved.

documented on: 2007-10-22

Guide for MultiBoot USB-stick with boot.ini Menu 

http://www.911cd.net/forums//index.php?showtopic=20089

In this Guide is described How to Make a MultiBoot USB-stick, where boot options as MS-DOS, FREEDOS 1.0, GRUB4DOS, BartPE, TXT-mode Setup Windows XP, WinPE 2.0 and SYSLINUX can be used directly from boot.ini Menu. In this way a powerfull Admin's Swiss Army Knife is obtained.

The USB_MultiBoot5.cmd Batch Program can now be used for making such MultiBoot USB-Drive, instead of the Manual Procedure as described below. The Attachment gives USB_MultiBoot5.zip file. The USB_MultiBoot5.cmd program can be used for making MultiBoot USB-Drive for Install of Windows XP with Extra Boot Options for System Recovery with Ghost.

All Editable Configuration Files for making a MultiBoot USB-stick are given in the MULTI_CONTENT folder. The content of MULTI_CONTENT folder is copied to USB-Drive by the USB_MultiBoot5.cmd program. Adapt the configuration files and the content of the MULTI_CONTENT folder to your personal needs.

Where USB-stick is mentioned in the description, USB-Harddisk with 2 GB FAT Partition can be used as well. USB-sticks of 1, 2 and 4 GB have been used successfully, e.g. Apacer HT203 OR Buffalo FireStix RUF2-R2G-S Booting from MS-DOS is not available on 4 GB Apacer HT203, whereas 1 and 2 GB sticks are OK.

A. Boot Test 

Making Bootable USB-stick or USB-Harddisk with boot.ini Menu and NTLDR Bootsector

First Test if your PC is Booting from USB-stick:

  1. Use 2 GB USB-stick with High Read/Write Speed (e.g. Apacer HT203 OR Buffalo FireStix RUF2-R2G-S are OK)

  2. Format USB-stick with PeToUSB.exe http://gocoding.com/page.php?al=petousb to Make Bootable USB-stick with FAT FileSystem, FAT = Faster such that USB-stick has NTLDR Logical Drive Bootsector(mostly sector 0x3F=63) and is seen by BIOS as Harddisk (MBR is at sector 0). Use PeToUSB.exe with Settings: Enable Disk Format with LBA FAT16X

  3. Copy XP BootFiles ntldr, NTDETECT.COM, Bootfont.bin and boot.ini from your XP C-drive to USB-stick For this purpose in Windows Explorer Extra>Folder Options, Set Hidden and System Files to be Visible.

  4. Change in boot.ini on stick rdisk(0) in rdisk(1) and add a second entry so that on Booting from USB-stick you will be able to see the boot.ini Menu. Before you Edit boot.ini, Remove first via Right-click and Properties the Read Only property.

Example: File boot.ini
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Boot Test Windows XP Professional" /noexecute=optin /fastdetect
  1. Reboot your PC with USB-stick plugged in and Enter BIOS Setup by pressing [Delete] or F2 and change Boot settings more permanent so that Harddisk is used as first Boot device type and USB-Drive is seen as first Harddisk. Save BIOS Settings with F10.

  2. Test if your PC is Booting from USB-stick with boot.ini Menu. If you can see the Menu, it is OK

If USB-stick is not bootable:

Check BIOS bootsequence settings or use different USB-stick / computer combination, OR Instead of PeToUSB use HP USB Disk Storage Format Tool Version 2.0.6 and use FAT filesystem http://download.chip.eu/en/USB-Disk-Storag…0.6_176935.html

If you did prepare your USB-stick with usb_prep8.cmd so that it can be used for Install of Windows XP, than you had already a stick with boot.ini Menu and the required bootfiles, and you don't need to do steps 1-4

Instead of an USB-stick one can also make a Bootable USB-Harddisk using the steps 2-6 given above.

For USB-Harddisk make 1900 MB partition at beginning of the USB-Harddisk using e.g. Partition Magic. Use FAT Format and Set Active OR use PeToUSB to Format such partition. Without Set Active you will get DISK BOOT FAILURE.

Warning

Be very carefull with writing of bootsectors with HDHacker, bootsect.exe or mkbt.exe Be always aware you make your changes on the right drive. Otherwise loss of DATA may be the result. It is advisable to first remove all other removable drives, like USB Backup Harddisks and Memory Cards, so that they cannot be involved by mistake in the writing process.

HP USB Disk Storage Format Tool Destroys Partition Table of USB-Harddisk and cannot be used to Format one single partition of USB-Harddisk. Using HP Tool makes Data partitions of USB-Harddisk inaccessible !! So don't use HP USB Disk Storage Format Tool to Format USB-Harddisk.

Using PeToUSB.exe is SAFE, it can only Format partitions with size less than 2 GB without destroying the existing partition table, so that Data partitions are still accessible.

Use of USB_MultiBoot.cmd and everything in this Guide is COMPLETELY at your own risk.

B. Adding New Boot Options 

Adding New Boot Options - e.g. Booting the USB-stick via boot.ini directly into MS-DOS

This requires making a Bootsector File for each specific Boot Option and Adding a rule to boot.ini mkbt.exe of Bart Lagerweij is very handy to make such Bootsector Files. See: http://www.nu2.nu/mkbt/ mkbt.exe is so handy because it can change the Bootcode in the Bootsector, while keeping the BIOS Parameter Block and the Extended Parameter Block unchanged. This means the Drive geometry and File System (FAT) is maintained ! For this purpose the 6 bs_***.bin files are supplied in folder makebt as Source Code Bootsector Files.

  1. Use procedure of Part A to make Bootable USB-stick with boot.ini Menu and NTLDR Bootsector Make a proper Selection of your PeToUSB Settings to make a USB-Drive with FAT Format. PeToUSB Settings To Format USB-Drive : Enable Disk Format with LBA FAT16X For Install of BartPE on USB-Drive : Give BartPE Source Path and Enable FileCopy with Overwrite Always. When USB_MultiBoot.cmd is applied on existing USB-Drive with XP Install Files, then Format is not needed and should be DeSelected.

    • Copy XP BootFiles ntldr, NTDETECT.COM, Bootfont.bin from your XP C-drive to USB-stick

    • Copy XP BootFile boot.ini (with all New Boot Options) from usb_cfg Folder to your USB-stick

  2. Use mkbt.exe to Save the USB-stick Logical Drive bootsector as file NTBOOT.bs in folder btsec on your USB-stick. Next use mkbt to Install MS-DOS Bootcode from bootsector file bs_msdos.bin into USB-Drive Bootsector Then Save modified USB-Drive Bootsector as Bootsector File MSBOOT.bs And finish by Resetting USB-Drive Bootsector to the original NTLDR Bootsector using file NTBOOT.bs

    Usage : mkbt [switches] <source> <target>
    switches: -c = Copy mode(copy bootsector to Bootsector File, -x = Expert mode

    For this purpose Open a Command Window (cmd) at the USB_MultiBoot\makebt Folder and type:

    mkbt.exe -x -c R: R:\btsec\NTBOOT.bs
    mkbt.exe -x bs_msdos.bin R:
    mkbt.exe -x -c R: R:\btsec\MSBOOT.bs
    mkbt.exe -x R:\btsec\NTBOOT.bs R:
    where R: is your USB-stick drive
  3. Change boot.ini on stick by adding the following rule:

    C:\btsec\MSBOOT.bs="3. MS-DOS 7.10"
  4. In a similar way we can make the Bootsector File for FREEDOS 1.0 When both MS-DOS and FREEDOS are added it is necessary to place the COMMAND.COM in a folder and to use in CONFIG.SYS and FDCONFIG.SYS SHELL commands like shell=\dos\command.com /e:1024 /p and 12345?!SHELL=\FREEDOS\COMMAND.COM /E:2048 /F /MSG /P Download FREEDOS 1.0 bootfloppy image fdboot.img from http://www.freedos.org/

  5. TXT-mode Setup Windows XP, BartPE and WinPE 2.0 require a bootcode which is the same as present in the NTLDR Bootsector, except that the file to which the bootsector refers is different, being SEUPLDR.BIN, PELDR and BOOTMGR respectively instead of NTLDR. The program makeBS2.cmd made by jaclaz is very handy to make Bootsector Files SETUPLDR.bs for TXT-mode Setup Windows XP and PELDR.bs for BartPE, where only the NTLDR loader filename was changed into e.g. SETUPLDRBIN and PELDR respectively using:

    makeBS2.cmd R:\SETUPLDR.BIN
    makeBS2.cmd R:\PELDR
    where R: is your USB-stick drive

    Such Bootsector Files are given in makebt folder as files bs_setup.bin and bs_peldr.bin of which the BootCode can be used also by mkbt.exe to make SETUPLDR.bs and PELDR.bs similarly as the procedure for making MSBOOT.bs

  6. For Windows PE 2.0 a Bootsector File is required which refers to BOOTMGR instead of NTLDR. The same Bootsector file can also be used to Install Windows Vista by launching Vista Setup. Open CMD Window and use BootSect.exe to change the bootsector for use with bootmgr

    BootSect.exe /nt60 R:
    mkbt.exe -x -c R: R:\btsec\BOOTMGR.bs
    mkbt.exe -x R:\btsec\NTBOOT.bs R:
    where R: is your USB-stick drive.

    Such BOOTMGR Bootsector File is given in makebt folder as file bs_btmgr.bin with correct Error Messages, which can be used by mkbt.exe to make BOOTMGR.bs similarly as the procedure for making MSBOOT.bs, so that BootSect.exe which is more difficult to obtain, is no longer needed.

    WinPE is a Console with rather limited use. A lot of simple programs which run from BartPE, do not run from WinPE. Windows PE 2.0 is included in the Windows Automated Installation Kit WAIK (see below for Download)

    • Follow the instructions in the WAIK guide to create PE 2.0 files.

    • Copy the contents of the "ISO" folder created in the proceding step to the root of your USB stick.

  7. SYSLINUX Menu Support from boot.ini Menu requires to make Bootsector file SLBOOT.bs according to:

    • Download syslinux from http://syslinux.zytor.com/download.php

    • Use syslinux.exe from win32 folder in a Command Window as given below

    • Copy the Bootsector with mkbt.exe as file SLBOOT.bs in btsec folder on USB-stick

    • Reset USB-Drive to NTLDR Bootsector using mkbt.exe and the original Bootsector File NTBOOT.bs

      syslinux.exe -f R:
      mkbt.exe -x -c R: R:\btsec\SLBOOT.bs
      mkbt.exe -x R:\btsec\NTBOOT.bs R:
      where R: is your USB-stick drive.
  8. GRUB4DOS Menu Support is added to boot.ini Menu as follows:

    Download grub4dos from http://grub4dos.jot.com/WikiHome and
    http://download.gna.org/grub4dos/ Copy grldr and grub.exe to the Root
    directory of the USB-stick and make Custom file menu.lst Launching of
    GRUB4DOS Menu via grldr is obtained by simply adding to boot.ini the
    rule: C:\grldr="Start GRUB4DOS Menu - DOS Boot Floppy Images + Linux"

The boot.ini file in the Root Directory of the USB-Drive making all Boot Options available is given by:

Example: File boot.ini
[Boot Loader]
Timeout=10
Default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[Operating Systems]
c:\grldr="0. Start GRUB4DOS Menu - DOS FLOPPY IMAGES + Linux"
C:\btsec\SETUPLDR.bs="1. TXT Mode Setup Windows XP, Never unplug USB-Drive Until After Logon"
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="2. GUI Mode Setup Windows XP, Continue Setup + Start XP" /FASTDETECT
C:\btsec\MSBOOT.bs="3. MS-DOS 7.10"
C:\btsec\FDBOOT.bs="4. FREEDOS 1.0"
C:\btsec\PELDR.bs="5. BartPE - MINI XP"
C:\btsec\BOOTMGR.bs="6. Windows PE 2.0"
C:\btsec\SLBOOT.bs="7. SYSLINUX Menu"
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="8. Start Windows XP Professional from Harddisk" /noexecute=optin /fastdetect

Not all options are available on all USB-Drive Devices. So you can edit boot.ini to your needs. Booting from MS-DOS is not available on 4 GB Apacer HT203, whereas 1 and 2 GB sticks are OK. A lot of FREEDOS Bootsectors don't work and even the supplied FREEDOS Bootcode only works on USB-stick and not on USB-Harddisk.

TinyHexer or HDHacker are usefull to View in detail and to Save the USB-stick Logical Drive bootsector. The Logical Drive bootsector is usually located 63 sectors from the beginning (MBR=sector 0) of the USB-disk. HDHacker see http://dimio.altervista.org/eng/ TinyHexer 1.8 see http://www.chip.de/downloads/c1_downloads_13014623.html HDHacker can also be used to Load Bootsector Files and to Write as Bootsector on USB-stick Logical Drive.

BootSect.exe can be obtained from the very large VISTA WAIK download (almost 1 GB). The Windows Automated Installation Kit with the program bootsect.exe is available as download from Microsoft: http://www.microsoft.com/downloads/details.aspx?familyid=C7D4BC6D-15F3-4284-9123-679830D629F2&displaylang=en

C. Bootsector Files - Extra Info 

The booting mechanism of NTLDR with boot.ini Menu and the use of Bootsector Files in boot.ini has been excellently explained by jaclaz and is reproduced below: http://www.911cd.net/forums//index.php?showtopic=16980&st=8

  1. The BOOTSECTOR (i.e. first sector of the Active Primary Partition) contains CODE that boots (under NT/2K/XP/2003) the NTLDR

  2. The NTLDR has the capacity to boot (through the selection in BOOT.INI and using NTDETECT.COM) only the windows NT/2K/XP/2003 System partition, (i.e. \Winnt or \Windows) through an arcpath sintax, (i.e. something like multi(0)disk(0)rdisk(0)partition(1)\WINNT)

  3. To keep compatibility with elder MS operating systems, the NTLDR has also the option to load ANOTHER bootsector; this bootsector MUST have the same geometry (dynamic data) of the main one, but can have different CODE, i.e. can load something different like the DOS files IO.SYS SDOS.SYS COMMAND.COM or another OS, or even another bootloader

  4. BartPE normally boots by using a copy of SETUPLDR.BIN renamed as NTLDR or PELDR. 5 SETUPLDR.BIN behaves differently from NTLDR:

    1. It DOES NOT use the BOOT.INI settings file

    2. Searches for needed files in the \I386 directory (this is fixed, hardcoded INSIDE SETUPLDR.BIN, needs hexediting to be changed) or in the \minint one if on hard disk

    3. Reads the textsetup.SIF, or WINNT.SIF (or any other .sif file)

The way to have a BartPE selection in boot.ini is to have an alternate BOOTSECTOR, peboot.bin, that loads PELDR (i.e. a renamed SETUPLDR.BIN) INSTEAD of NTLDR.

So the booting goes like this:

  1. REAL BOOTSECTOR loads NTLDR

  2. NTLDR loads BOOT.INI

  3. If the line invoking the ALTERNATE bootsector peboot.bin is chosen, peboot.bin loads PELDR

You cannot load anything else but an ARCPATH or a BOOTSECTOR from NTLDR/BOOT.INI!

Using GRLDR or GRUB.EXE makes it possible to load DIRECTLY (i.e. chainload) NTLDR or SETUPLDR.BIN without need for renaming the latter to NTLDR or PELDR.

Note Added: Bootsector File peboot.bin is equal to our PELDR.bs Bootsector file.

D. GRUB4DOS Menu Support - Extra Info 

GRUB4DOS is added to boot.ini Menu as follows:

Download grub4dos from http://grub4dos.jot.com/WikiHome and http://download.gna.org/grub4dos/ Copy grldr and grub.exe to the Root directory of the USB-stick and make Custom file menu.lst Launching of GRUB4DOS Menu via grldr is obtained by simply adding to boot.ini the rule: C:\grldr="Start GRUB4DOS Menu - DOS Boot Floppy Images + Linux"

Use WinImage http://www.winimage.com/ to Inject Files and to Save a DOS Boot Floppy Image.

Download ready-to-run DOS Boot Floppy Images fdubcd.img and msubcd.img made by Erwin Veermans http://www.veder.com/nwdsk/ These images are based on the Modular Boot Disk of Bart Lagerweij http://www.nu2.nu/bootdisk/modboot/ and were made for Ultimate Boot CD http://www.ultimatebootcd.com/ BootDisk.com has also a lot of Info and bootdisks available, See http://www.bootdisk.com/

Use the grub4dos tutorial to make menu.lst and add menu.lst to USB-stick http://grub4dos.sourceforge.net/wiki/index.php/Main_Page http://www.gnu.org/software/grub/manual/grub.html http://grub4dos.sourceforge.net/wiki/index.php/Grub4dos_tutorial

Use Disk emulation with Direct mapping in menu.lst:

Example: File menu.lst
color white/blue  black/light-gray
timeout 30

default 0

title Start Windows XP Professional from Harddisk
map (hd1) (hd0)
map --hook
rootnoverify (hd0)
root (hd0,0)
chainloader (hd0,0)/ntldr

title Boot floppy image - UBCD FreeDOS Bart's Modboot
map (hd0,0)/images/fdubcd.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title Boot floppy image - UBCD MsDOS   Bart's Modboot
map (hd0,0)/images/msubcd.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title Puppy Linux       - NTFS Read / Write
find --set-root /grldr
kernel /vmlinuz root=/dev/ram0 initrd=initrd.gz PMEDIA=usbflash PKEYS=uk
initrd /initrd.gz

title Damn Small Linux  - NTFS Read only - Knoppix
find --set-root /grldr
kernel /linux24 ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=minirt24.gz nomce noapic qemu quiet BOOT_IMAGE=knoppix frugal
initrd /minirt24.gz

title Memtest86+  V1.51 - RAM Memory Test
find --set-root /grldr
kernel /memdisk
initrd /images/memtp151.img

Besides DOS Floppy Images, it is interesting to add to menu.lst of grub4dos also Puppy Linux (NTFS Read/Write support) and DSL Linux (Knoppix with NTFS Read only support) , as described by diddy http://www.911cd.net/forums//index.php?showtopic=18846

Download the latest Puppy Linux ISO file - Tested using "puppy-2.12-seamonkey.iso" http://puppylinux.org/user/news.php

Download the latest DSL Embedded .ZIP file - Tested using "dsl-3.3-embedded.zip" http://damnsmalllinux.org/

E. TXT-mode Setup of Windows XP - Software Install Extra Info 

TXT-mode and GUI-mode Setup Windows XP

The procedure for Install of Windows XP from bootable USB-stick using a LocalSource was developed by ilko_t , jaclaz , cdob and porear and is described by ilko_t in MSFN Forum: http://www.msfn.org/board/index.php?showtopic=61384&st=199 The automatic making of a bootable USB-stick for Install of Windows XP can be realised with the USB_MultiBoot5.cmd batch command program.

The TXT-mode Setup of Windows XP includes the possibility to use the Recovery Console. The Recovery Console is of very limited use as compared to BartPE having Mini XP Desktop with very powerfull Program Menu. Nevertheless it is worthwhile to mention the Recovery Console within the scope of this subject.

Further Improvements of MultiBoot USB-stick:

  1. Using Windows XP Source with Updates and DriverPacks Integrated: using RyanVM Integrator http://integrator.siginetsoftware.com/index.php?download with Update Packs and Addons http://www.ryanvm.net/forum/index.php?sid=58adec10fb305c75d490d2bd5184b68a and for DriverPacks using DP Base http://driverpacks.net/DriverPacks/overview.php and for Unattended Install http://unattended.msfn.org/unattended.xp/

    $OEM$\CMDLINES.TXT can be used for making UserAccounts and install of Registry Tweaks at T-12 On first logon the Extracted BTS DriverPacks are deleted, which normally takes a long time, because SystemRestore copies them to System Volume Information folder. The Disable_SystemRestore.reg Registry Tweak prevents this action, so that first logon is much faster.

    Personally I am using only the 5 smallest BTS DriverPacks with Mass Storage text mode enabled. So I do not integrate the 5 large Sound and Graphics DriverPacks, but use these Packs manually when Updating Drivers. The extraction and deletion of these 5 large DriverPacks is taking a lot of time. Mass Storage DriverPack with text mode enabled offers a lot of Extra SCSI, SATA and RAID Drivers for the $WIN_NT$.~BT Windows XP Bootfolder so that F6 for Extra Driver Floppies is no longer needed.

  2. Booting from DOS, with Ghost for System Backup and System Restore http://www.911cd.net/forums//index.php?showtopic=19621&st=7

  3. Adding WPI for Automatic Install of Additional Programs http://wpiw.net/

  4. Unattended Install of Office 2003 with Updates Integrated http://www.siginetsoftware.com/forum/

  5. Adding WinTools running direct from USB-stick using nu2menu http://www.dirk-loss.de/win-tools.htm Such WinTools are small programs which can run from WinTools Menu without the need of Install. Double-click on GO_WINTOOLS_MENU.BAT on USB-drive provides WinTools Menu from GO button. It also is possible to run the WinTools from any drive, by copying the wintools folder and GO_WINTOOLS_MENU.BAT to the root of a harddisk drive. Support for extra Portable Utilities is possible by editing nu2menu.xml file in MULTI_CONTENT\wintools\Nu2Menu folder. An additional interesting list of Portable WinTools which can be added to WinTools Menu by editing nu2menu.xml file, is found here http://users.pandora.be/Robvdb/USBMemStick.htm

F. BartPE - Extra Info 

BartPE of Bart Lagerweij is a MINI XP with very powerfull Program Menu, and can simply be added to boot.ini Menu using the peinst.cmd of BartPE http://www.nu2.nu/pebuilder/

For a MultiBoot USB-stick combining BartPE ( minint folder ) and the LocalSource of Windows XP Setup (see below), I found the following solution to make BartPE boot from the minint folder, instead of launching Windows XP setup. Hexedit peldr using TinyHexer. Change in peldr the first occurrence of txtsetup.sif in notsetup.sif Now BartPE will boot from minint folder and will not use WinXP txtsetup.sif from root directory. http://www.msfn.org/board/index.php?showtopic=61384&st=224

Thanks to jaclaz for his helpfull advice to use gsar.exe for Hexediting of peldr in USB_MultiBoot.cmd program. Download gsar from http://gnuwin32.sourceforge.net/packages/gsar.htm

Usage: gsar [options] -s[search string] -r[replace string] [infile] [outfile]
copy /y R:\minint\setupldr.bin R:\peldr
copy /y R:\peldr R:\peldr.bak
makebt\gsar -b -f -sBT:x00:x00:x00\:x00:x00:x00txtsetup -rBT:x00:x00:x00\:x00:x00:x00notsetup R:\peldr R:\peldr.new
copy /y R:\peldr.new R:\peldr

This construction was used because gsar Deletes an existing output file when no changes are necessary on input file.

G. SYSLINUX Menu Support - Extra Info 

Install of SYSLINUX is drive specific and it is not possible to Reinstall SYSLINUX by simple filecopy. File ldlinux.sys made in USB Root directory uses the Custom made files syslinux.cfg and menu.txt Bootsector Files are only recognised by SYSLINUX as such when they have the extension .bs

Example: File syslinux.cfg
PROMPT 1
TIMEOUT 0
DEFAULT 1
DISPLAY Menu.txt
LABEL 1
KERNEL grub.exe

LABEL 2
KERNEL memdisk
APPEND initrd=images/memtp151.img

LABEL 3
KERNEL btsec/MSBOOT.bs
APPEND -

LABEL 4
KERNEL btsec/FDBOOT.bs
APPEND -

LABEL 5
KERNEL btsec/PELDR.bs
APPEND -

LABEL 6
KERNEL btsec/BOOTMGR.bs
APPEND -

LABEL 7
KERNEL vmlinuz
APPEND root=/dev/ram0 initrd=initrd.gz loglevel=3 PMEDIA=usbflash PKEYS=uk

LABEL 8
KERNEL linux24
APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=minirt24.gz nomce noapic qemu quiet BOOT_IMAGE=knoppix frugal
Example: File menu.txt
1 - GRUB4DOS Menu
2 - Memtest86+  V1.51
3 - MS DOS
4 - FREEDOS
5 - BartPE - MINI XP
6 - WinPE 2.0
7 - Linux Puppy
8 - Damn Small Linux (KNOPPIX)

It is worthwhile to note that also direct booting with MS-DOS from SYSLINUX Menu is possible in this way.

SYSLINUX Menu requires a Drive Specific Install and is in general booting Faster than GRUB4DOS Menu, but boot.ini Menu is the most versatile BootMenu from which all other Boot Options are available !

Previous Version: Number of downloads: 275 ` 284 ` 6500 ` 3896 ` 1200 (3) + 2720 (4)

Edit 8 jan 2008: Added PeToUSB.exe

Changed GO_WINTOOLS_MENU.BAT and Added nu2menu.exe in MULTI_CONTENT\wintools\Nu2Menu folder Double-click on GO_WINTOOLS_MENU.BAT provides WinTools Menu from GO button. Added FREEDOS + DOSDEV drivers, grldr and grub.exe, VC, some tools

EDIT 5 feb 2008:

Removed %_mypath% in Making BootSector Files causing program crash when USB_MultiBoot2 folder was deep nested in Documents and Settings which results in a path with spaces. Added /r option in xcopy of $WIN_NT$.~LS Folder from usb_xpbt Folder to USB-Drive , needed in some cases where presetup.cmd was Read Only.

EDIT 14 feb 2008: Attachment Updated to USB_MultiBoot3.zip

Edit 20 feb 2008: New Release USB_MultiBoot4.zip Possible DOSNET.INF Parsing Error (biosinfo.inf not found etc.) was removed.

Edit 28 feb 2008: New Release USB_MultiBoot5.zip

ren_fold.cmd was changed such that $OEM$\$1 and $OEM$$$ folders are copied as usual to systemdrive (usually C:\) and systemroot (usually C:\WINDOWS) respectively. Format Menu was added allowing to use HP USB Format Tool for making USB-sticks (greater than 2 GB) with NTFS Format allowing Install of XP in 16 minutes. USB_MultiBoot5.cmd has now Option for Adding BartPE instead of using PeToUSB. Possible source of Error in SOURCE Pathes is Detected e.g. when XPSOURCE path contains SPACES.

Last edited by wimb_2: Feb 28 2008

documented on: 2008-03-08

loadlin 

Loadlin, a safe way to load your Linux http://elserv.ffm.fgan.de/~lermen/

loadlin 

Newsgroups: comp.os.linux.misc
Date: 2000/04/03
> > I have already installed mandrake to my computer, but I had to put the
> > partition at the end of the hard disk, over the limit to be able to put
> > LiLo in the MBR. At the moment, I am booting in to linux from a boot disk.
> > Am I able to boot to linux using loadlin.exe if I can't write LiLo to the
> > MBR and if so, how do I do it?

I use Loadlin for the same reason. I have a multi-boot windows menu which allows me to select either DOS, Windows or Linux during the boot process (you can also boot to multiple versions of Linux if you are into that sort of thing). It currently defaults to Linux after five seconds, but this is easily modifiable.

There is a very nice loadlin manual written by Hans Lermen (lermen@elserv.ffm.fgan.de) which describes the use of DOS batch files as well as windows start menus under config.sys.

Jack Morris

loadlin & Win2k 

Newsgroups: comp.os.linux.setup
Date: 2002-11-27 09:00:33 PST
> As far as I can see, loadlin doesn't work with Windows-2000,
> at least if you just try to run it with "Run Program".

AFAIK it is not possible to use loadlin with W2k. In W95/98 its possible to load the linux kernel and then switch over to it. They are using some function from the HIMEM.SYS driver installed for DOS- himem support. These functions doing this switch over (starting of the linux-kernel). In W2K these support has been removed, with no way around.

loadlin & Win2k 

> Is there a (hopefully free) alternative that can boot Linux from W2k?

Dual booting Linux with Windows Boot Loader;

Start your Linux Installation and install the /root directory into the second partition. Install LILO into the first sector of your boot partition (usually /boot) and not in the MBR.

Make a boot disk during the Linux installation if possible so that you can boot into it.

Now boot into Linux and copy the boot image from the boot sector. To do this run: dd if=/dev/hdan of=/bootsect.lnx bs=512 count=1, where /dev/hdan is the location of /boot and /bootsect.lnx is the Linux boot image. Copy this bootsect.lnx file to a safe location where you can reach it using Windows. Copy it to a floppy or on a VFAT partition if possible.

Reboot into Windows 2000 and copy this bootsect.lnx file into the root directory (C:\).

Edit c:\boot.ini and append the following line: c:\bootsect.lnx="Linux".

Reboot your system and boot directly from the hard disk.

The Windows NT boot loader should now give you the option of booting into either Windows 2000 or Linux. Try booting into both of them to see if you were successful.

If not, you still have the Linux boot floppy to start Linux with.

multi()disk()rdisk()partition() in boot.ini 

Newsgroups: microsoft.public.windowsnt.setup
Date: 1997/08/04
> My C: drive is a single FAT partition and my D: drive is a single NTFS
> partition.  The C: drive has DOS and I installed NT on the D: drive.
> When
> I try and boot NT, I get an error which the manual says that I should
> correct by puttng the correct values in boot.ini.

You need the following:

multi(0)disk(0)rdisk(0)partition(1)

This means adapter 0 (ide port 0), disk 0 (the first disk), rdisk 0, the first primary partition and partition 1 the first partition.

robert calabro

multi()disk()rdisk()partition() in boot.ini 

> what numbers should be in parenthesis after multi, disk, rdisk and
> partition?  What is the meaning of disk and rdisk in this context?

This type of syntax was invented as a sort of portable naming convention for the boot firmware of NT-capable RISC machines. On x86, such "firmware" is essentially a wrapper around the BIOS.

multi(n)

nth "multifunction" adapter/bus. Always 0 on x86 machines since the firmware emulation doesn't concern itself with the distinction between various busses.

disk(n)

nth disk controller on the adapter/bus. Again always 0 on x86 machines because the firmware emulation doesn't care about which controller the disk is on.

rdisk(n)

nth disk (technically, on the controller, irrelevent on x86). The BIOS reports a total number of drives via int13 function 8. The valid range for rdisk(n) is 0 through the value reported by the BIOS minus 1.

partition(n)

0 refers to the whole physical drive. Partitions are numbered sequenatially starting at 1 based on their positions in the partition table. Logical drives within the extended partition are numbered after all primary partitions.

Ted Miller

multi()disk()rdisk()partition() in boot.ini 

>This type of syntax was invented as  [...]

Ted,

thanks a lot! I already guessed that the person who invented this apparently had no reasonable command of technical English, otherwise he wouldn't have mistaken "disk" for "controller" (and "rdisk"---not an English word at all---for "disk"), or perhaps this is just one more of the programmers' tricks to make people look stupid <grin>.

Anyway, I'm learning.

Hans-Georg

Clarification of Boot.ini 

Newsgroups: comp.os.ms-windows.nt.admin.networking
Date: 1998/03/09
>Could someone please explain the way to decypher the boot.ini file.
>I have tried looking in FAQ's and did a dejanews search, but didn't
>find quite enough information.  How do I read the ARC pathway and its
>variations.
>multi/scsi (x)disk(y)rdisk(z)partition(a)
>[boot loader]
>timeout=3
>default=C:\
>[operating systems]
>C:\="Microsoft Windows"
>multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Server Version 4.00"

multi=HD Adapter with BIOS (either ATAPI/EIDE or SCSI) or scsi=SCSI Adapter w/o BIOS

disk(0) From Identifies the SCSI Disk to Boot From (Ignored if Multi)

rdisk(0) Identifies the HD to Boot from

Partiton(1) Identifies the Boot Partition on the selected Drive where the boot files reside.

\WINNT Identifies the SystemRoot Directory

You also dual-boot Win95 and it is your default boot (the one that starts if you let the boot loader time-out).

Your setup uses a Multi Adapter, The boot drive is Drive 0 / Partition 1 and your System Files are in \WINNT

Here is my Boot.INI for comparison [boot loader] timeout=30 default=multi(0)disk(0)rdisk(1)partition(1)\WINNT [operating systems] multi(0)disk(0)rdisk(1)partition(1)\WINNT="Windows NT Workstation Version 4.00" multi(0)disk(0)rdisk(1)partition(1)\WINNT="Windows NT Workstation Version 4.00 [VGA mode]" /basevideo /sos C:\="Microsoft Windows"

My system has a SCSI Adapter with BIOS, hence the multi callout, there is only one multi-adapter so it is by default multi(0). my D:\ drive is the second physical drive on the SCSI chain (address 81h) so it is rdisk(1) The system files are on the first partition on this drive, hence partition(1) And the SystemRoot directory is \WINNT

I dual-boot with Win95 but it is not the default boot-up and Win95 is on my C:\ drive (Drive address 80h)

I hope this helps your understanding of ARC Paths; they fully specify where things are.

Carl Cox

Booting another disk … 

Newsgroups: comp.os.ms-windows.nt.admin.misc
Date: 1998/12/14
> > I tried "multi(0)disk(0)rdisk(1)partition(1)" any may other combinations
> > in boot.ini nothing did it.
>
> With this line you're trying to boot off the slave disk. I'm not sure where
> your NT directory is stored but if it's in the NT partition on the master
> drive the line has to be "multi(0)disk(0)rdisk(0)partition(2)". For some odd
> reasons NT starts counting physical drives from 0 but partitions from 1. You
> may trying to get it back to work by using the "Repair boot sector" option
> in setup.

Yes, but booting this partition is NOT my problem. I could boot DOS and WinNT from the master disk. I could boot WinNT from the slave disk if I make it a master disk. But booting this slave from the master fails …

Christoph

Booting another disk … 

>SCSI. Maybe NT can't boot off IDE slaves?

\WINNT Boot may be on ANY Partition on ANY Drive. The System Drive where the System files NTDETECT.COM, NTLDR, and Boot.ini reside must be the first Primary Active Partition. You just have to get the ARC Path to \WINNT correct. Changes such as these are made to a boot-diskette which has the NT System Files (NTDETECT.COM, NTLDR and Boot.ini) in order to boot to a mirror of the Boot Partition (containing \WINNT) should the Original Boot Disk fail. You might try getting it to work by this procedure:

Look at the slave drive in Disk Administrator and note the location of the partition where \WINNT resides. Point Boot.ini ARC PATH to this location.

Format a floppy disk with NT.

Copy NTLDR, NTDETECT.COM and Boot.ini to this diskette.

Edit the Boot.ini on the Diskette to point to the "other" \WINNT location.

This is safer because you are not editing anything on the Hard Disk. You can edit Boot.ini on the HD once you have Boot.ini corrected on the Floppy.

Carl Cox Systems Support Engineer Applied Retail Solutions, Inc.