Home » Projects » DOS » MBRC »
Master Boot Record Chooser
In short this package allows you to have several boot partitions. Each boot partition has its own master boot record (MBR), its own partition table, and possibly has its own OS. There is one set (of MBR, PT, possibly OS) booted by default. Other sets are hidden from user and password protected, more over in case of reasonable settings user will find no difference with standard OS boot process on this machine and with this soft installed.
This program is not hacker/cracker thing. More over I can't imagine usage of this program in such a role. This program is used to defend some sensitive packages used on the laboratory from copying and running in environment others than laboratory. More over these packages are used during part of laboratory works and must be inaccessible during others. Because of university feature, it was designed for, it was unwise to use injectable defense and because of used hardware it was impossible to make defense based on "encryption on the fly" or based on network.
How does it works?
Usually you have on disk 1st track busy with only one sector: 1st sector is busy with a MBR and usually at least 16 sectors are free. When machine boots it loads MBR (where MBRC should sit in order to work). When MBRC loaded it waits some time for defined key to be pressed and password entered. If it is timed out MBRC loads default slot, else depending on the password MBRC chooses slot to load. Then it loads slot's MBR (consisting of code and partition table) into standard 07C0:0000h address, and stores partition table (and only partition table, not a boot code) into real partition table (i.e. into 1st sector of 0th track on 0th side). Then it passes control to the loaded code, which boots OS. So the chosen OS with chosen partition table is loaded. While the programs on the loaded OS do not monitor the code in the MBR, they will find no difference before installation of MBRC or after it.
So far MBRC allows you to load sectors other than 1st as MBR. More over before run new MBR's sector code MBRC replaces partition table of the real MBR. So making the things almost as they were before it was installed.
Installation and uninstallation
First we partitioning hard drive and install 1st OS. After it we run MBRCINST and save MBR and PT into one of the sectors you choose at 1st track (I'll call it 'slot'). Then you modify partition table (whether using MBRCINST or other tool like fdisk, diskedit, partition magic, RPM, etc.) and install other OS. And again save MBR into another slot, possibly install OS again etc. Last step is an installation of MBRC itself. See example please.
Before uninstallation copy all your data from partitions will be removed. To uninstall it is enough to overwrite MBR. In DOS and in Windows (reboot to MS-DOS mode, not to MS-DOS session window) run 'fdisk /MBR'. The currently booted OS with its set of partitions will be leaved alive, others become inaccessible. Although the data stored on these partitions would still exist and can be simply accessed by IT-professionals. So if you have sensitive data on these partitions you will need to boot in these slots and make complete format (not quick!) of these partitions/logical disks before uninstalling MBRC from MBR. Also master boot records stored as slots must be destroyed by third-party disk editor.
In this example I will make 4 slots. Physically there will be 5 disks on hard drive, and variable (from slot to slot) amount of logical disks. So the hard drive will have the next configuration: (C: (D: E: F:) C2:). So far here is a slot layout:
WARNING! These steps will destroy all data on your hard disk.
For this example I will need MBRCINST, mbrc.bin, standard Windows 98 boot diskette (with fdisk), DOS 6.22 boot diskette. If you have free space on Windows 98 boot diskette you may copy MBRCINST, mbrc.bin onto it, but leave at least 1K for mbrc.my, in other case put them onto another diskette. Do not put them on created disk C: it will become inaccessible soon.
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
You found this project useful? Give me to know, vote for it! Make a donation.
Last modified: 22:53 06.09.2014