win8极速启动的秘密
在win8消费者预览版发布会上,微软现场展示一部台式机的开机速度,达到了惊人的8秒!8秒,我们很多手机的开机速度都无法达到,win8是如何做到的呢?
传统开机流程
对于win7系统,传统的按下电源按论文联盟http://钮开机流程是这样的:
第一步:查找硬盘主引导记录(mbr),接着mbr读取硬盘分区表(dpt)。
第二步:找到活动主分区,读取活动主分区的分区引导记录,接着根据引导记录查找该分区根目录下的bootmgr。
第三步:bootmgr读取\boot\bcd文件并根据bcd记录列出操作系统启动菜单,接着加载winload.exe,然后通过其加载win7内核。
第四步:加载必需的硬件和服务,进入win7桌面。
极速开机的背后推手—混合启动技术
从上面的启动流程我们可以知道,第一步和第二步是操作系统启动之前的硬件读取,这和操作系统版本没有关系,对于第三步,win8启动内核和win7大致相同。因此win8极速开机的秘密就在于启动的第四步(这也是整个开机过程中最耗费时间的步骤),这就是win8新增的混合启动技术(hybrid boot)。
win8引入的混合启动技术,是通过睡眠技术扩展而实现。传统的休眠是指系统自动将内存中的数据全部转存为休眠文件(即c:\ hiberfil.sys)。接着会切断所有设备的供电进入休眠状态。Www.133229.CoM恢复操作时系统读取上次转存到c:\hiberfil.sys文件中的数据,读取完毕即恢复原来的操作状态(图1)。
win8的睡眠则做了进一步的改进,当我们在win8选择睡眠关机时(单击关机菜单电源按钮即可),win8会将系统大部分的核心系统,如驱动、系统服务等压缩写入內存,然后通过处理器将用户数据写入休眠文件hiberfil.sys中(也就是用户目前工作状态,如开着的word文档),将metro程序写入交换文件中(即win8新增的c:\ swapfile.sys,因为metro程序没有关闭按钮,切换到其他程序时metro程序会自动挂起到后台运行)。当数据全部写入完成后,windows通知固件进行关机。这样当我们下次按下电源键时(前提是插座电源没有断开,电脑仍然在通电状态下),系统会直接通过唤醒系统內存来启动上次写入的数据,再读取休眠文件和交换文件,然后将上次关机前的状态呈现在你的面前,这就是win8的混合启动技
术(图2)。