                            FYI

(Note: The origin of this information may be internal or external
to Novell. Novell makes every effort within its means to verify
this information. However, the information provided in this
document is FOR YOUR INFORMATION only. Novell makes no explicit or
implied claims to the validity of this information.)

          TITLE: CONFIGURING LOADER.COM FOR MULTIPLE OS BOOTS
   DOCUMENT ID#: FYI-M-1909
           DATE: 05JAN93
        PRODUCT: DR MULTIUSER DOS
PRODUCT VERSION: 5.x
     SUPERSEDES: 15JUL92

SYMPTOM/SOLUTION:
This document contains information that is intended for advanced
DOS users. Because of the complexity of having multiple operating
systems, support for these advanced features is limited.

IMPORTANT!                  IMPORTANT!                 IMPORTANT!
***************************************************************** 
LOADER has two hidden, system, read only (HSR) files: LOADER.SAV,
and IBMBIO.LDR. These files are position sensitive and cannot be
moved or deleted except through the use of LOADER.COM. It is not
possible to remove LOADER from a system by deleting these hidden
files. The only way to remove LOADER from a system is by using the
LOADER /U option or a low-level format. The file LOADER.SAV is an
exact duplicate of the MBR (Master Boot Record) before LOADER was
installed. Moving or deleting this file will mean that the system
cannot be restored to its previous state. If the files are removed
LOADER will give an error indicating "Bad or missing IBMBIO.LDR" on
bootup. LOADER will then allow the default OS to be loaded by
striking any key. No other OS will be able to boot.

Because the use of LOADER changes the Master Boot Record it is
strongly recommended that full backups of all partitions on the
first physical drive be made. Novell is not responsible for any
loss of data.

The Superstor Disk Compression utility that comes with DR DOS is
not compatible with other operating systems including DR Multiuser
DOS. Remove the SuperStor drivers (SSTORDRV.SYS and DEVSWAP.COM)
from the configuration files of any other operating systems. The
compressed data will not be accessible. 
***************************************************************** 

The program LOADER.COM, which is supplied with DR Multiuser DOS,
gives users the ability to load several operating systems on a
single hard disk partition. It is automatically installed by the DR
Multiuser DOS installation program when a single user DOS is
detected on the bootable drive.
This "basic" installation of LOADER by the DR Multiuser DOS INSTALL
program only gives the option of Yes or No to loading DR Multiuser
DOS. However, when LOADER is used to boot between multiple
operating systems it is necessary to create an ascii file list.
This ascii list contains the names of the other OS kernel files.
This ascii file will be referred to from here on as the "bootfile".
Typically, the bootfile is called BOOTLIST.TXT. However, the name
can be any valid DOS filename.

Creating a Bootfile
The bootfile must reside in the root directory of the primary DOS
partition (bootable drive). It will contain a list of the available
operating systems to boot from. The bootfile can contain up to 20
lines. Each line must have the following format:

     FILENAME.EXT TYPE [NUM] COMMENT

FILENAME.EXT is the complete name of the operating system kernel
file that is first loaded. For example, the DR DOS 6 file name is
IBMBIO.COM. 

TYPE identifies the kind of operating system. For TYPE enter one of
the following single-character codes:

     C = Concurrent DOS
     M = Multiuser DOS with or without secured fixed-disks
     D = DR DOS
     P = CP/M
     O = OS/2
     S = DR DOS with or without secured fixed-disks
     F = FlexOS
     B = Binary file
     3 = MS/PC DOS prior to Ver 3.3

Here is an example of a Bootfile:

CCPM.SYS    C    Concurrent DOS 3.0
DRMDOS.SYS  M    [5] Multiuser DOS
IBMBIO.COM  D    DR DOS 6.0

[NUM] is optional and sets a timeout for the operating system
kernel file. Only one timeout can be used in a bootfile. If a user
wanted DR Multiuser DOS to load automatically after 5 seconds put
[5] after the TYPE on the DR Multiuser DOS line (see above
example). The OS will load in 5 seconds if no other selection is
made. The brackets are required.

