System Partition and IML
POST and BIOS
in IML (Type 1, 2, and 3 complex, Bermuda planar 76/77 only)
Some systems (such as Model 90 and 95), use Initial Machine
Load (IML) to store the power-on self-test (POST) and Basic Input/Output
System (BIOS) code.
In an IML system, some of this code is stored in ROM and
is used for preliminary testing during power-on, but the balance of the
POST and BIOS code, called the IML image, is stored in a protected area
of the default hard disk called the System Partition. (The IML image is
loaded onto the default hard disk when the system is manufactured.)
Note: On IML systems,
if there is a power-on password set, the system always loads the IML image
from the System Partition even if the Reference Diskette is in the drive.
To load IML from the Reference Diskette, erase the power-on password.
Note: The Upgrade
Type 1 DX2-66 is the lone exception to this.
POST and BIOS
in FLASH (Type 4 complexes, 9585, and Lacuna planar 76/77 only)
Some systems (such as Lacuna planar 76/77, Server 85,
Server 95, and Server 95A), have two electronically erasable programmable
read only memory (EEPROM) modules, referred to as FLASH memory.
Depending on the model, these EEPROMs are either on the
processor board or on the system board. The EEPROMs contain the POST and
BIOS code. These systems always load the POST and BIOS code from the FLASH
EEPROMS (POST and BIOS code does not reside on the System Partition or
on the Reference Diskette.) FLASH allows POST and BIOS code to be updated
without replacing any hardware. This is done with an update diskette. This
diskette copies the new code to the FLASH EEPROMs. Instructions are included
with an update diskette.
Note: The Type 1 Upgrade
486DX2-66 Complex has flash rom. It is the lone exception.
1. When you turn on your computer, the IML process begins. The microprocessor
performs itís first instruction, which is located at a specific address
in ROM. This instruction starts stage-1 POST, which is the portion of the
POST code that is stored in ROM.
2. Stage-1 POST tests and initializes enough of the system to allow
the loader program in POST to search the first HD for a section of code
known as the Master IML boot record, which will take controll of the startup
process in stage-2 POST. In some PS/2 models, all the HDs are searched.
Stage-1 POST uses a small, non-upgradeable section of BIOS code that is
stored in ROM. The video subsystem, the first 1MB of RAM, and the diskette
and HDs are tested and initialized in this setup. In medialess models,
only the video subsystem and the first 1MB of RAM are tested and initialized.
3. For Medialess models:
The loader program detects that the computer has no HDs
and no floppy drives. If the loader program then detects a network adapter
with a remote program load (RPL) module, it loads the master IML boot record
For all other models:
The loader program searches the System Partition on the
HD for the master IML boot record. If it finds a master IML boot record
that is valid for your computer, it loads the boot record into RAM. If
it doesnít, it searches the diskette in the primary floppy drive.
If the IML program doesnít find a valid master IML boot
record on the diskette, it displays an error message. It will then either
halt the system or look for the master IML boot record in ROM
4. The master IML boot record takes control from the loader
program. This begins stage-2 of POST. The master IML boot record copies
the POST and BIOS code from the hard disk, diskette, or ROM into a 128KB
area of RAM, creating the IML image. This area of RAM is also known as
shadow RAM, because it is not counted as part of system memory. The BIOS
code that is loaded by the master IML boot record functionally replaces
the nonupgradeable BIOS code in ROM, which was used during stage-1 POST.
5. Stage-2 POST, which is the portion of the POST code that
is stored on the hard disk, on a diskette, or in ROM, now operates from
the IML image in RAM and takes control from the master IML boot record.
When your display shows that the computer has started to count memory,
that means the loader program has been successfully completed and stage-2
POST has taken control.
6. Stage-2 POST initializes and tests the rest of the computer
(everything that stage-1 POST did not initialize). When you do a three
fingered salute, the IML image is not recreated, and the startup process
effectively begins with this step.
7. Stage-2 POST performs the IPL of the operating system.
The selectable startup feature allows you to specify which storage device
the operating system will be loaded from. When the OS is loaded, your system
is ready to run programs.
8. For medialess models:
If a medialess model has been configured to re-create
itís IML image from the POST and BIOS code in the network server, it does
so after the OS has been loaded. Loading the IML image from the server
allows the medialess system to use updated POST and BIOS code, if updates
have been installed in the server.
From Tim Clarke
Hi people, just to try to clarify some possible reasons for the confusion:
1) IML machines require and use what I like to call a "System Partition"
while Non-IML (Flash BIOS) machines allow use of what I like to call, in
contrast, a "Reference Partition", which is sometimes referred to as a
2) "System Partitions" are 3MB is size. They are created at the *absolute
end* of the drive's space (often partially invisible due to CHS mapping
"rounding down", without the additional BIOS features "hiding" it on the
active IML drive).
3) "System Partitions" can only be created on SCSI drives attached
to an IBM controller which is supported by the "IML extensions" in either
the complex BIOS or the SCSI controller's BIOS. This excludes the RAID
4) "System Partitions" are created and accessed via undocumented extensions
to the BIOS Int 13h functionality. They are "invisible" to the normal,
documented BIOS Int 13h functions, unless the system was booted from a
Maximum IML Drive Size
With the old Type 1 and Type 2 Complex
BIOS, the maximum IML drive size is 1,023KB.
With the upgrade T1 and T2 bios, the new border is now
3.94GB. This is caused by some odd regulations. There is a limited number
of bits for the heads and sectors per track in the BIOS. IBM puts the IML
record at [last data block on HD] minus 3MB, the IML FAT sits at the last
physical sector of the HD *downwards* - pointing to a data block at [capacity]
If the drive is over 4GB the *installation* uses the proper
scheme: [last data block] minus 3MB ... but the IRQ of the ABIOS trying
to read the IML FAT uses [4.0GB exactly] if the drive is over 4GB - and
lands in the Nirwana.
BIOS Needed for >1GB IML Drive
From Tim Clarke
After an extended E-mail exchange with Al Brandt, who
couldn't get a machine to IML from a >1GB drive (SCSI ID. 6) attached to
a SCSI-1 controller w/cache but with the notorious (now infamous?) 92F2244
and 92F2245 'Enhanced SCSI BIOS' ROMs using a Type-1 complex with either
of the 'older' complex BIOS ROMs (i.e. 84F9154 for SOD Type-1 and 91F9812
for non-SOD Type-1), I decided to run my own tests.
'Enhanced IML' in the complex upgrades is the *only* way
to be able to IML from a drive >1GB (and from a drive Id. ¬= 6).
At this time I must assume that the 92F2244+5 ROMs provide
support for drives <= 4GB, but the 'old' complex ROMs' IML support somehow
does not make (proper) use of it, possibly due to bad bit-shifting and/or
masking when 'translating' the 'cylinder, head, sector' information to
and from the SCSI 'logical block/sector' value.
From Charles Lasitter
As a result of a programming project with Mr. Clarke,
I am now fairly certain that the odd behavior of an IBM SCSI controller
"ignoring" ID6 to lay an IML track on a drive that was ID5 was really a
function of the enhanced BIOS, which sniffs out the signature of any current
or previous IML partition on a series of drives, and insists upon installing
or recovering a system partition to that same location.
This same feature is related to the IBM controller's inability
to do an actual format of the drive if there has been an IML partition
on the drive before. The space at the end of the drive is never released,
because the IBM controller refuses for format that area of the drive.
That's why I typically use the RAID adapter when I REALLY
want to nuke some drives.
Forcing an IML Track to ID6
To force the system to lay an IML track on ID6, do one
of the following:
Use the non-enhanced version of that processor
That way the processor can't lay an IML track on ANY drive
other than ID6.
Unhook all drives except ID6.
That way the system BIOS and SCSI adapter can't
see anything but the one that is there.
Do a true format with a non-IBM controller
The non-IBM controller cannot lay an IML track, so the
full drive space is formatted.
SCSI-2 controller has an IBM bios on it. You can lay the IML track with
it.but it won't support IML off of it, the SCSI controller uses Int13,
not Int4b. It's more of a convenience partition, anyways...
Visible Under NT?
Helmut P. Einfalt
The IML seems to be accessible at least to NT...the hiding
obviously is not done low down enough.When I connected my WfW 311-powered
9595-ALF (-OLF to them) to my NT network, NT obviously checked drives on
a cross-network basis (which is ok, seems that it is indexing the drives
in order to be fast) and boom -- I999 on next start.
Reinstalled the partition, worked a day through the net,
accessing the ALF drive from various NT workstations, shut down, and boom
-- I999 on next start. Did that for a while, heavily cursing Micro$, until
I came up with the idea that maybe NT tried to write to the same sector
as the IML was in. Set the drive to read only -- no more problems.
Although I'm a -- well, "power-" -- user, I'm not NTologist,
so I can't really verify what actually happened, so this is but a wild
guess out of years of user experience ("Always expect the worst when Micro$
is concerned"), but it seems to fit the picture.
Partitions (or convenience)
From Tim Clarke
I haven't looked into "Reference" (SurePath, non-IML machines), as
opposed to "System" (IML machines) Partitions in detail yet, but I believe
that the following is the case:
1) "Reference Partitions" are created and are accessible via the normal,
documented BIOS Int 13h functions. So, they are "visible" to disk utilities
such as FDISK etc. (Partition Type is 0FEh). Also, they can exist on any
DASD device supported by BIOS Int 13h. Ed.
This explains why you can see a Lacuna reference partition...
2) When booted from a Reference Disk(ette), *only* the "System Partition"
is visible/accessible, with the rest of the disk being "hidden".
3) "Reference Partitions" are 6MB in size. I'm currently unsure if
this is invariable, for all non-IML machines.
4) "Reference Partitions" have an MBR partition table entry of type
0FEh. This partition type may be deleted by OS/2 FDISK, if you're not careful.
I'm currently unsure if a non-IML machine's BIOS does anything to "hide"
this, for the primary, or other drives.
>How about using Partition Magic to resize the data partition down
a wee bit to make room? I haven't ever tried this method, but seems
like it should work.
Try it. But I think it will not work, because the "Create
IML partition" sets the IML-FAT infos at the last physical sector of the
harddisk and makes the structure "top down" and leaves only a "reserved
partition" info for the operating system that installs later (FDISK and
such). As far as I know P.M. will only louse up the content of the data-partition
and later you see an entry of a partition with 1.984.345.567 MB on a 100MB
drive ... we had that recently. Don't try it on a machine that contains
valuable data ....
Also: Today only the 2-disk-sets are available ... but
these reserve a 4MB area - while the old ones reserve only 3MB ...!
IML partition hiding is performed by subtracting 'n' (where
'n' = 3 or more, depending upon drive capacity) cylinders from the actual
no. of cylinders that would have been reported via the Int 13h (for DOS)
interface. Also, the read, write, seek sub-functions are limited to the
'perceived drive space'. There are undocumented calls to provide the same
Int 13h functions *without* the IML space 'hidden' (or is it, with the
'hidden' and 'operating' spaces swapped).
Size in KB
Last sector on disk less 3MB
Partition Boot Record
Loads IBMBIO.COM IBMDOS.COM to Boot Partition
File Allocation Table (1. Copy)
File Allocation Table (2. Copy)
Data Area Directory (224 Entries available)
Location of the system programs
Memory Image of POST / BIOS
Last sector on disk
||IML Master Boot Record. (48K reserved to account for defective sectors).
This boot record will load the IML-Image.The actual boot record is 3 sectors
: System Partition Structure on 90XP / 95XP ]
[Source: PS/2 Fundamentals, IBM GG24-3616-00, Page 50 ]
(Original lifted from Peter's Site)
WARNING: Any editing of the system/reference
partition has the potential of changing or deleting files. Some of these
files are actually the BIOS for the system. Just as you would not erase
a flash CMOS chip on a clone machine, DON'T delete any files in the partition.
If you delete or change any file, the responsibility is all yours. I will
not accept any responsibility for anyone accidentally deleting important
files from their partition.
You have a system with a reference partition on the harddisk and one
or more conditions exist:
Get an error beginning with I999xxxx
Cannot do 'Backup Reference Partition' anymore
Wanted to see what's on it anyway
Follow the instructions and create a simple starter-disk to open the
Get more infos about I999-Errors and the files to find on the
On most systems you will need 2 or more Diskettes:
the Reference Diskette
the Diagnostic Diskette
probably Option Diskettes if you have not backed
up your System Partition after adding files
To restore System Partition:
Start the machine from the Reference Disk.
Pass the IBM startup logo and displayed error messages.
From the main menu select 'Backup / Restore Systempartition'
Select 'Restore System Partition'
Follow the instructions on the screen
Restart the system
System Partition from DOS
Normally the System Partition is hidden and can only be
accessed with the reference disk ("Copy An Option Disk") or by pressing
[CTRL]+[ALT]+[INS] after a reboot, when the cursor jumps to the top right
corner of the screen.
However: you cannot copy or delete anything directly from
If you often change adapters and often do 'Copy An Option
Disk' it may one day happen, that 'Backup System Partition' ends up with
a 'Disk Full'-error and is aborted before the entire partition is saved
IBM recommends to restore the system partition from a
set of original disks again - but if you do this all your additional ADFs
and ADPs are lost and you will have to add them once again from the (hopefully
existing) Option Disks.
is a utility whose sole purpose is to add that signature to a disk; it
touches nothing else on the disk except those three bytes. Written by Bob
Most users of PS/2s will know that reference disks (and certain other
maintenance-related disks) have a special property. This property is that
they will, barring a major misconfiguration, always boot even if the machine
has a configuration or other problem which results in error codes being
displayed on power-up or reboot.
This special property is not provided in a very magic
way; the BIOS simply looks for three particular bytes that make up a 'signature'
in the boot sector of the disk. If these three bytes are found, in the
right place, the disk will boot despite any POST errors. As a bonus, if
you have a reference partition on the hard disk, you will find that for
the duration of that boot, your reference partition will appear as drive
C:. This provides a good way of deleting unwanted files without going to
the trouble of restoring the reference partition from the original disks.
Using DEBUG to Access
Format a disk under DOS -any version above 4.00, MS-DOS
or PC-DOS- with the parameter /S to make it bootable and have a system
You will get the DEBUG 'minus'-prompt
Type the following - all behind the ';' is comment:
L 0,0,0,1 ; open drive A: and read boot-sector
D 0 ; display content of sector
from adress 0 on
E 8 ; edit byte 08h
- E XX 20 ; content of 08h is displayed, enter only the
; press [SPACE]
XX 33 ; content of 09h is displayed, enter only
the 33 !
; press [SPACE]
XX 79 ; content of 0Ah is displayed, enter only
the 79 !
; press [ENTER]
D 0 ; display the content again:
3y must appear at 09h and 0Ah
W 0,0,0,1 ; write the sector back to drive A:
Q ; quit DEBUG
You're back at the DOS-prompt
Do Not perform a DIR-command or Explorer-View on this Disk from Win95
! Win95 overwrites the header and all modifications just made are changed
Copy editor, tools like CHKDSK on the disk as required
Insert the disk into your PS/2 and start it over
After the DOS-prompt reappears try a DIR C: /W
You are now on your System Partition.
Attention: Watch out not to delete
files the system will need later on !
within System/Reference Partition
You may -of course- delete ADFs and corresponding ADPs
from cards which are no longer installed in the system. Download QBMCA
software to find out which one are already installed.
ADFs can be sorted into the following groups:
@xxxx.ADF are the Adapter Desription
Files (ADF) ASCII-files and can be viewed /edited
@xxxx.DGS are Diagnostic Files for the
Cxxxx.ADF are the corresponding Adapter
Description Programs (ADP)
Ixxxx.ADF are ADPs too, mostly Initialize
Files for Memory Expansion Cards.
These 3 types cannot be edited or viewed (Well: can, but give only garbled
Dxxxx.ADF are Planar Description Files
for the Systemboard
Pxxxx.ADF are Planar Option Files for
Sxxxx.ADF are Planar Setup Files for
Jxxxx.ADF are Planar Setup Files for
EXE-files, not viewable
Exxxx.ADF are Description Files
for Expansion Units (Thinkpads)
Basically: Leave all DGS-files untouched unless they can
be definitely assigned to a card which is no longer in the system. Same
recommendation to all Planar Files. Some may be deleted of course, because
they belong to other machines, but it is hard to tell which ones.
You may find out, which Planar your machine uses
with QCONFIG from PC-DOS 6.3 or later. Run it with the Option /D /O and
edit the File QCONFIG.OUT. The Planar ID is given somewhere in this text.