A program for selecting a boot partition at boot time
Gordon W. Ross
gwr at linus.UUCP
Tue Feb 6 07:55:34 AEST 1990
I have recently completed a package that allows boot-time selection of
the boot partition. Included also are: an improved "fdisk" clone and
some patches for Sys.V/386 to eliminate an unnecessary restriction.
I would like to send this package to some interested alpha-testers
before I post. Please send mail if you'd like to volunteer.
A brief description of the package follows:
pfdisk - "Partition Fixed DISK" is a replacement for the "fdisk"
program (supplied with DOS and UNIX) providing some new,
very useful features: it runs on DOS and UNIX; it can
replace the boot program, create any type of partition,
does some consistency checking, can save and restore
using text or binary format, and can handle large cylinder
numbers correctly (unlike the DOS and UNIX fdisk programs).
boot-hdp - "BOOT Hard Disk Partition" is a replacement boot program
for use in the hard disk primary boot sector. This program
allows boot-time selection of the boot partition. The
accompanying "pfdisk" program can install this program without
modifying the existing partition table.
When "boot-hdp" is started (by the BIOS) it prints a message:
Booting HD0,
and then searches for an active partition. If no partition is
marked as active then a menu of partitions is presented. If
an active partition was found then a short (2 second) delay
ensues during which the user may strike any key to interrupt
the boot process and select from the boot menu. If no key is
struck before the delay expires then the active partition is
used. (This allows for unattended re-boots.)
patches for Sys.V/386: I discovered that ESIX (and probably other
Sys.V/386 versions) require that the UNIX partition be marked
as "active" and don't obey the normal procedures for finding
their own partition. This prevented me from setting up my
boot-hdp program the way I wanted to, so I patched the
second-stage boot sector for UNIX to make it obey the normal
procedure for finding its own partition. These "normal
procedures" are documented in the boot-hdp source code.
patches for MS-DOS 3.3: As many have probably heard, DOS doesn't work
correctly with disks having more than 1024 cylinders. This
patch makes "IO.SYS" limit the "number-of-cylinders entry in
the disk parameter vectors (int 0x41, 0x46 on an AT) to be
less than 1024. My current patch will only work on a system
having a parameter-override feature in the disk controller
BIOS (such as the Adaptec and Western Digital controllers)
that puts these parameters somewhere in writable RAM.
(This patch is not necessary on most systems.)
With all of the above installed, you have the following options:
(1) Mark any partition you wish as active and it will be booted from
by default (and without any lengthy, user-confusing comments). You can
still interrupt the first-stage boot and select a different partition.
(2) You can cause the boot menu to always appear by not marking any
partition as active (but of course unattended reboot won't work).
The source for this stuff comes to about 20 KB total.
The "pfdisk" program is in C, using UNIX or DOS (MSC or TC).
The "boot-hdp" program is in macro assembler (DOS). An already
assembled version (uuencoded) is included for those who lack MASM.
Send E-mail to the below address if you're interested in this package.
--
Gordon W. Ross / The MITRE Corporation / Bedford, MA 01730 (U.S.A.)
internet: gwr at linus.mitre.org uucp: {decvax,philabs}!linus!gwr
More information about the Comp.unix.i386
mailing list