- Boot Options Identifiers
- Boot Option Inheritance
- GUIDs and Identifiers
- Overview of Boot Options in Windows
- Boot Loading Architecture
- Boot Configuration Data
- Editing Boot Options
- What are Boot Advanced Options in MSCONFIG in Windows 10?
- Boot Advanced Options in MSCONFIG
- Number of Processors
- PCI Lock
- Debug
- Hardware Interrupts explained; Show Advanced Boot Options or Menu in Windows 10
- Hardware Interrupts In Windows 10
- Advanced Boot Options in Windows 10
- Show Boot Menu in Windows 10
Boot Options Identifiers
Many of the bcdedit commands require identifiers. An identifier uniquely identifies entries contained in the boot setting store.
Use bcdedit /enum to display the identifers.
Several entries can be identified by well-known identifiers. If an entry has a well-known identifier, bcdedit displays it in output unless the /v command-line switch is used. For more information, run «bcdedit /? /v».
The common well-known identifiers are often used:
Identifier | Description |
---|---|
Specifies a virtual identifier that corresponds to the boot manager default application entry. | |
Specifies a virtual identifier that corresponds to the operating system boot application entry for the operating system that is currently running. | |
Specifies the Windows boot manager application entry. |
These common well-known identifiers can be inherited by any boot application entry:
Identifier | Description |
---|---|
Contains the collection of global settings that should be inherited by all boot application entries. | |
Contains the collection of global settings that should be inherited by all boot loader application entries. |
These well-known identifiers are also available for use:
Identifier | Description |
---|---|
Contains the global debugger settings that can be inherited by any boot application entry. | |
Contains the hypervisor settings that can be inherited by any OS loader entry. | |
Contains the global Emergency Management Services settings that can be inherited by any boot application entry. | |
Contains the collection of global settings that should be inherited by all Windows resume from hibernation application entries. | |
Contains the global RAM defect list that can be inherited by any boot application entry. | |
Specifies the memory diagnostic application entry. | |
Contains the additional options required by the boot manager for RAM disk devices. |
These well-known identifiers are used with earlier versions of Windows:
Identifier | Description |
---|---|
Specifies a OS loader (Ntldr) that can be used to start operating systems earlier than Windows Vista. | |
Specifies the firmware boot manager entry, specifically on systems that implement the Extensible Firmware Interface (EFI) specification. |
Boot Option Inheritance
Some boot settings can be inherited. This allows for groups of settings to be used in different boot scenarios, for example when resuming from hibernation.
Use the bcdedit command /enum option to display information about any identifier.
In the example below, displaying information on the
Use the bcdedit /enum command to see which settings are inherited.
In the example below,
Use the inherit option with bcdedit /enum to display information about inheritance.
Use the bcdedit /enum all command to see all of the settings.
GUIDs and Identifiers
An identifier uses a globally unique identifier, or GUID. A GUID has the following format, where each «x» represents a hexadecimal digit. Because working with GUIDs is error prone, it is recommended to use the english identifier name, such as
The position of the dashes (-) and the braces at the beginning and end of the GUID are required.
Use bcdedit /enum /v to display GUIDs associated with identifiers.
Overview of Boot Options in Windows
The Windows boot loader architecture includes a firmware-independent boot configuration and storage system called Boot Configuration Data (BCD) and a boot option editing tool, BCDEdit (BCDEdit.exe). During development, you can use BCDEdit to configure boot options for debugging, testing, and troubleshooting your driver on computers running Windows 10, Windows 8, Windows Server 2012, Windows 7, and Windows Server 2008.
Administrative privileges are required to use BCDEdit to modify BCD. Changing some boot entry options using BCDEdit could render your computer inoperable. As an alternative, use the System Configuration utility (MSConfig.exe) to change boot settings.
Boot Loading Architecture
Windows includes boot loader components that are designed to load Windows quickly and securely. The previous Windows NT boot loader, ntldr, is replaced by three components:
Windows Boot Manager (Bootmgr.exe)
Windows operating system loader (Winload.exe)
Windows resume loader (Winresume.exe)
In this configuration, the Windows Boot Manager is generic and unaware of the specific requirements for each operating system while the system-specific boot loaders are optimized for the system that they load.
When a computer with multiple boot entries includes at least one entry for Windows, the Windows Boot Manager, which resides in the root directory, starts the system and interacts with the user. It displays the boot menu, loads the selected system-specific boot loader, and passes the boot parameters to the boot loader.
The boot loaders reside in the root directory of each Windows partition. Once selected, the boot loaders take over the boot process and load the operating system in accordance with the selected boot parameters.
Boot Configuration Data
Windows boot options are stored in the Boot Configuration Data (BCD) store on BIOS-based and EFI-based computers.
BCD provides a common, firmware-independent boot option interface for all computers running Windows 10, Windows 8, Windows Server 2012, Windows 7, and Windows Server 2008. It is more secure than previous boot option storage configurations, because it permits secure lockdown of the BCD store and lets Administrators assign rights for managing boot options. BCD is available at run time and during all phases of setup. You can even call BCD during power state transitions and use it to define the boot process for resuming after hibernation.
You can manage BCD remotely and manage BCD when the system boots from media other than the media on which the BCD store resides. This feature is extremely important for debugging and troubleshooting, especially when a BCD store must be restored while running Startup Repair from a DVD, from USB-based storage media, or even remotely.
The BCD store, with its familiar object-and-element architecture, uses GUIDs and names such as «Default» to precisely identify boot-related applications.
BCD includes its own set of boot options. For more information about these boot options, see BCD Boot Options Reference.
Editing Boot Options
To edit boot options in Windows, use BCDEdit (BCDEdit.exe), a tool included in Windows.
To use BCDEdit, you must be a member of the Administrators group on the computer.
You can also use the System Configuration utility (MSConfig.exe) to change boot settings.
To change boot options programmatically in Windows, use the Windows Management Instrument (WMI) interface to boot options. This BCD WMI interface is the best method to programmatically change the boot options. For information about the BCD WMI interface, see Boot Configuration Data WMI Provider in the Windows SDK documentation.
What are Boot Advanced Options in MSCONFIG in Windows 10?
MSConfig or System Configuration Utility is an inbuilt tool in Windows that allows you to manage startup items, boot options, Services & boot in Safe Mode, etc. Under the boot section, there is an Advanced Options button. This section gives you access to configure options such as the number of processors, the amount of memory, debug, and Global Debug settings. Keep in mind that these options are last-resort choices to diagnose your systems for advanced users. In this post, we will get into details about these Boot Advanced Options in MSCONFIG in Windows 10.
Boot Advanced Options in MSCONFIG
There is one thing you need to understand clearly. The advanced boot section of System Configuration Utility or MSCONFIG is built for troubleshooting. However, the confusion occurs when the end-user finds this option. We strongly urge you to keep these settings at their default values and not change them.
Number of Processors
Open Task Manager and switch to the Performance tab. Take a note of the number of CPU cores and memory.
Now, type MSCONFIG in the Run prompt, and press the Enter key. Switch to Boot section, and click on the Advanced options button
Check the number of processors box and select anything less than the maximum available in the dropdown. The maximum figure you see will be the same as what you saw in the Task Manager.
Reboot, and then check how many processors, and amount of memory is available for the OS.
I am sure you will experience a slower performance compared to what you had when computer boots under default configuration. While I am not sure why these settings are there, but I am guessing it helps developers to figure out how their application performs under low hardware configuration without changing the actual hardware configuration. The same can apply for Windows.
Now let’s take a look at the other sections:
PCI Lock
PCI is a hardware bus to add components to a computer. The BIOS or OS can determine the resource requirement and automatically assign it, so there is no conflict. In earlier days, it was useful as Windows used to take this over.
From what I have seen in forums, it is best to keep it unchecked, unless you are having issues with connected hardware. Windows can take this over, but we haven’t head about except that when checked, it results in a BSOD.
If you have checked PCI Lock, and are getting a BSOD, make sure to boot into safe mode, and then disable the PCI lock using msconfig. You may need a bootable USB device to get into the Advanced Boot configuration.
Debug
It is a developer option where to debug Kernel, debugging tools are connected to the OS. Again it is a non-consumer option and should be left as is. When you check Debug, you can configure the rest of the options, including Debug port, Channel, USB target name, and Baud rate. When using this, you will have to disable or suspend BitLocker and Secure Boot on the computer.
There is a lot that can be done using the bcdedit tool in Windows 10, which also offers /dbgsettings as one of the options. You can use it to disable driver signature, enable or disable data execution, and so on.
You will also see other settings for Maximum memory, Global debug settings, etc.
There is one thing clear here. These are not consumer options, and there is no way you can use them to speed up computers. These Advanced options are debugging tools, and they have been there as long as I can remember. There are many such tools in Windows, and unless you are into hardware debugging, do not use it.
I hope the post was easy to understand, and you were able to figure out why you, as a consumer, should not be using the Boot Advanced Options in MSCONFIG in Windows 10.
Hardware Interrupts explained; Show Advanced Boot Options or Menu in Windows 10
A video at the MSDN blog shows Windows booting real fast – under seven seconds. The computer used was an Ultrabook, a product of Intel that offers super-fast computing with the latest technologies embedded inside. The problem with Windows 10/8 is that it boots really fast. For a moment, let us forget Ultrabook and consider a current-day PC. These types of PCs too, come with the latest technologies and reduce the time taken for instructions to be carried out by operating systems.
Hardware Interrupts In Windows 10
The question arises, if it boots faster, how can it be a problem in Windows? The problem is not faster booting but the side effects: Reduction of F2 and F8 time-periods to almost negligible intervals. This, in other words, means that you will not get sufficient time to press F8 for invoking the boot menu. That would be a problem – because you might want to start Windows in Safe Mode – for troubleshooting, system restores or any other purpose.
According to the blog posted on MSDN, the interval wherein Windows waits for the F8 interrupt is reduced to less than 200 milliseconds and thus, the chances of it detecting the F8 interrupt is extremely low.
Earlier, it was the hardware interrupts – pressing DEL for BIOS, F8 or F2 for boot menu – that helped computers take the necessary action. Now it is the software that boots so fast – making the use of advanced technologies – that your chances of making use of hardware interrupts are very low.
With that in mind, another question pops up. If we cannot use F8 to bring out the Windows Boot Menu or even pressing DEL to reach BIOS, how can we make the necessary changes to the BIOS or boot into the Safe Mode for troubleshooting and other purposes?
Advanced Boot Options in Windows 10
Instead of using hardware interrupts to bring forward the boot menu, Windows 10 and Windows 8 offer you three software based methods that present the boot menu. The boot menu contains options for:
- Loading another operating system
- Troubleshooting
- Turn off the PC
- Use a network device for booting
When you click on Troubleshoot, you are given further options:
- Use System Restore
- Use System Imaging
- BIOS Access
- Automatic Repair option – helps you diagnose and fix problems automatically
- Command Prompt and
- Windows Startup Settings – helps you change the startup settings (enable/disable debugging mode, enable/disable boot logging, enable safe mode, etc. options are present under this group)
Show Boot Menu in Windows 10
As said earlier, there are three methods to show the boot menu in Windows 10/8.
- Via Settings
- Using the Shift+Restart keys
- Using CMD.
The first method is to get it through Settings.
In Windows 8, the PC Settings charm is available under Settings. Open the PC Settings and in the dialog box, click on General and select Restart Now under Advanced Startup.
In Windows 10, open Settings > Update and Security > Recovery.
Press the Restart now button.
The second method is easier. Press SHIFT key when you click on Restart. This will shut down the computer and restart it to present you with the Boot Menu.
The third method is a bit tough to remember. You have to open the command prompt and type the following:
All of the above-mentioned methods will show the boot menu in Windows 10/8. However, there is no way to show the boot menu during the first startup. Putting it the other way, if you have to use the options in the boot menu, you have to start and boot the computer and then select restart using one of the above methods. You can, however, try your luck by pressing the F8 key and holding it down as soon as you turn on the computer. If Windows detects it, you may save some steps.