kBootManager v0.35.12Beta - Documentation
Contents:
About The kBootManager
The kBootManager is an bootmanager which is meant to supplement or replace the IBM BootManager.
When I say "or", that depends on which configuration you will have. If you plan to boot OS/2, or
any other (unknown) OS which needs the IBM BootManager to install, it is an supplement.
But if you are thinking about booting all OSes from primary partitions or "logical as primary", it is a replacement.
As Primary
The NEW thing about this bootmanager is that it may boot any logical partition as an primary
(this requires a free entry in the primary partitiontable). It extends the IBM BootManager
naming - names of extended partitions is stored in the logical MBR - to include primary
partitions. So if you name an extended partition with the OS/2 fdisk or PQMagic you will have
that partition bootable in this bootmanager too.
Features
- Booting from floppy
- Booting primary partitions
- Booting logical partitions
- Booting logical partitions as primary partition
- Up to 16 harddrives and at least 2 floppies
- Names to each partition, lenght 8 chars
- Takes virtual no space
- Does not need any partition of its own (see tech)
- Timout booting - default
- Timout booting - last booted
- Timout may be set to wait for up to 65535 secs
- Hide and unhide bootable partitions
- Set the systemId decription (not implemented in installer yet)
- Booting from cdrom - not implemented yet
Compatibility issues with the IBM BootManager.
- Can boot both primary and extended partitions the same way as IBM BM.
- Can NOT replace the IBM BootManager during installtion on an extended partition.
You will have to use the IBM BM here. When this is said, the way I do it is to have
the IBM BM installed but not active. Then I will use the kBM when booting even when installing.
- It supports a timeout function, but this can NOT be set with OS/2 fdisk or PQMagic since they
yet do not recongnize kBM.
The kBootManager
Keys
- arrow-down - move scroll bar down
- arrow-up - move scroll bar up
- esc - start/stopp timer
- return - boot selected partition
- i - boot partition in installation mode. Prepare booting the partition, but boots from floppy A: instead.
- h - hides selected partition
- u - unhides selected partition
The Textmode Installer
The installer is has an fdisk (linux) styled interface, but is designed to be implemented
as an GUI application later. The interface is poor. It is not userfrendly - but it works.
During development I have used a physical diskeditor to do the installation an configuration -
so this is a huge improvement - for me.
The installer is idetical on the different platforms - the difference is the class which
provides me with phyical disk access.
I am now going to explain what the different menu options do. I will group them.
- kBootManager
- b - kBootManager info. Displays info about the bootmanager.
- e - EBF. Extend Boot Flags. Here you set the bootmethod which the given partition
uses. Currently Normal and As primary. As primary has addition options.
Hide logical and Update BPB. See tech doc for additional info about EBFs.
- f - toggle name flag. Enables booting from given parition.
- g - set name for the given partition.
- i - install the kBM on the current drive. Note disclaimer.
- t - timer options. Enable/disable and
Default - boot default partition.
LastBooted - boot the partition you booted last time.
- u - set timer time in seconds.
- v - set default partition name. Here you enter the name of the default partition.
- kMasterBootRecord(kMBR)
- k - install the kMBR onto current drive. Note disclaimer.
- l - change the method used to load the kBootManager.
Auto - always load kBM.
Shift - load if shift is down on boot.
none - do not load kBM
- Misc.
- a - set/clear the bootflag. This is the flag indicating that the parition is active.
This flag only applies to primary partitions since common MBRs only boot
primary partitions. Usualy the MBR boot the first active primary partition.
- d - change current drive. I use the bios int 13h naming for drives. The
first disk is 0x80(hex) the second 0x81 and so on.
- m,?,h - display menu
- p - print partition table for current drive. The printing displays frist
which drive it is printing. Then MBR type - currently only kMBR is recognized.
kBM loading - how the MBR loades the kBM. Auto - always load it. Shift -
check for shift key down for a second and load if it is else boot the active
partition.
Partition table
PN - partition table entry number. The number of the partition.
B - Bootflag. This is the flag indicating that the parition is active.
This flag only applies to primary partitions since common MBRs only boot
primary partitions. Usualy the MBR boot the first active primary partition.
Y indicates set, N indicates clear.
N - Nameflag. This flag determins if the partitions will be shown in
the bootmanager menu. The bootflag has nothing to do with the Nameflag.
Y set - show partition, N clean - do not show.
PName - PartitionName. The 8 char name of the partition.
ID - SystemID. The id of the filesystem. ie. 7 - hpfs/ntfs, 4 fat16, 6 bigdos, 83 extfs2...
Cyl,Hd,Sc - starting location. Cylinder, head, sector.
Cyl,Hd,Sc - ending location. Cylinder, head,sector.
Sectors - Number of Sectors in partition.
Extended_bootflags. These are explained futher for the e key above and in the tech. section.
- q - quit installer
- w - write updated data to disk
Operating Systems - how to boot... from...
Footnotes:
- This OS can not be installed past 2GB because of it's loader. Realy it the problem is
usualy that a problem when calculation sector index to Cylinder, Head and Sector. The
reminder can't fit into a 16bit register. I am working on a fix to DOS >= v5.0.
Technical Information
Until I write this read the old documentation below.
OLD DOCUMENTATION
Documentation is non-existing right now but i will write on it when i have time.
But here is a short doc/summary:
- Booting as with the IBM bootmanager - DOS and OS/2 from primary parititions and OS/2 from logical partitions.
- Booting Floppy - bootmanager autodetects floppydrives.
- Hiding and unhiding bootable parititions from the menu. (Press 'H' to hide and 'U' to unhide.)
- Booting logical partition as primary partition - This is what is NEW for the kBootManager. None of the other boot mangers i have seen does this.
To archive this i created the EBF - Extended BootFlags - located at offset 430 in any partitiontable - one for each partition - with a size of 8-bits.
Currently these flags are defined:
- bit 0 - As Primary - logical parition as a primary. (WARNING! do NOT set this flag on an primary partitions it will then be removed at next bootup! WARNING!)
- bit 1 - Hide Logical - hides logical partition while booting it as a primary.
- bit 2 - Without primary partition visible (they hide) on any drive. OBSOLETE?
- bit 3 - Without primary partition visible (they still hides) on boot drive. OBSOLETE?
- bit 4 - reserved
- bit 5 - Update BPB - writes an updated bpb to bootsector - Use this if you want to boot OS/2 "As Primary" or boot NT of an extended partition.
- bit 6 - clean up - UnHides partition at cleanup (runs during initiation of the bootmanager).
- bit 7 - clean up - Hides partition at cleanup (runs during initiation of the bootmanager).
- Booting OS/2 from an extended partition as primary - On the FIRST disk ONLY.(Have not tested it on another disk - thats way.)
- Start "qinstos2" or "qinst" and configure the partition you want to install OS/2 onto.
- Set EBF to As Primary,Update BPB and Hide Logical.
- Ensure that you have the kBootManager and kMBR installed.
- Boot - insert OS/2 'installation floppy', select the partition and press 'I'(install).
- If installtion suggests anythink but "C:" run fdisk and select the partition assigned to "C:" - Do not make any changes to the partition table on the first disk.
- And installtion precedes as usual.
NOTE: Normal installation on an extended parition is not supported - use the IBM Boot Manager - during installtion only, of course.
- Booting NT from an extended partition (well it boots the NT-loader).
- Boot NT - Copy the "BOOT.INI", "NTLDR" and "NTDETECT.COM" from C:\ (or where you have put it) to the root of your NT-partition. (You may have to use "attrib" or "xcopy" to do this since files are hidden and system files)
- Boot OS/2 or DOS and run "qinstos2" or "qinst" to set up the bootmanager.
- Then enable boot from the partition by toggle "Nameflag" on.
- Give the partition a name (optional).
- Toggle EBF - extended bootflags - for the partition. Set ONLY the "UpdateBPB" flag.
- Install kBootManager and kMBR. (requered....)
- Write changes to disk.
NT is not bootable as primary - because it is checking (during installation) where the parition starts. And since a primary partition ALWAYS (except from the first one - which lays on head 1) on cylinder boundary - while a logical always starts at Head 1
(since it is a logical disk with only ONE partitions and that partition is always the first one - one head from the begining). NT sees an partitiontable error and get cold feets and would NOT install on that partitions - it also get a prety wrong picture
of the disk claiming that all space from the "as primary" partition is free. NOTE. It only act this way during SETUP.
- Booting DOS "as primary" is done the same way as OS/2.
- Other OSes:
- Linux - LILO in superblock. NOT in MBR.
- IBM Boot Manager.
- Mostly all other OSs which does not require special care.
These pages are best view with WebExplorer and Netscape for OS/2 and the other platforms.
Now also prepared for lynx.
I will welcome any suggestions and advice concerning these pages.
E-Mail: bird@solo.lhg.hib.no
Last Update: 7th December 1997
copyright ©1995-1997 knut stange osmundsen