BOOT2MB

Several messages here on the IBMOS2 forum and in its library (eg, BOOTDI.GA) have been concerned with emergency booting of OS/2 _from_floppy_ to recover EAs, CHKDSK, etc. I have come up with my own scheme which I think meets the following needs:

1. Allows the most flexible use of multiple versions of DOS & OS/2.

2. Allows emergency recovery booting FROM THE HARD DISK, in order to run CHKDSK, MAKEINI, etc.

After backing up my entire hard disk, I ran the OS/2 install and ran FDISK, and created the following partitions, in the following order on the disk:


 * 1) 1mb, Boot Manager, and mark it startable.
 * 2) 1mb partition (primary), for booting DOS.  Mark this one as drive C:, and bootable
 * 3) 1mb partition (primary), for booting another version of DOS (DR-DOS?, future MS-DOS?).  Mark it bootable.
 * 4) However many program & data partitions (extended) I wanted. Mark the one of these that you want to contain most of the OS/2 files as INSTALLABLE.
 * 5) Several 2mb partitions (extended), for regular booting of as many OS/2 systems as I might want to have on the disk at the same time (for me, two).  Mark it bootable.
 * 6) 2mb partition (extended), for what I call "Partition Manager" (used for OS/2 emergency recovery).  Mark it bootable.

