MicroPort Unix V/386

John Plocher plocher at sally.Eng.Sun.COM
Thu Oct 11 14:13:14 AEST 1990


| > My question is, according to the documentation, NO partition
| > should begin at 0 or 1.  That is reserved for something else.
| > I see no way to specify where to begin the partition.
| 
| The first (0) sector (not partition) is the boot sector,
| followed by the fdisk info, I believe. Partitions don't
| start until the second track, which depends on your drive's sectors/track.

I see by other messages that your other questions were answered, so I won't
address them.  But....

A) Your documentation is wrong and
B) The reply you got is wrong.

The MBB (Master Boot Block) is located at [0,0,0] (that is,
cyl 0, head 0, sector 0)  It looks like this:

      Byte
	0 +---------+
	  | Boot    |
	  |  code   |
	  |         |
	  ~         ~
	  |         |
	  |---------|
	  |partition|
	  |  table  |
     512  +---------+

The IBM documentation (the one that counts :-) states that
all partitions start at [*,0,0] except the first, which starts
at [0,0,1] (because, of course, the MBB is already using [0,0,0] :-).

The MBB boot code simply scans the partition table for the active
partition's starting location, loads in the first block found there
at a well known address (which, of course, I forgot), and jumps to it.

This PBB code (Partition Boot Block) then does whatever is needed to
bootstrap the OS that lives on that partition - like loading in
the MSDOS.SYS file or the Microport Unix secondary boot code.  In
the uport case, this secondary boot code is what looks for, loads,
and starts running the /unix program.

More senile ramblings from

 -John Plocher



More information about the Comp.unix.sysv386 mailing list