Unable to create OS/2 bootable partition

From OS2World.Com Wiki
Jump to navigation Jump to search

Last Updated: 27th November, 1994

Symptoms

Unable to successfully create an OS/2 bootable partition. Unable to allocate a FAT partition.

Hardware

"Large" drive with more than 1024 cylinders (e.g. most drives larger than 500 Mb).

Problem

DOS and the "IBM PC Compatible" BIOS routines are unable to address a cylinder address greater than 1023 without some assistance. The resulting "FAT Barrier" forces some restrictions on DOS, OS/2, and any operating system which uses the BIOS support for any part of its boot process. For the purposes of OS/2 Warp installation, these are:

  • Boot Manager's partition must reside within the "FAT Barrier", that is, below cylinder 1024.
  • DOS and OS/2 bootable partitions, whether FAT or HPFS, must also reside completely within the FAT barrier.
  • DOS-compatible FAT partitions must reside completely within the FAT barrier (no surprise).
  • OS/2 non-bootable HPFS partitions can go anywhere and be any size up to the OS/2 limit of 512 Gb.

Fix

Some general rules of thumb may help your planning if you just picked up one of the new 540 Mb (or even 1 Gb) drives.

Allocate Boot Manager as the first partition (lowest address) on the drive.

Next, if desired, allocate a DOS boot partition (possibly with space for MSWin as well).

If desired, and if the DOS boot partition is relatively small, add a second FAT partition for use by DOS and MSWin when RealDOS (PC-DOS or MS-DOS) is booted.

Allocate your OS/2 Warp boot partition, either as FAT or HPFS.

All of the above must fit within the "FAT Barrier".

Finally, allocate the rest of the drive, however large, as one HPFS partition.

Notes

Certain drives and adapters help move the FAT Barrier up above 500 Mb by making it appear to the BIOS (or the adapter) that a "cylinder" contains more data than the physical drive geometry actually uses. Thus, 1024 cylinders "contains" more disk space.

If the drive performs the translation, it should be transparent to the BIOS, DOS, and OS/2. If the adapter chipset performs the translation, the same will hold true. However, if the translation is performed by the adapter <BIOS>, problems can result unless the manufacturer also provides an OS/2 driver for the adapter or OS/2 uses the (slow) IBMINT13.I13 driver to force all disk I/O through the adapter BIOS.

There is an error in the Warp User's Guide on page 310. It states that "Typically, the first 1024 cylinders is equal to 1 GB (gigabyte), or 1024 Mb." More frequently, 1024 cylinders is 512 Mb or so, but it all depends on the drive manufacturer. I believe that the statement in question was the result of a mis-condensation of a comment made in the OS/2 v2.0 Control Program manual referring to <IBM> drives; in any case it is incorrect.


Frank McKenney