详解 Windows 8 快速启动 - Win8.1 & Win8 技术区 IT之家论坛
找回密码 注册
查看: 54757|回复: 104

[功能讲解] 详解 Windows 8 快速启动

  [复制链接]

签到天数: 780 天

[LV.10]以坛为家III

发表于 2012-3-4 20:23:05 | 显示全部楼层 |阅读模式

马上注册,欢迎加入IT之家社区大家庭。

您需要 登录 才可以下载或查看,没有帐号?注册

x
        Windows 中很少有功能会像启动功能这样引起如此程度的关注。这种情况也在情理之中,启动时间是衡量整体系统性能的一个重要指标,Windows 8意识到启动体验对于赢得用户的青睐至关重要。数据显示,57% 的台式计算机用户和 45% 的笔记本电脑用户会选择关闭他们的计算机,而不是让计算机进入睡眠模式。总体来看,半数用户会选择关闭其计算机,而不是让计算机进入睡眠模式。

4774_Windows-7-Desktop-Power-Transitions_3555D7B7.jpg
8585_Windows-7-Laptop-Power-Transitions_63AF5D64.jpg

       本质上,人们倾向于关机是由于他们希望 PC 彻底“关闭”,不再消耗任何电量,以便延长电池使用时间或降低能源消耗。休眠也是一个不错的选择,在这种模式下也不会消耗电量,因此获得了很多人的青睐。但是,这种模式显然并非适合所有人,因为许多人更希望启动计算机后迎来一个“全新的开始”,而不是继续运行上一次会话中的全部事务。在当今的 PC 上,睡眠/恢复是快速开/关转换的最佳选择,但在这种模式下仍会消耗少量电量以便保存 RAM 中的内容,虽然在经过良好优化的系统上只会消耗极少电量,但同样有可能耗尽电池电量。

       因此,Windows 8所面临的挑战就是在不需要某种特殊新硬件支持的情况下,设计出一种可满足当今 PC 所有这些需求的方式。以下是Windows 8的目标:
  • 关机时完全避免电源消耗
  • 启动后进入全新的会话
  • 按下电源开关后很快就可以使用 PC。

       Windows 7 对启动过程进行了大量改进,包括设备驱动程序的并行初始化和触发启动服务,但是很显然,想要让启动速度进一步接近于满足所有这些需求,Windows 8必须进行更多创新和简化。

       Windows 8的解决方案是一种全新的快速启动模式,该模式是传统冷启动和休眠恢复的混合体。

       在详细介绍该模式的工作方式之前,了解一些目前 Windows 7 所采用的关机和启动方式的有关信息可能会有所帮助。

关机过程包括以下操作:

  • 用户从“开始”菜单选择“关机”或按下电源按钮启动关机过程;或者应用程序通过调用ExitWindowsEx() 或 InitiateShutdown() 等 API 启动关机过程。
  • Windows 向正在运行的应用程序广播消息,通知这些应用程序保存数据和设置。应用程序也可以请求一小段额外的时间,以便完成正在处理的事务。
  • Windows 关闭每个已登录用户的用户会话。
  • Windows 向服务发送消息,通知它们已开始关机,并陆续将这些服务关闭。具有依赖关系的已订购服务将串行关闭,其他服务将并行关闭。如果某项服务未响应,则将被强制关闭。
  • Windows 向设备广播消息,通知其关闭。
  • Windows 关闭系统会话(会话 0)。
  • Windows 会将所有待处理的数据传入系统驱动器,确保数据获得完整保存。
  • Windows 通过 ACPI 接口向系统发送信号以关闭 PC。

启动过程包括以下操作:

  • 按下电源按钮后,PC 的固件启动开机自检 (POST) 并加载固件设置。检测到有效的系统磁盘后,预启动过程结束。
  • 固件读取主启动记录 (MBR),然后启动 Bootmgr.exe。Bootmgr.exe 查找并启动 Windows 启动分区上的 Windows 加载器 (Winload.exe)。
  • 系统加载启动 Windows 内核所必需的驱动程序,同时内核开始运行,将系统注册表配置单元和标记为 BOOT_START 的其他驱动程序加载到内存。
  • 内核会将控制权移交给会话管理器进程 (Smss.exe),该进程将初始化系统会话,加载并启动未标记为 BOOT_START 的设备和驱动程序。
  • Winlogon.exe 启动,显示用户登录界面,服务控制管理器启动服务,并运行所有组策略脚本。用户登录后,Windows 为该用户创建会话。
  • Explorer.exe 启动,系统创建桌面窗口管理器 (DWM) 进程,该进程会初始化桌面并进行显示。

        值得注意的关键点是:在传统关机模式中,会首先关闭所有用户会话,并在内核会话中关闭服务和设备,以便为彻底关机做准备。

        以下是 Windows 8 的主要差异:与 Windows 7 中一样会关闭用户会话,但不再关闭内核会话,而是将其休眠。完全休眠包含大量正在由应用程序使用的内存页,相比之下,会话 0 休眠数据要小得多,这将大大降低写入磁盘所需的时间。简单来说,休眠就是将系统状态和内存内容保存到磁盘上的一个文件 (hiberfil.sys) 中,然后在恢复时重新读取该文件,并将内容恢复到内存中。借助此项技术,启动时间将显著缩短,因为在大多数系统中,读取休眠文件并重新初始化驱动程序的方式将大大加快启动速度(测试的大部分系统中,速度普遍提高了 30-70%)。

