技术员博客      html  css  js  c++  java
  • Win7启动全过程

    开机时间优化,相信这是我们这些使用电脑用户的一个永远的优化话题,一般我们都是使用像360一键优化之类的工具软件来禁用开机启动项从而达到开机时间的缩短的效果,但是从根本上来说,这样只是针对Windows启动的最后一步进行处理,要真正理解开机优化机制,还是得从对系统的启动过程的理解入手。

    首先,我们要知道在电脑开机的时候,到底Win7都干了哪些事?只有知道这些,我们才能对症下药,真正的做到开机的极速优化。

    下面,就看一下华丽的Windows7的完整开机加载过程吧。


    1、开启电源

    当你打开电源后,系统将进行加电自检(POST)。如果通过,之后会由机器的核心部分---BIOS会读取主引导记录也就是MBR,MBR作为启动设备的硬盘的首扇区。

    ——这时,Windows接管启动过程。接下来:

    MBR读取引导扇区-活动分区(也就是我们所说的主分区)的第一扇区。此扇区包含用来启动Windows启动管理器(Windows Boot Manager)程序Bootmgr exe的代码。(WBM与Bootmgr为系统引导启动所必须的,如果缺失或是损坏,系统无法启动)

    Ps.这里插一句,估计装系统的童鞋会有人见过这样的情况,在笔记本无法进入系统时,左上角会显示Bootmgr is Missing或者是MBR is Missing,这就是引导丢失的提示,这时候得尝试启动项的修复工具了。



    2、启动菜单生成——

    Windows启动管理器读取“启动配置数据存储(BCD)中的信息。这个BCD文件里面是什么东西呢,其实,它里面存放着安装在你的电脑上的所有操作系统的配置信息。这时会根据BCD的引导记录生成启动菜单供用户选择。



    3、当您在启动菜单中选择下列动作时:

    <1> 如果你选择的是Windows 7/Vista,WBM运行系统更目录System32文件夹中的Winload.exe也就是系统加载器。

    <2> 如果你是由休眠状态恢复Windows 7/Vista,那么WBM将调出Winresume.exe并恢复您先前的使用环境。

    <3> 如果你选择的是早期的Windows版本,WBM将定位系统安装所在的卷,并且调用早期系统加载器也就是Ntldr.exe,并且生成一个由boot.ini内容决定的启动菜单供用户选择。


    4、核心文件加载至登录画面——

    选择Win7启动项以后,紧接着Win7启动并加载其核心文件 Ntoskrnl.exe和hal.dll——从注册表中读取设置并加载驱动程序。接下来将运行Windows会话管理器(smss.exe)并且启动 Windows启动程序(Wininit exe),本地安全验证(Lsass.exe)与服务(services.exe)进程,完成后,你就进入熟悉的系统登录界面了。


    5、登陆后的开机加载项目——

    当您输入您的用户名和密码,登陆进入您的系统那一刻,硬盘嘎嘣嘎嘣的响声(此处不包括SSD固态硬盘)和硬盘灯的不停闪烁告诉你:系统正在加载当前登陆账户的个人专用设置文件,正在加载当前电脑和当前用户所指定的一些开机启动项目内的软件。这是众多软件(包括QQ、飞信、管家卫士以及木马病毒等)最喜欢的地方,他们要靠这儿来常驻您的桌面右下角和内存之中,方便进行正当的和不正当的一些工作(指的是某些流氓和恶意软件)。当这些加载完毕,您才算真正进入了您的Windows桌面,日常娱乐和工作生活就开始了。


    OK,Windows 7的启动过程,就是这么回事,当然,这个开机过程绝大部分适用于目前已知的Win95之后的Windows操作系统。

    好吧,到这里看起来漫长的Windows系统起床洗漱过程就结束了,其实啊,计算机在后台做了这么多繁琐的事情,开机花个三四十秒已经很不错的了,童鞋们不要苛求太多哈,至于我之前体验的SSD固态硬盘的超级本的十秒开机和一秒唤醒,已经让传统的机械硬盘的启动速度相当羞愧了,这两者当然没法比较了。


    在前面3个步骤里面,可优化的余地是非常的小的(可以禁用BIOS对USB接口的读取,即禁用USB接口,开机时间缩短五秒左右),无非是缩减启动菜单的等待时间或者彻底关闭启动菜单等等(当然,只有一个系统是没有启动项菜单选择缓冲时间的),真正的优化,在于第4个和第5个步骤。第四个步骤里面,还牵扯到了系统字体加载和服务加载,这是个占用开机时间的重头戏,对于系统的服务加载项,可以直接运行(Win+R)系统自带的msconfig来进行管理这些加载项,当然,使用360一键优化之类的软件操作的更便捷些,可以彻底的删除这些加载项。对多余字体的读取的删除这个部分,其实在以前装系统的日志里面,给大家推荐的 魔方3 就有这个清除不必要字体的优化功能。

    至于网上说的那些通过修改注册表来缩短开机时间,个人并不推荐,而且,在你对注册表毫无了解的情况下依照他给的键值进行修改也只是依葫芦画瓢,原理你是弄不懂的,还有可能把系统整崩溃,那就得不偿失了(要是你愿意备份还原的话,尝试尝试也无所谓)

    好吧,就写这些吧,还是发现我的博客依旧的长啊,不过我觉得都是些很有用的东西,这篇博客是受昨天给超级本双硬盘装完系统十多秒开机的启发,结合个人知识和网络上的专业术语,把这个过程分享给大家,谢谢捧场,欢迎交流~


    13/03/24 9:14于机房

    欢迎访问我的博客:http://151451325.blog.163.com/http://blog.sina.com.cn/tonyliuchen

  • 相关阅读:
    hdu 3746(KMP) 最小循环节
    Telnet 网络设备分页 规格严格
    MVC自定义路由的配置,必须把自己的路由写在前面
    static class 静态类
    中国的医药广告也太没创造性了
    mysql怎么创建,删除,查看索引?
    Linux下游戏大作赏析(三)
    C++标准库和标准模板库
    加密软件PGP的使用
    应届毕业生求职,注意事项
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/2978301.html
Copyright © 2011-2022 技术员博客