MATTsoft Boot Manager - - documentation

7. Appendix

7.1 Windows 9x Winboot.Ini file

In Windows 95 and 98 is special file WINBOOT.INI or MSDOS.SYS (If you've boot "Previous MS-DOS version" file is renamed to msdos.w40). Windows 95 and 98 searches first for WINBOOT.INI and then for MSDOS.SYS and use Winboot.ini when both files exists. MSDOS.SYS is not binary part of DOS kernel like in MS-DOS 6, it's ordinary DOS text file and you can edit it using any plaintext editor (e.g. multiedit, edit, notepad). You can specify here many things:
BootDelay= Value 2 Set boot-timeout value
BootGui= Boolean 1 Load Windows 95 graphical user interface
BootKeys= Boolean 1 Allow function keys while booting
BootMenu= Boolean 0 Show startup menu
BootMenuDefault= Value 1 Default boot item
BootMenuDelay= Value 30 Timeout (in seconds)
BootMulti= Boolean 0 Allow booting "previous version of MS-DOS"
BootSafe= Boolean 0 Run Windows 95 in safe mode
BootWarn= Boolean 0 Show warning message in safe mode
BootWin= Boolean 1 Set operating system
DisableLog= Boolean ? Undocumented
DoubleBuffer= Boolean 0 Load double buffer for SCSI disks
DblSpace= Boolean 1 Load DBLSPACE.BIN
DrvSpace= Boolean 1 Load DRVSPACE.BIN
Dblspace.bin= Boolean 1 Load DRBLSPACE.BIN
LoadTop= Boolean 1 Load COMMAND.COM "on the top"of pameti
Logo= Boolean 1 Show animated logo
Network= Boolean ? Safe mode with networking
SystemReg= Boolean? ? Undocumented

WinDir= Windows 95 directory (e.g. C:\WINDOWS)
WinBootDir= Windows boot directory
HostWinBootDrv= Windows boot drive
UninstallDir= Uninstall directory

Example WINBOOT.INI file:

; Example WINBOOT.INI file from MATTsoft Boot Manager



;xxxxxxxxxxxxx WINBOOT.INI must be > than 1024 bytes  xxxxxxxxxxxx

7.2 Windows NT Boot.Ini file

/MAXMEM= Limits Windows NT to use only part of memory (value is in MegaBytes)
/BURNMEMORY= Limits Windows NT to not use some memory (also in MB)
/ONECPU On a multi-processor machines limits Windows NT to use only one processor.
/NUMPROC= On a multi-processor machines limits Windows NT to use only some processors.
/SOS Windows NT will display some informations while loading itself and device drivers. This is very useful option, turn it ON!
/BASEVIDEO Use only standard 640x480x16 VGA videomode.
/NODEBUG, /CRASHDEBUG Disable kernel-mode debugging.
/DEBUG Enable kernel-mode debugging.
/DEBUGPORT=,/BAUDRATE= Enables remote debugging via serial port (COM1 by default) and speed (19200).
/KERNEL=,/HAL= Changes kernel and hal.
/3GB Changes settings of user and system virtual memory.
/PCILOCK Doesn't reconfigure PCI devices. Windows NT will use BIOS configuration .
/NOSERIALMICE= Disables serial mice detection on specified port or on all ports.

7.3 OpenDOS/DR-DOS boot menu

Most MS-DOS users use Startup menu. You can choose which configuration boot at system startup. But HOW-TO[tm] do this in OpenDOS (DR-DOS, Novell DOS) which doesn't have MENUITEM commands? You can use other CONFIG.SYS commands to do this. It's like switching BAT files.

Creating menus in CONFIG.SYS (or DCONFIG.SYS) is very simple. Labels are marked with ":" character before label name (e.g. :my_label). Command GOTO [label jumps to specified label and GOSUB [label] calls [label] as subroutine. Then you must exit subroutine with RETURN command. Command SWITCH [label1][,label2[,label3[,...]]] asks user for choice and jumps to entered label. Swictch command waits for number (1,2,3,...) and jumps to n-th specified label (key '3'=label3 in our example). You can use also CLS to clear screen, ECHO text to display some text (e.g. menu) and TIMEOUT [n] to set SWITCH timeout in seconds. Look at this example:

rem === menu ===
timeout 2
echo   DCONFIG.SYS Startup Menu
echo   ~~~~~~~~~~~~~~~~~~~~~~~~
echo   1. Normal config
echo   2. TaskMgr
echo   3. Free
echo Press 1 or 2...
switch o_normal,o_tasker,o_free

rem === common ===

rem === normal ===
device=c:\utils\cdrom\mtmcdai.sys /D:MTMIDE01
set CONFIG=O_normal

rem === free ===
set CONFIG=O_Free

rem tasker ===
device=c:\utils\cdrom\mtmcdai.sys /D:MTMIDE01
set CONFIG=O_Tasker

You must also modify your autoexec.bat file to jump to right place (GOTO %CONFIG%). Small example:

@echo off
rem === common ===
set path=c:\vc;c:\batch;c:\utils;..
goto %CONFIG%

goto quit

goto quit

goto quit


7.4 DOS fdisk arguments

MS-DOS FDISK program has many undocumented parameters. See following table:
/STATUS Show current partition layout
/MBR Replace Master boot record with standard code. THIS DESTROYS MATTSOFT BOOT MANAGER !!!
/PRI Create primary partition
/PRIO Create primary FAT16/FAT32 partition
/EXT Create extended partition
/LOG Create logical drive in extended partition
/LOGO Create FAT32/16 logical drive drive in extended partition
/FPRMT Ask for FAT16/32 in interactive mode.
/Q (unknown)
/X Do not use LBA partitions
/ACTOK (unknown)
/CMBR Create Master boot record on specified disk

7.5 Filesystems

This chapter is not yet finished.

7.6 Partitioning your disk

When you are partitioning your DOS disk, you should choose right disk size because FAT disk is divided into clusters (smallest allocation unit). For example, two bytes long file use 16KB on a 700 MB disk because this disk has 16KB clusters.

DOS/Win 9x FAT16 filesystem:
Disk sizeCluster size
0 - 127 MB 2 KB
128 - 255 MB 4 KB
256 - 511 MB 8 KB
512 - 1023 MB 16 KB
1024 - 2047 MB 32 KB

Note: FAT16 partition cannot be larger than 2048 MB (2 GB). You must use FAT32 or divide disk.

7.7 Other programs

7.7.1 Other boot managers

7.7.2 Other partition editors/fdisks

7.7.3 Misc programs

7.8 Operating systems

7.9 Glossary

This chapter is not finished.