COMMENT is optional and can be used to help identify what operating
system will be loaded. Any text including spaces and tabs can be
entered. 
A space or a tab must be used to separate FILENAME, TYPE and
COMMENT. LOADER does not care which of these "delimiters" is used
but they must be present for proper execution of the bootfile.

Once the bootfile is created, LOADER must be run from the command
line, accompanied by the bootfile name. 

     LOADER BOOTLIST.TXT


When installed LOADER consists of:
LOADER.COM
LOADER.SYS
IBMBIO.LDR
LOADER.SAV
the bootfile
modified MBR

Files that cannot be moved and have the attributes HSR:
LOADER.SAV
IBMBIO.LDR
target OS files (MS DOS 4.01 or earlier)


Files that can be moved but must remain in the root directory:
LOADER.SYS
bootfile
target OS files (except MS DOS 5.0 or earlier)

Files that can go anywhere and in any directory:
LOADER.COM

How LOADER Installs
When LOADER.COM is executed a backup of the current MBR is made and
stored in LOADER.SAV. (LOADER.SAV is actually a few bytes larger
than the MBR.) LOADER code is then copied into the MBR. IBMBIO.LDR
is placed in the root directory and the absolute sector for the
file is placed in the MBR. The result is that the MBR will contain
enough code to find and load IBMBIO.LDR. LOADER.SYS is then placed
in the root directory and has stored within it the name of the
bootfile.

How LOADER boots:
1.   The BIOS reads the MBR and executes the code in it. 
     
     While the MBR is only one sector in size (512 bytes), it also
     contains the partition table information (64 bytes). This
     means that the LOADER code can only use a maximum of 448
     bytes. About all that can be accomplished in so little code is
     to do an absolute sector read of IBMBIO.LDR. 
2.   IBMBIO.LDR is read and executed. 

     IBMBIO.LDR like the MBR is one sector in size but without the
     partition information it has all 512 bytes to use for code.
     This enables it to load the root directory and FAT into
     memory. From this point on files can be located without
     absolute sector reads. LOADER.SYS is located using the
     directory information. This is why LOADER.SYS can physically
     be anywhere on the disk as long as it is in the root
     directory. 

3.   LOADER.SYS is read into memory and executed.

     LOADER.SYS contains the name of the bootfile. LOADER.SYS
     locates the bootfile using the root directory. It then reads
     the bootfile and compares the bootfile information with the
     files in the root directory. If a kernel filename in the
     bootfile is not in the root directory then that OS option is
     removed from the displayed menu. Each filename in the bootfile
     is then assigned a function key. 

     LOADER.SYS is the program users see on their screen. It's the
     real brains behind LOADER.

     Note: Because of the sophistication of LOADER.SYS it is not
     necessary to run LOADER.COM again after adding another OS.
     Just add the kernel filename to the bootfile and LOADER.SYS
     will verify the existence of the file and assign it a function
     key.

4.   The operating system selected by the user is loaded and
     executed. 

     If the OS is the default (function key F1), the bootable
     partition boot record is loaded and executed. If any other
     function key is chosen then the file in the bootlist is
     located in the root directory, loaded in memory and executed.

     The default OS is always the OS that has it's code in the boot
     record of the bootable partition. The boot record is not the
     same as the MBR. The MBR exists outside of all partitions of
     a disk while the boot record is the first sector of a
     partition. The partition table has a flag that indicates which
     partition is the bootable partition.

Other Operating Systems and other information

