Principle address: http://www.xue5.com/itedu/200802/105902.html
1. First, let's talk about the relationship between several ControlSet control groups.
In the RegistryHKLM \ system Note table items include three control groups for windows Startup (an additional backup control group may exist). In the initial state, they are ControlSet001, ControlSet002, and CurrentControlSet. These control groups contain Operation System configuration information, such as service, driver, system control, and enumeration information.
By default, ControlSet001 is the real configuration information of the system, but to avoid serial number confusion, windows will copy a copy from ControlSet001 at startup as the current configuration information of the operating system, that is, CurrentControlSet. All the modifications made to the computer configuration are directly written to CurrentControlSet. During the restart process, windows overwrites ControlSet001 with the content of CurrentControlSet to ensure that the two control groups are consistent.
Each time the operating system starts successfully (A Successful Logon), it copies data in CurrentControlSet and ControlSet001 to ControlSet002. In this way, ControlSet002 becomes the "configuration information for the last successful startup" (familiar with it? This option is available in the menu that is triggered by pressing F8 before windows is started ). Therefore, we generally only have these three control groups in the system registry, and the serial numbers are current, 001, and 002.. (Hereinafter referred to)
However, this Order and number are not static, and the change happens after "Last correct configuration" is used. At this time, the system regards 002 as the actual configuration information of the system, and 001, the problematic control group, will be backed up and stored. The system will copy the copy from 002 to current at startup, after the startup is successful, the 002 and current information will be copied to a new control group as the new "Last correct configuration", that is, 003. At this time, the system has four control groups: current, 002, 003, and 001 of the backup. Here 001 is a problematic group, the 001 content will not be used unless we want to restore the system to the state before "Last correct configuration.
HKLM \ systemThe registry key also hasSelectWhich has several integer keys:
The "Current" Data project indicates the control group used by Windows XP during this startup.
The "Default" Data project indicates the control group that Windows XP will use at the next startup. It is the same as the control group used for this startup.
The "LastKnownGood" Data project indicates the control group that Windows XP uses when you select "Last correct configuration" during startup.
The "Failed" data item indicates the control group in which Windows XP fails to save the data generated by startup. This control group does not exist until the user calls the "Last correct configuration" option for the first time.
Corresponding to the above, the default system order is: 001, 001, 002, none;
After "lastknowngood" is used for the first time: 002, 002, 003, and 001
After "lastknowngood" is used for the second time: 003, 003, 004, 002 (the previous backup 001 is overwritten by 002, And the 001 Group disappears)
After "lastknowngood" is used for the third time: 004, 004, 001, 003 (002 is overwritten by 003, and 001 is available when 004 generates a new "lastknowngood, so 001 reborn, 002 disappears)
So far, the fourth time is 1, 1, 2, 4, and the fifth time is 2, 2, 3, 1 ............