The GuruBoot is designed for advanced users who know what Boot Manager is, who want to know what their Boot Manager does and who want to have full control over it.
The GuruBoot allows you:
If you are an advanced user you cannot crash your PC even if it is not booted after incorrect installation of the GuruBoot. Just because you know what "fdisk /mbr" does and you know how to saddle Disk Editor. If not - enjoy yourself without the GuruBoot.
If the boot device is on a hard disk, the BIOS loads the master boot record (MBR) - the first sector on the hard disk.
The MBR contains references to four primary partitions with one of which is active.
The master boot code in the MBR loads the boot sector of the active partition. Then the boot sector code loads the OS.
Of course you can have more then four volumes.
This is done by making one primary partition as Extended.
All additional volumes are resided in that Extended partition.
The GuruBoot stores its code only in the MBR. It recognizes what configuration you want to have by entered password. The configuration consists of the active partition and set of partitions you want to hide on every hard disk.
To install the GuruBoot you need to create configuration file.
entry " text-description " { [ password " password-string " ] disk disk-number { partition-operation partition-number ... } ... }
entry " \x1A Windows 2000".
password
and empty password value is assumed.active | Marks the partition as bootable. The entry must contain only one active partition. The active partition is meaningful only for bootable disk 0. |
enable | Default. Mark the partition as visible. |
disable | Mark the partition as hidden. |
map { { original-partition-ID, hidden-partition-ID } ... }
0x01 | FAT12 file system |
0x04 | FAT16 file system |
0x05 | Extended partition |
0x06 | FAT16 file system |
0x07 | NTFS or HPFS file system |
0x0B | FAT32 file system |
0x0C | FAT32 file system |
0x0E | FAT16 file system |
0x0F | Extended partition |
set
section is used to change default GuruBoot output on boot. This section is optional.
set { [ password_prompt " password-prompt-string " ] [ password_wrong " password-wrong-string " ] [ password_ok " password-ok-string " ] [ disk_error " disk-error-string " ] [ no_logo ] }
/*
(slash, asterisk) characters, followed by any sequence of characters (including new lines), followed by the */
characters.//
(two slashes) characters, followed by any sequence of characters. A new line terminates this form of comment.
entry "First entry is " "Windows" {...}
Special characters can be included into strings using escape sequences:
Escape Sequence | Represents |
---|---|
\a | Bell (alert) |
\b | Backspace |
\n | New line |
\r | Carriage return |
\" | Double quotation mark |
\\ | Backslash |
\xhh | ASCII character in hexadecimal notation |
"abAB"
or "AbaB"
both mean the same key sequence.
Functional and control keys can be included into password strings directly as scan codes by embracing in parentheses:
password "a(\x0F)B(\x3B\x1)"
This means the following password key sequence: 'A', 'TAB', 'B', 'F1', 'ESC'
'ENTER' scan code (\x1C) is reserved for submitting the password.
GuruBoot.exe | for DOS and Windows 95 family. |
GuruBoot32.exe | for Windows NT family. |
There is a default option:
-bn
.set
section.
CAUTION:
If you are going to change disk volume structure you must uninstall the GuruBoot first, make what you want and
then reinstall the GuruBoot with the Configuration File adapted to the new disk structure
(see Building Configuration File).
There is a sample of programs that can change disk structure:
/* This is an example of writing GuruBoot Configuration File. DO NOT TRY TO INSTALL THIS SAMPLE WITHOUT ADAPTATION. */ map { {0x05, 0x15} // These are my logical volumes {0x06, 0x16} // This is my FAT16 Windows 98 volume {0x0B, 0x1B} // This is my FAT32 Windows 2000 volume {0x07, 0x17} // This is my NTFS Windows 2000 Server volume } entry " \x1A Windows 2000" { password "Admin" disk 0 { active 1 } } entry " \x1A Windows 2000 Server" { password "(\x01)cape" // 'ESC', 'A', 'P', 'E' disk 0 { active 0 disable 1 disable 2 } disk 1 { enable 0 } } entry " \x1A Guest Windows \"Press Enter\"" { disk 0 { disable 0 disable 1 enable 3 active 2 } disk 1 { disable 0 } } set { password_wrong "S.O.S.\a\r" }The screen on PC boot:
GuruBoot 2.0 Windows 2000 Windows 2000 Server Guest Windows - "Press Enter" Enter password: