来源:http://www.hackhp.com/post-719.html

会用电脑的人都知道在开机过程中按F8键会弹出一个开机启动菜单

在这菜单中有一个最后一次正确配置,是Windows提供的一个从问题中恢复解决某些问题的方法

例如新添加的驱动程序与硬件不符,进行了错误的配置工作而致使系统信息不正确,无法正常启动

这时用户可以通过最后一次正确配置,使系统使用上次正常启动时的备份信息,恢复到上次正常启动时的状态

简单说下最后一次正确配置的操作原理,系统在每次启动计算机后,都会自动地将该次启动后的注册表中的系统硬件信息做一个备份

将其存放在最后一次正确启动控制集中,当系统出现错误无法正常启动时,可以通过这个备份将系统恢复到上一次正确启动计算机时的状态

最后一次正确配置大部分只是还原下注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet***等的信息,不能解决由于驱动程序或文件损坏或丢失,注册表文件损坏或注册表内容错误而导致的问题等

讲下ControlSet001、ControlSet002、CurrentControlSet等几个控件组之间的作用与关系

在注册表HKEY_LOCAL_MACHINE\SYSTEM注册表项中包括用于Windows启动的三个控件组

这些控件组中包含了操作系统配置的信息,比如服务、驱动、系统控制、枚举信息等等

在初始状态下,它们一般分别是ControlSet001、ControlSet002以及CurrentControlSet

在使用最后一次正确配置之后,将产生更多的ControlSet***,但系统始终只会使用到其中三个控件组

控件组作用以及基本关系:

ControlSet001:初始状态下,系统真实的配置信息

ControlSet002:在系统正常启动后,从ControlSet001复制信息,作为最后一次正确配置

ControlSet003:第一次使用最后一次正确配置后产生,作用是代替002成为最后一次正确配置

而此时001将被002代替,成为CurrentControlSet副本的数据来源,而此时的001将被封存不被使用

ControlSet004:第二次使用最后一次正确配置后产生,作用是代替003成为最后一次正确配置

而此时002将被001代替,成为CurrentControlSet副本的数据来源,而此时的002将被封存不被使用

ControlSet***:原理同上...

CurrentControlSet:系统正常启动后的控件组副本,作为当前系统正在使用的配置信息,当数据有修改后会同步到对应的控件组

而在HKEY_LOCAL_MACHINE\SYSTEM\Select下记录着下次将要使用的配置,下面直接以数字表示对应的控件组序号

Current:表示系统在这次启动过程中使用的控件组 
Default:表示系统在下次启动时将使用的控件组,它与这次启动使用的控件组相同
Failed:表示系统在其中保存失败启动产生的数据的控件组,此控件组在用户第一次调用最近一次的正确配置选项之前并不实际存在
LastKnownGood:表示您在启动过程中选择最近一次的正确配置时系统将使用的控件组

系统默认时其顺序是:1、1、0、2(顺序参照上面的4个数据项)

第一次使用 最后一次正确配置 后:2、2、1、3

第二次使用 最后一次正确配置 后:3、3、2、4

第三次使用 最后一次正确配置 后:4、4、3、5

第四次使用 最后一次正确配置 后:5、5、4、6

依此类推...

最后一次正确配置的原理相关推荐

  1. U-Boot 图形化配置及其原理

    目录 U-Boot 图形化配置体验(如何使能dns 命令) menuconfig 图形化配置原理 make menuconfig 过程分析 Kconfig 语法简介 1.mainmenu 2.调用其他 ...

  2. Vite 基本配置及原理

    Vite 基本配置及原理 介绍 vite.config.js optimizeDeps.exclude 不同环境的 vite 配置 css配置 Vite 对 css 的处理 Vite 对 cssmod ...

  3. 海康威视网络摄像头检测红外激光点的正确配置

    使用的是海康威视的网络摄像头,其他品牌如何配置未知,但或许可以参考本文配置,毕竟成像原理和过滤结果都是一样的 因为项目需要,现需要用网络摄像头检测红外激光点,方法是在摄像头前盖上一个滤光片,过滤可见光 ...

  4. linux内核基础和配置编译原理

    2020-8-8 星期六 北京 闷热天 总结linux内核基础和配置编译原理,分两部分总结.仅作为技术积累,方便日后查阅.参考了网上的一些笔记. 第一部分:内核基础 2.14.1.内核和发行版的区别 ...

  5. redis.conf 7.0 配置和原理全解,生产王者必备

    我是 Redis, 当程序员用指令 ./redis-server /path/to/redis.conf 把我启动的时候,第一个参数必须是redis.conf 文件的路径. 这个文件很重要,就好像是你 ...

  6. kafka原理_Kafka动态配置实现原理解析

    总 第19篇 2019年 第15篇 一.问题导读Apache Kafka在全球各个领域各大公司获得广泛使用,得益于它强大的功能和不断完善的生态.其中Kafka动态配置是一个比较高频好用的功能,下面我们 ...

  7. 转转服务器无响应,【转】服务器无响应(或者本地MySQL服务器的套接字没有正确配置)的问题...

    服务器无响应(或者本地MySQL服务器的套接字没有正确配置)的问题 第一种情况:(深度清理垃圾导致host.MYD丢失) 跟很多网友一样!用wamp(或xampp.speedphp)可以很容易在自己的 ...

  8. MySQL/phpmyadmin问题解决手记:#2002 – 服务器没有响应 (或者本地 MySQL 服务器的套接字没有正确配置)

    在fedora 12下使用自己从源代码编译的mysql使用,安装过程很麻烦,但好在运行正常. 之前使用windows下mysql/phpmyadmin,到linux下,当然也少不了,整个phpmyad ...

  9. 正确配置nginx和php

    如何正确配置Nginx+PHP 假设用PHP实现了一个前端控制器,或者直白点说就是统一入口:把PHP请求都发送到同一个文件上,然后在此文件里通过解析「REQUEST_URI」实现路由. 此时很多教程会 ...

最新文章

  1. Ubuntu 14.04 改变文件或者文件夹的拥有者
  2. vue项目-封装API接口
  3. Java虚拟机5:常用JVM命令参数
  4. Zookeeper的目录结构
  5. ubuntu更换软件源方法和实验成功软件源地址
  6. 王者体验服服务器注册人数已满,王者荣耀体验服注册人数达到上限怎么回事?体验服测试最新申请方法...
  7. linux vi如何输入井号,为什么我可以使用井号(#)来破坏vim用户功能命名规则
  8. lesson 4 communication pattern
  9. 【回归预测】基于matlab离群鲁棒极限学习机(ORELM)求解回归预测问题【含Matlab源码 1441期】
  10. Dism++ 一款传说中的系统工具,使用简介
  11. mysql表analyze_MySQL ANALYZE Optimize Check Table使用详解
  12. EXCEL斜线表头三种画法
  13. 南京市专精特新中小企业申报奖励补助(另附南京专精特新申报条件、材料和申报流程)
  14. 为什么我们会有假期一结束,快乐就终止的感觉?
  15. 教育问题案例研究(张奎明)
  16. 教你如何解决Excel工具箱控件无效
  17. 博科br310交换机级联
  18. 仿QQ音乐下载歌曲头部导航
  19. Chrome——截图插件篇
  20. js控制台 console 骚操作-打印图片-自定义样式-字符画

热门文章

  1. JS验证邮箱和手机号
  2. 性价比高的真无线蓝牙耳机,四款蓝牙耳机性价比高的品牌
  3. Question2Answer的安装和语法高亮的配置
  4. SQL的all、any和some的用法
  5. ironpython是python常用的实现方式_IronPython 与C#交互
  6. linux查看文件创建人,Linux中如何查看文件的创建时间详解
  7. Linux搭建Socks5代理服务器
  8. 链路两段不同网段怎么通信_静态路由跨网段访问配置方法和命令
  9. 2011年11月11号,2345浏览器,的V1.2版本又增加 什么好玩的新功能!
  10. ES(Elasticsearch)入门学习教程