为什么Windows 8的启动时间更快?[关闭]


28

少数人已经完成了将Windows 8与Windows 7进行比较的基准测试。许多功能没有改进,但始终如一地,启动时间更好。

为什么Windows 8与Windows 7相比启动更快?这是服务问题吗,因此,我们可以调整Windows 7使其具有相同的启动时间吗?


1
成员“用户”下面的回答是主要原因,但是,是的,他们确实从W7中削减了Windows加载的服务,这也有所帮助。
摩押人2012年

1
更少的时间来安装应用程序了……; P
n611x007 2013年

Answers:


37

来自Building Windows 8博客:

现在,这是Windows 8的主要区别:与Windows 7一样,我们关闭用户会话,但是我们没有关闭内核会话,而是使其休眠。与完全休眠(包括许多应用程序正在使用的内存页)相比,会话0休眠数据要小得多,从而大大减少了写入磁盘的时间。如果您不熟悉休眠,我们将有效地将系统状态和内存内容保存到磁盘上的文件(hiberfil.sys)中,然后在恢复时将其读回并将内容还原到内存中。在启动时使用该技术可以为我们带来显着的启动时间优势,因为在大多数系统上读取hiberfile并重新初始化驱动程序要快得多(在我们测试过的大多数系统上,速度要快30-70%)。

之所以更快,是因为恢复休眠的系统会话比进行完整的系统初始化要少,但是它也更快,因为我们增加了新的多阶段恢复功能,该功能可以使用多核系统中的所有内核。并行,以拆分从hiberfile读取和解压缩内容的工作。对于那些喜欢冬眠的人来说,这也会使冬眠的恢复速度更快。

可能值得一提的是快速提及我们如何处理hiberfile的内容-如果您阅读此书并立即去做dir / s / ah hiberfile.sys,您会发现它是磁盘上的一个很大的文件。默认情况下,hiberfile的大小为物理RAM的75%。该文件实质上是对休眠数据的保留,它将在系统进入休眠状态时被写出。通常实际使用的空间要少得多,在我们快速启动的情况下,通常约占物理RAM的10-15%,但会根据驱动程序,服务和其他因素而有所不同。系统对hiberfile的处理方式也与磁盘上的其他文件略有不同,例如,Volume Snapshot服务将忽略它(这是一个很小的性能优势。)您可以通过从提升的命令提示符下运行powercfg / hibernate off来禁用休眠和回收该空间。但是请注意,如果执行此操作,它将完全禁用休眠功能,其中包括一些不错的功能,例如快速启动以及混合睡眠,使桌面系统可以同时进行睡眠和休眠,因此,即使发生断电,您仍然可以恢复从休眠状态开始 您也可以运行powercfg / hibernate / size并为要为hiberfile保留的物理RAM的百分比指定一个介于0到100之间的值-但要小心!指定的大小太小会导致休眠失败。通常,除非您在磁盘空间极其有限的系统上工作,否则建议将其保留为默认值。它会完全禁用休眠功能,其中包括一些不错的功能,例如快速启动以及混合睡眠,它使台式机系统可以同时进行睡眠和休眠,因此,即使发生断电,您仍然可以从休眠状态中恢复。您也可以运行powercfg / hibernate / size并为要为hiberfile保留的物理RAM的百分比指定一个介于0到100之间的值-但要小心!指定的大小太小会导致休眠失败。通常,除非您在磁盘空间极为有限的系统上工作,否则建议将其保留为默认值。它会完全禁用休眠功能,其中包括一些不错的功能,例如快速启动以及混合睡眠,它使台式机系统可以同时进行睡眠和休眠,因此,即使发生断电,您仍然可以从休眠状态中恢复。您也可以运行powercfg / hibernate / size并为要为hiberfile保留的物理RAM的百分比指定一个介于0到100之间的值-但要小心!指定的大小太小会导致休眠失败。通常,除非您在磁盘空间极为有限的系统上工作,否则建议将其保留为默认值。这样一来,台式机系统就可以同时进行睡眠和休眠,因此,如果发生断电,您仍然可以从休眠状态恢复。您也可以运行powercfg / hibernate / size并为要为hiberfile保留的物理RAM的百分比指定一个介于0到100之间的值-但要小心!指定的大小太小会导致休眠失败。通常,除非您在磁盘空间极为有限的系统上工作,否则建议将其保留为默认值。这样一来,台式机系统就可以同时进行睡眠和休眠,因此,如果发生断电,您仍然可以从休眠状态恢复。您也可以运行powercfg / hibernate / size并为要为hiberfile保留的物理RAM的百分比指定一个介于0到100之间的值-但要小心!指定的大小太小会导致休眠失败。通常,除非您在磁盘空间极其有限的系统上工作,否则建议将其保留为默认值。


内核休眠不是全部。我不知道它们有什么改变,但是即使没有内核休眠,Win8退出笔记本电脑的启动也比Win7快得多(而且我有一个SSD和一个双核CPU)... 某些组件必须进行修改才能制成发生这种情况,但我不知道是什么。
Mehrdad 2013年

2
与其复制并粘贴答案,不如对文章进行总结然后再引用它会更好。引用文章很好,但不要大量。
James Mertz 2013年

2
该图像进行了总结。
Elmo 2013年

17

简短的答案,用我自己的话来说,就是您的PC有会话,会话0为内核或控制台会话保留,会话1通常是已登录的用户会话。他们所做的就是采用我们在Windows中拥有多年的休眠功能,该功能休眠所有会话,并且他们已对其进行了修改,因此仅休眠了会话0(内核)。它是这样的:

  • 您单击关闭
  • 您的电脑关闭会话1(您的用户会话),并将会话0写入硬盘驱动器上的hiberfil.sys文件。
  • 当您启动PC时,它将从hiberfil.sys文件中读取会话0的内容,并将其分页回内存。然后,它将为您初始化一个新会话。

要回答您的第二个问题,由于这是对内核的修改,因此无法在Windows 7上完成。

出于兴趣,您可以通过在命令提示符下使用shutdown.exe进行完全(经典)关闭。

shutdown /s /t 0

如果要进行混合关机,可以使用:

 shutdown /s /hybrid /t 0
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.