DR DOS 6.0
     DR DOS has enhancements that make it more flexible in
     coexisting with other OS's. 

     DR DOS 6.0 first looks for a file called DCONFIG.SYS before
     trying to locate CONFIG.SYS. If DCONFIG.SYS is located
     CONFIG.SYS is ignored.     There is also an option in the SHELL command of the
     (D)CONFIG.SYS to use a different filename for AUTOEXEC.BAT.
     The parameter /P:[filename] in the Shell statement of the
     (D)CONFIG.SYS instructs the shell to use the named file as a
     replacement to AUTOEXEC.BAT. 

     SHELL=C:\DRDOS\COMMAND.COM C:\DRDOS /P:DRAUTO.BAT /E:512

     If the statement above was used in a file called DCONFIG.SYS
     then DR DOS would not use CONFIG.SYS or AUTOEXEC.BAT. This
     would allow CONFIG.SYS and AUTOEXEC.BAT to be used for another
     OS.

     Changing the names of config and batch files for DR DOS will
     mean that the DR DOS Setup utility can no longer be used. All
     adjustments will need to be done manually. Manual installation
     instructions can be found in FYI-M-1106. All Novell DSG FYI's
     are available on CompuServe, Novell DSG's FaxBack
     1-800-638-9273 and Novell DSG's BBS 1-408-649-3443.

     If DR DOS is being installed with MS-DOS follow the manual
     installation instructions in FYI-M-1106 but do not SYS the
     drive. Add the DR DOS kernel name (IBMBIO.COM) to the
     bootfile.

     In the example shell statement COMMAND.COM is being loaded
     from the DRDOS directory. This is to prevent accidentally
     loading the wrong command processor because of an incorrect
     path statement. It is recommended that no command processor be
     located in the root because most user paths contain the root
     directory.

MS-DOS 
     All MS-DOS operating systems require that the two system
     kernel files be the first two entries in the root directory.
     If MS-DOS is to be used in a partition along with another
     single user OS such as DR DOS the second OS should not SYS the
     drive. In the case of DR DOS this would mean a manual
     installation. For more information refer to the section on DR
     DOS 6.0.

     Versions of MS-DOS and PC-DOS prior to version 5 also require
     that system files be located in contiguous space at the
     beginning of the partition. For this reason there can only be
     one version of MS-DOS or PC-DOS on any computer.
MS-DOS 5
     If MS-DOS 5.0 is to be one of the operating systems used then
     it must be installed as the default OS. Other operating
     systems such as OS/2, DR Multiuser DOS and DR DOS can be
     installed first but LOADER must not be run until MS-DOS 5 has
     been installed. This is because SYSing a drive with MS-DOS
     will result in a rewritten MBR. In other words, SYSing a drive
     with MS-DOS 5 will remove LOADER from the MBR. This behavior
     is also one of the reasons that LOADER has no option for
     MS-DOS 5. 

     If the boot record is overwritten by another installed OS,
     then SYS the drive with MS-DOS 5 to make it the default once
     again and run LOADER.

     MS-DOS 5 also requires the use of the first two directory
     entries in the root directory. However, system files are not
     position sensitive. This allows MS-DOS 5 to be installed when
     the disk contains data. The MS-DOS SYS utility will reorder
     the directory to fit the MS-DOS 5 requirements. 

PC-DOS
     PC-DOS and DR DOS both use the same system file names
     (IBMBIO.COM & IBMDOS.COM). This duplication of names makes
     installing both DR DOS and PC-DOS on the same computer
     impossible.

     In all other respects PC-DOS behaves just like it's
     corresponding MS-DOS version.

Running LOADER from another OS
     LOADER is not DOS version sensitive but it is recommended that
     it be run from either DR Multiuser DOS or DR DOS. 

Setting a Timeout for the Default OS
     If a timeout value is required for the Default OS use the
     command: 

     LOADER BOOTLIST.TXT[15]

     There can only be one timed OS with LOADER. Since the default
     OS does not have a bootfile entry the timeout must be run from
     the command line when LOADER is installed. The above line will
     give the Default OS (such as MS-DOS 5) a 15 second timeout.
     Make sure that the time limit is not separated by a space from
     the bootfile name.

Removing LOADER     
     To remove loader from a system use the command line:

     LOADER /U