Creating a configuration file
Creating a configuration file
As a first step we will examine the configuration file to be created - bootmgr.ini.
Notes
- A printed example of a configuration file can be found in Example as well as a file in the C:\WINDOWS\NAC directory on a computer that has FDE installed.
- The boot menu screen consists of 25 lines of text with 80 characters per line (so-called ‘80 x 25’screen display). Therefore, a menu line may have no more than 80 characters!
- The boot menu is coded using the IBM-PC-ASCII-8-Bit character set. To create the boot menu, you need an ASCI editor, not editors that use the Windows ANSI character set which would result in umlauts being incorrectly represented - editors such as “Notepad” are not suitable. Use an ASCI editor to edit/create the configuration file.
- To open the ASCI editor either select Start > Run and enter edit into the Open field, or open the application edit.com directly in the C:\WINDOWS\system32 directory.
Understanding the bootmgr.ini
To create a bootmgr.ini, it is necessary to understand exactly what is to be performed. The following steps explain in detail each entry in the bootmgr.ini file. Let us start by examining the code in the configuration file that we will adjust to our needs:
- Open the bootmgr.ini file in the C:\WINDOWS\NAC directory on your computer.
- The bootmgr.ini file contains the following key names in square brackets:
[Options] [Menuetext] [Entry1] [Entry2] [Entry3] [Entry4]
- Under each key name there are parameter names followed by ’=’ and the actual value. For example:
[Options] Timeout = 20 [Menuetext] TextLine3 = Select the operating system to boot from: ........
- Now let us examine each key name and the values that follow them:
- [Options]: The key [Options] specifies the general options valid for the boot menu. It only includes the parameter Timeout. This parameter indicates after how many seconds the default configuration is started if no key is pressed in the boot menu (Up-and-Down cursor keys, Enter key). In the following example the user has 20 seconds to select a boot entry and confirm his selections before the computer starts with the first system in the list:
[Options] Timeout = 20 ;
- [Menuetext]: The key [Menuetext] specifies the text visible after the boot options in the boot menu. This key only includes the parameter TextLine. This parameter is followed by a number indicating the position at which the text will be displayed in the boot menu. For example, TextLine3 indicates that the text will be displayed in line 3 out of 25, TextLine9 will be displayed in line 9, and so on.Here is an example of the key [Menuetext]:
[Menuetext] TextLine3 = Select the operating system to boot from: TextLine9 = To mark an entry, scroll the cursor up and down. TextLine10 = Subsequently, click the ENTER key. TextLine12 = Time in seconds, until the marked selection will be started automatically: TextLine23 = Press F3 to unlock the keyboard lock.
Partition table check
Before we move on to explain [Entry1] to [Entry4] we must first discover which partition entries are relevant:
Check the partition table of the system concerned before defining the keys [Entry1] to [Entry4] (see below). Be sure to enter the correct partition number and corresponding drive name for the values BootPartition and Menuetext, respectively! If the partition number and corresponding menu text do not match, you may boot to the wrong system.
Follow these steps to check the partition table:
- Select Start > Run and enter cmd into the Open field to open a command box.
- Enter bootcfg and press the Enter/Return key. The result should resemble the following example:
- The entry ‘Boot entry ID: =1’ is what we are looking for. This identifies a primary partition with the ID ‘1’.
- [Entry1] to [Entry4]: ¾ The key [Entry<number>] specifies the boot menu entries visible at the beginning of the boot menu. ALL four entries MUST remain in the boot configuration file (refer to Unused boot menu entries near the end of this section). You can define up to 4 boot menu entries, for different partitions, via the keys [Entry1] to [Entry4] respectively, as in the example below:
[Entry1] MenueText = Windows XP Professional - C: + D: drive BootPartition = 1; Number of the boot partition (valid values 1 - 4) BlackList1 = 0 BlackList2 = 0 BlackList3 = 0 BlackList4 = 0 BlackList5 = 0 BlackList6 = 0 BlackList7 = 0 BlackList8 = 0
Where:
- The parameter MenueText determines the text displayed in the boot menu.
- The parameter BootPartition represents the number in the partition table of the partition to be booted from. The primary partition table has the values 1 to 4.
- The parameters BlackList1 to BlackList8 represent the numbers of the hidden partitions in the selected configuration. The partitions defined by the parameter(s) Blacklist apply only to the parameter BootPartition they follow.
Blacklist can be given the following values:
Blacklist<number> | Details |
---|---|
1-4 |
Corresponding primary partitions |
5 |
First extended partition |
6, 7, etc. |
Further extended partitions |
0 |
Entry is inactive |
If the value 0 is found at a certain position, then any further BlackList values following it are ignored!
For example:
BlackList1 = 2 BlackList2 = 3 BlackList3 = 0 BlackList4 = 5 BlackList5 = 6
The values for BlackList4 and BlackList5 will be ignored because BlackList3 has the value 0. Therefore, the partitions defined by BlackList4 and BlackList5 will be visible. Example of a correct configuration:
BlackList1 = 2 BlackList2 = 3 BlackList3 = 5 BlackList4 = 6 BlackList5 = 0
The following example details a hard disk with a primary partition (C) and an extended partition (D):
… [Entry1] MenueText = Windows XP Professional - C: + D: drive BootPartition = 1 BlackList1 = 0 BlackList2 = 0 BlackList3 = 0 … [Entry2] MenueText = Windows XP Professional - only C: drive BootPartition = 1 BlackList1 = 5 BlackList2 = 0 BlackList3 = 0 …
In the example above, we see under Entry1 that the computer boots from boot partition 1 and there are no BlackList entries, therefore you can see all the hard disk partitions under Windows. Under Entry2 we see that the computer boots from the same partition as in Entry1 but the first extended partition (D) has been defined in the BlackList, therefore you can see only partition C under Windows.
Unused boot menu entries
Boot menu entries that you have no need of, must contain an empty MenueText key and the values for the parameters BootPartition, and BlackList1 to BlackList8 must be set to 0.
Here is an example of an unused entry:
[Entry4] MenueText = BootPartition = 0 BlackList1 = 0 BlackList2 = 0 BlackList3 = 0 BlackList4 = 0 BlackList5 = 0 BlackList6 = 0 BlackList7 = 0 BlackList8 = 0
- Now you are ready to move onto the next step – creating the deployment application, see Create a configurator.exe file
Bootmgr.ini example
; ; Configuration file for the Boot-Manager of ; Matrix42 FDE 12.1.883.0 ; [Options] Timeout = 20 [Menuetext] TextLine3 = Select the operating system to boot from: TextLine9 = To mark an entry, scroll the cursor up and down TextLine10 = Subsequently, click the ENTER key. TextLine12 = time in seconds, until the marked selection will be started automatically ... TextLine23 = Press F3 to unlock the keyboard lock. [Entry1] MenueText = Windows XP Professional - C: + D: drive BootPartition = 1 ; Number of the boot partition (valid values 1 - 4) BlackList1 = 0 BlackList2 = 0 BlackList3 = 0 BlackList4 = 0 BlackList5 = 0 BlackList6 = 0 BlackList7 = 0 BlackList8 = 0 [Entry2] MenueText = Windows XP Professional - only C: drive BootPartition = 1 BlackList1 = 5 ; set partition D: hidden - the first extended partition begins always with number 5 BlackList2 = 0 ; with the blacklist entries you can set up to 8 partitions hidden (invisible) BlackList3 = 0 BlackList4 = 0 BlackList5 = 0 BlackList6 = 0 BlackList7 = 0 BlackList8 = 0 [Entry3] MenueText = DOS FAT32 - Service Partition - X: BootPartition = 3 BlackList1 = 0 BlackList2 = 0 BlackList3 = 0 ; A sample of an unused entry – Menuetext is empty, all other entries must be zero [Entry4] MenueText = BootPartition = 0 BlackList1 = 0 BlackList2 = 0 BlackList3 = 0 BlackList4 = 0 BlackList5 = 0 BlackList6 = 0 BlackList7 = 0 BlackList8 = 0
- Now you are ready to move onto the next step – creating the deployment application, see Create a configurator.exe file