Creating a 2MB OS/2 2.0 bootable partition
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 <DIR> 05-25-92 1:34a OS2 <DIR> 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
. <DIR> 05-25-92 1:34a .. <DIR> 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
. <DIR> 05-25-92 1:34a .. <DIR> 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:):
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: MAKEINI G:\OS2.INI D:\OS2\INI.RC (your edited file) MAKEINI G:\OS2SYS.INI D:\OS2\INISYS.RC (your edited file)
5. 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.
6. If you decided to move any OS/2 files, boot the "Partition Manager" and move them at this time.
7. 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.