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