I then continued with a normal OS/2 install into the INSTALLABLE partition. Upon bringing up OS/2, I then FORMAT (must use OS/2, not DOS) all of the other extended partitions. I specified the FAT file system for the 2mb partitions. I then copied the following files into the "Partition Manager" partition (#6 above):

Directory of I:\

DLL              05-25-92   1:34a OS2              05-25-92   1:34a OS2BOOT          1099 03-30-92   2:00a OS2KRNL        716044 03-30-92   2:00a OS2LDR          32256 03-30-92   2:00a OS2LDR  MSG      8440 03-30-92   2:00a CONFIG  SYS       462 05-25-92   1:31a COUNTRY SYS     24604 03-30-92   2:00a KEYBOARD DCP     5177 03-30-92   2:00a          -- from the install floppy VTBL850 DCP     10478 03-30-92   2:00a          -- from the install floppy CMD     EXE     87552 03-30-92   2:00a CHKDSK  COM     68656 03-30-92   2:00a FDISK   COM    104759 03-30-92   2:00a FORMAT  COM     63744 03-30-92   2:00a 14 file(s)   1123271 bytes

Directory of I:\DLL

.                05-25-92   1:34a ..               05-25-92   1:34a BKSCALLS DLL      401 03-30-92   2:00a BMSCALLS DLL      398 03-30-92   2:00a BVHVGA  DLL     40668 03-30-92   2:00a BVSCALLS DLL      454 03-30-92   2:00a DOSCALL1 DLL    87884 03-30-92   2:00a KBDCALLS DLL      858 03-30-92   2:00a MOUCALLS DLL     1010 03-30-92   2:00a MSG     DLL       477 03-30-92   2:00a NAMPIPES DLL      711 03-30-92   2:00a NLS     DLL       465 03-30-92   2:00a NPXEMLTR DLL    25280 03-30-92   2:00a OS2CHAR DLL     56320 03-30-92   2:00a QUECALLS DLL    14994 03-30-92   2:00a SESMGR  DLL     31256 03-30-92   2:00a VIOCALLS DLL     1825 03-30-92   2:00a 17 file(s)    263001 bytes

Directory of I:\OS2

.                05-25-92   1:34a ..               05-25-92   1:34a FD16-700 ADD    29962 03-30-92   2:00a	-- Future Domain SCSI only IBM1FLPY ADD    24026 03-30-92   2:00a 	-- non-PS/2 only IBM1S506 ADD    12908 03-30-92   2:00a 	-- non-PS/2 only IBM2ADSK ADD    10724 03-30-92   2:00a 	-- PS/2 only IBM2FLPY ADD    12997 03-30-92   2:00a 	-- PS/2 only IBM2SCSI ADD    15780 03-30-92   2:00a 	-- PS/2 only 000000  BIO      2560 03-30-92   2:00a W020100 BIO      3072 03-30-92   2:00a W020101 BIO      4608 03-30-92   2:00a W050000 BIO      1536 03-30-92   2:00a W050100 BIO      2560 03-30-92   2:00a W050101 BIO      3072 03-30-92   2:00a W060100 BIO      6656 03-30-92   2:00a W0F0000 BIO      1536 03-30-92   2:00a OS2DASD DMD     31994 03-30-92   2:00a OS2SCSI DMD     10462 03-30-92   2:00a IBMINT13 I13     9564 03-30-92   2:00a 	-- non-PS/2 SCSI only ABIOS   SYS       103 03-30-92   2:00a CLOCK01 SYS      3666 03-30-92   2:00a 	-- non-PS/2 only CLOCK02 SYS      3710 03-30-92   2:00a 	-- PS/2 only KBD01   SYS     29013 03-30-92   2:00a 	-- non-PS/2 only KBD02   SYS     25429 03-30-92   2:00a 	-- PS/2 only PRINT01 SYS      8934 03-30-92   2:00a 	-- non-PS/2 only PRINT02 SYS      7994 03-30-92   2:00a 	-- PS/2 only SCREEN01 SYS     1441 03-30-92   2:00a 	-- non-PS/2 only SCREEN02 SYS     1590 03-30-92   2:00a 	-- PS/2 only 28 file(s)    265897 bytes

Total files listed: 59 file(s)   1652169 bytes

Note that if you need any special disk drivers, you will have to include them (like I needed to for FD16-700.ADD above).

Note also that the above includes only CHKDSK, FDISK, and FORMAT. If you want to access any other OS/2 programs (eg, MAKEINI, ATTRIB), you can do so by switching to the partition that contains them, and run them. For obvious reasons, this may not be practical with the above three, which is why I included them.

The above CONFIG.SYS contains:

ProtectOnly	= Yes Buffers	= 32 DiskCache	= 64 IOPL		= Yes MemMan		= NoSwap

BaseDev	=IBM1FLPY.ADD			-- non PS/2 only BaseDev	=IBM1S506.ADD			-- non PS/2 only BaseDev	=FD16-700.ADD			-- non PS/2 only BaseDev	=IBM2FLPY.ADD			-- PS/2 only BaseDev	=IBM2ADSK.ADD			-- PS/2 only BaseDev	=IBM2SCSI.ADD	/LED		-- PS/2 only BaseDev	=OS2DASD.DMD BaseDev	=OS2SCSI.DMD BaseDev	=IBMINT13.I13			-- non PS/2 only

CodePage= 850 Country	= 001,		\COUNTRY.SYS DevInfo	= Kbd,	US,	\KEYBOARD.DCP DevInfo = Scr,	VGA,	\VTBL850.DCP

ProtShell=\CMD.EXE LibPath =.;\DLL Set keys=ON

NOTE THE ABSENSE OF DRIVE LETTERS IN THE ABOVE FILE. This is important, as running FDISK can change drive assignments.

Now the above partition is bootable, and comes up in OS/2 command mode.

To install a particular version of OS/2 into one of the 2mb partitions (say drive G:):

MAKEINI G:\OS2.INI     D:\OS2\INI.RC       (your edited file) MAKEINI G:\OS2SYS.INI  D:\OS2\INISYS.RC    (your edited file)
 * 1) If you want to put ANY and/or ALL of your OS/2 files in directories with other than the "standard OS/2" directory names, NOW IS THE TIME TO MAKE THIS DECISION for THIS particular 2mb OS/2 boot partition. For any such directories, edit the INI.RC and INISYS.RC on your normally-installed OS2 drive (say drive D:) in D:\OS2, and change the pathnames to what you want them to be (do NOT move the files at this time).  Of course, save the original .RC files! This step is not necessary unless you plan to have multiple versions of OS/2 on your system at one time.
 * 2) Copy the above H:\OS2*.* (boot) files into G:\.  Also copy your OS/2 version of AUTOEXEC.BAT to G:\.
 * 3) Copy the above H:\OS2\*.* (driver) files into a directory named G:\OS2.
 * 4) Run:
 * 1) Copy the OS/2 version of CONFIG.SYS into G:\, modifying it so that USER_INI and SYSTEM_INI point to the above G:\OS2.INI and G:\OS2SYS.INI files.  If you decided to move any OS/2 files, make the appropriate changes to this copy of CONFIG.SYS.
 * 2) If you decided to move any OS/2 files, boot the "Partition Manager" and move them at this time.
 * 3) Now boot partition G:.  OS/2 will reinitialize itself (like it does after every install).

If OS/2 (on drive G:) ever "permanently" crashes, just:
 * 1) Boot the "Partition Manager".
 * 2) Repeat step #4 above.
 * 3) Remove directories G:\NOWHERE and G:\OS2.DTP, and all directories and files in them.
 * 4) Run   CHKDSK G: /F
 * 5) Reboot partition G:

Note that steps #3 can be done under DOS (that's what I do); if you do so, then also run: ATTRIB G:\*.* -H -S -R /S DEL   G:\EA?DATA.?SF To install DOS, just boot a DOS diskette and "FORMAT C:/S". By making appropriate changes to the DOS CONFIG.SYS and AUTOEXEC.BAT, you can put all other DOS files anywhere you want them. To install another version of DOS (or the same version, say with a different CONFIG.SYS/AUTOEXEC.BAT) in the other partition, just run FDISK from the "Partition Manager" and change the "C:" partition.

If you don't like my idea of the 1mb DOS boot partitions (and changing all of your references to C: to D:, D: to E:, etc), you can of course omit them and make the first partition on the drive (after the Boot Manager) a primary partition containing DOS.