8081_Comparing-boot-times-from-Windows-7-and-Windows-8_0E1B8E82.jpg

       与执行完整系统初始化相比,恢复休眠的系统会话的工作量将大大减少,这是启动速度加快的原因之一。同时,Windows 8添加的多阶段恢复功能可以并行利用多核系统的所有核心,将读取休眠文件和解压内容的工作分割处理,这是启动速度加快的另一个原因。这对于偏好休眠的用户也是一个好消息,因为该功能也会加快休眠的恢复速度。

0640_Relative-time-needed-for-different-phases-of-startup_3FCAB3EF.png

                                                                                          冷启动和快速启动各阶段的展示

        如果此刻立即访问 dir /s /ah hiberfile.sys,您将发现这是磁盘上的一个相当大的文件。休眠文件的默认大小为物理 RAM 的 75%。该文件实质上是用于保存休眠数据,会在系统进入休眠的同时写入。通常,实际使用的空间要小很多,对于快速启动,使用的空间通常为物理 RAM 的大约 10%-15%,但会根据具体的驱动器、服务或其他因素而有所不同。系统处理休眠文件的方式也与处理磁盘上其他文件的方式略有不同,例如,卷快照服务会忽略该文件(略微提升性能)。您可以从提升的命令行提示符运行 powercfg /hibernate off 来禁用休眠并回收此空间。但是请注意,如果您选择这样做,则将彻底禁用休眠(包括一些非常实用的功能,例如,快速启动和混合睡眠),混合睡眠功能允许桌面系统同时进入睡眠和休眠状态,这样如果出现电源中断的情况,您仍可从休眠状态中恢复。您也可以运行 powercfg /hibernate /size 并指定一个介于 0 到 100 之间的值,该值表示休眠文件的预留大小为物理 RAM 的百分之几,但请慎重指定该值!指定的值过小可能会导致休眠失败。通常来说,除非系统的磁盘空间极为有限,否则建议您保留默认值。

       这一全新的快速启动模式可使几乎所有系统受益,无论其安装的是旋转式硬盘驱动器 (HDD) 还是固态驱动器 (SSD) 都是如此,但对于安装高速 SSD 的新一代系统效果尤为明显。

       当然,偶尔还是需要执行彻底关机,例如,打开系统以添加或更换某些硬件时。Windows 8 在用户界面中提供了恢复到 Windows 7 关机/冷启动行为的选项。请从命令行提示符运行以下命令:shutdown /s /t 0 以调用即时完整关机。同样,通过用户界面选择重新启动也会执行完整关机,然后执行冷启动。



评分

3

查看全部评分

签到天数: 733 天

[LV.9]以坛为家II

发表于 2012-3-4 20:26:02 | 显示全部楼层
Win8的开机速度的确快不少. . .当然,有SSD的话,更快. . .

签到天数: 177 天

[LV.7]常住居民III

发表于 2012-3-4 21:10:48 | 显示全部楼层
win8的混合启动的确很给力  不过希望不会对机器造成什么影响

签到天数: 184 天

[LV.7]常住居民III

发表于 2012-3-4 21:15:09 | 显示全部楼层
难得一见有深度的帖子。发现论坛中很多人根本就不明白休眠真正含义。

签到天数: 472 天

[LV.9]以坛为家II

发表于 2012-3-4 21:45:08 | 显示全部楼层
技术文章,支持一个!

签到天数: 215 天

[LV.7]常住居民III

发表于 2012-3-4 21:49:28 | 显示全部楼层
哈哈 精品啊。支持!!

签到天数: 18 天

[LV.4]偶尔看看III

发表于 2012-3-4 21:49:35 | 显示全部楼层
总算弄懂了些 好帖子

签到天数: 306 天

[LV.8]以坛为家I

发表于 2012-3-4 22:10:57 | 显示全部楼层
本帖最后由 小鸟龟 于 2012-3-4 22:13 编辑

到此一游,谢谢二星的辛苦分享,小鸟龟又学到不少东西啦,哈哈,无限支持你和软媒 ~GO~

签到天数: 1107 天

[LV.10]以坛为家III

发表于 2012-3-4 22:20:15 | 显示全部楼层
支持一个!

签到天数: 763 天

[LV.10]以坛为家III

发表于 2012-3-4 22:30:02 | 显示全部楼层
表示在虚拟机上运行,电脑卡了半个小时……

签到天数: 362 天

[LV.8]以坛为家I

发表于 2012-3-4 22:33:06 | 显示全部楼层
这个文章表述很到位~

不过,好多字,表示看了一头雾水~看来还得好好的锻炼一下自己的耐心~

签到天数: 902 天

[LV.10]以坛为家III

发表于 2012-3-4 23:32:54 | 显示全部楼层
嗯,支持一下,我这老机器,运行win8还是明显比7快。

签到天数: 327 天

[LV.8]以坛为家I

发表于 2012-3-4 23:55:44 | 显示全部楼层
开机速度就是有所 提升 就是有点问题   就是beta鱼 出现后 要黑屏十几秒 才进入桌面 求解决办法

签到天数: 1 天

[LV.1]初来乍到

发表于 2012-3-5 00:51:07 | 显示全部楼层
技术文章,支持一个!

该用户从未签到

发表于 2012-3-5 04:58:16 | 显示全部楼层

那你就不要用关机了,不用电脑时,直接点“休眠”,这样保证你的开机飞快。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

版权所有 © 2007-2015 软媒公司

站点统计|Archiver|IT之家

返回顶部