Modify the Vista boot menu with BCDEdit

  
                  

In previous NT-based Windows systems, Windows used Ntldr as the Boot Loader to boot the system. The so-called boot loader, which refers to a small program executed before the operating system kernel runs, the system uses it to initialize the hardware device. Establish a map of memory space, etc., set the system's hardware and software environment to a suitable state, and prepare the correct environment for the final call to the operating system kernel. -- During the boot process, Ntldr uses the Boot.ini file to determine which operating system options to display during the boot/boot process. Our setup of boot options can be done by modifying the contents of the boot.ini file.

In Windows Vista, Microsoft introduced a new boot loader architecture, Windows Boot Manager (Bootmgr.exe). Unlike Ntldr, which relies heavily on hardware, the new architecture in Windows Vista enables complete hardware independence and seamless integration with multiple operating systems, making the Windows Vista boot/boot process faster and more secure. At the same time, the content managed by Boot.ini in the previous Windows system is handed over to the new Boot Configuration Data (BCD: boot setting data). Of course, a new boot option editing tool, BCDEdit (BCDEdit.exe), is also provided to manage. Start the setup.

BCDEdit : Windows Vista Boot Settings Editing Tool

In a traditional BIOS-based computer, if you only install Windows Vista, you will find Boot in addition to the very early Windows Vista test version. The .ini file has completely disappeared from the system; if Windows Vista and the previous WIndows system such as Windows XP are installed on the system, the Boot.ini file can still be found, but this file only works for those systems, not Windows. Vista's startup has any effect.

In a computer based on EFI (Extensible Firmware Interface: Extensible Firmware Interface, which will become more and more PCs with this interface in the future), the Boot.ini file will no longer exist, based on EFI-based In the system, boot options are stored in the memory of the motherboard. At this point you need to modify the boot options, either through tools that can read and write NVRAM, such as NvrBoot, or use BCDEdit mentioned above.

It can be seen that in Windows Vista, it is impossible to manage the boot option by using a simple text editor to modify the Boot.ini as in Windows XP. Settings can be modified to use BCDEdit, which is a much more complicated command format.

In addition, Microsoft also provides a BCD class that can be called through WMI (Windows Management Instrumentation: Windows Management Instrumentation) in Windows Vista, which can be used to modify BCD data programmatically. However, I believe it is great. For most users, this is even more impossible.

Starting BCDEdit

It should be noted that BCDEdit is not a program running under the graphical interface, but a command line tool. The file (Bcdedit.exe) is located in the "WindowsSystem32" directory. .

To perform BCDEdit, you should first enter the command line window and move the user to the administrator.

Introduction to BCDEdit Commands


With the command line tool Bcdedit, we can add, delete and modify objects in BCD (Boot Configuration Data). In BCD, each object has a unique GUID (Globally Unique Identifier), such as each hard disk in the system, and the GUID (Globally Unique Identifier) ​​of each partition is different. Www.45it.com (computer software and hardware application network)

In BCD, the hard disk or partition GUID can be divided into the following categories:

{legacy}: refers to the existence of the previous generation Windows system Such as Windows XP hard disk or partition;

{default}: The default operating system is the hard disk or partition;

{current} : current hard disk or partition;

{c34b751a- Ff09-11d9-9e6e-0030482375e7} : A GUID similar to this format refers to other hard disks or partitions with an operating system installed.

(Note: This is just an example. The specific number will change according to the hard disk or partition parameters, but it will be similar to the {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} format).

BCDEDIT Command

bcdedit /? : Display Command Help

bcdedit.exe /? CREATESTORE : Display details of the command parameter "CREATESTORE", - of course, "CREATESTORE It is also just an example. You can use a similar format to view the specific description of any other available parameters in use.

bcdedit or bcdedit /enum all : Display the current startup settings data of Windows Vista system. At this time, all the hard disks or partitions with operating system installed in the system will display the corresponding GUID identifier, such as {xxxxxxxx-xxxx- Xxxx-xxxx-xxxxxxxxxxxx}

Using BCDEdit Backup and Recovery Boot Options

Before modifying Windows Vista boot options, it is best to back them up in case of malfunction or other failures. Unable to start.

bcdedit /export "D:BCD BackupBcd Backup": Back up the startup settings to the "BCD Backup" directory of the D drive;

bcdedit /import "D:BCD BackupBcd Backup" : Before recovery Backup the startup option in the "BCD Backup" directory of the D drive.

In the command line window, go to the system directory such as "C:/windows/system32" and enter "bcdedit".

Using BCDEdit to modify the boot menu option

As a good operating habit, before making any changes to the Windows Vista boot options, you must first back up the boot options in the BCD. The commands on the previous page have been introduced and will not be described here. Secondly, use "bcdedit" or "bcdedit /enum all" to view the correct GUID ID of the hard disk or partition in the system and record it. After all, BCDEdit is just a command-line tool. When we need to manually input a long string like "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}", it is easy to make mistakes, which often causes Windows Vista to fail to start. .

The following is a detailed description of the common command format for modifying boot options using BCDEdit:

bcdedit /set {legacy} Description "Windows XP Professional SP2" : Modify the display of the previous generation operating system in the boot menu Content, for example, we can also modify it to "Vista World-specific XP SP2" and the like. Note that the quotes in the command cannot be omitted;

bcdedit /set {current} description "Windows Vista Build 5270 x86" : Modify the display of the operating system on the boot disk or partition in the boot menu. Note that the operating system on the current partition may be Windows Vista or other systems. Of course, the quotes in the command cannot be omitted;

bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} description "Windows Vista Build 5270 x64": Modify the display content of the system installed on other hard disks or partitions in the boot menu. When using this command, be sure to enter the GUID input of the hard disk/partition correctly. The corresponding GUID can be passed "bcdedit". Or view the " bcdedit /enum all " command.

bcdedit /default {current} : Set the operating system in the currently booting hard disk/partition to the default booting system;

bcdedit /default {5189b25c-5558-4bf2-bca4-289b11bd29e2} : Set the system on the specified GUID to be the default startup system;

bcdedit /default {legacy} : Set the previous generation Windows system Windows XP is the default startup system;

bcdedit /displayorder : Set the display order of the items in the enable menu, such as: bcdedit.exe /displayorder {legacy} {current} will display Windows XP first, then display the default boot system such as Windows Vista;

bcdedit /timeout 15 : Change the default boot menu display time from 30 seconds to 15 seconds. Of course, you can change this time to any value you want.

Use BCDEdit to repair hard disk/partition structure error

In the process of modifying the boot option, such as adding or deleting a hard disk/partition, the hard disk may be caused by inadvertent operation. The confusion of the partition structure, in addition to the backup method before the recovery modification, you can also use BCDEdit to try to fix it first.

The specific method is as follows:

1. X:>X:?oot ixntfs.exe -lh -all : At this time, "X:" refers to the hard disk where the boot directory "boot" is located. /partition;

2. bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} device partition=X: : Set the partition of the specified GUID as the boot partition. Note that the GUI of "X:" here must be different from the specified value. At the same time, after running the command, you must run the following osdevice command;

3. bcdedit /set {5189b25c-5558-4bf2-bca4 -289b11bd29e2} osdevice partition=X: : Set the partition of the specified GUID as the boot partition. Note that this command must be paired with the above device command, and the GUI of "X:" must be different from the specified value.

Copyright © Windows knowledge All Rights Reserved