web-dev-qa-db-ja.com

Windows 8で起動時間が速いのはなぜですか?

Windows8とWindows7を比較するベンチマークを行った人もいますが、多くの機能は改善されていませんが、一貫して、起動時間は改善されています。

Windows7と比較してWindows8の起動が速いのはなぜですか?これはサービスの問題ですか?その結果、Windows 7を微調整して同じ起動時間を設定できますか?

28
Mikhail

Windows 8の構築 ブログから:

ここで、Windows 8の主な違いは次のとおりです。Windows7と同様に、ユーザーセッションを閉じますが、カーネルセッションを閉じる代わりに、休止状態にします。アプリで使用されている多くのメモリページを含む完全な休止状態と比較すると、セッション0の休止状態データははるかに小さく、ディスクへの書き込みにかかる時間が大幅に短縮されます。休止状態に慣れていない場合は、システム状態とメモリの内容をディスク上のファイル(hiberfil.sys)に効果的に保存し、再開時にそれを読み込んで内容をメモリに復元します。この手法をブートで使用すると、ほとんどのシステムでhiberfileの読み込みとドライバーの再初期化がはるかに高速になるため、ブート時間に大きな利点があります(テストしたほとんどのシステムで30〜70%高速です)。

休止状態のシステムセッションの再開は、完全なシステム初期化を行うよりも比較的少ない作業であるため高速ですが、マルチコアシステムのすべてのコアを使用できる新しいマルチフェーズ再開機能を追加したため、高速です。並列、hiberfileからの読み取りと内容の解凍の作業を分割します。休止状態を好む人にとっては、これにより休止状態からの再開も速くなります。

Hiberfileの処理方法については、すぐに言及する価値があります。これを読んですぐにdir/s/ah hiberfile.sysを実行すると、ディスク上のかなり大きなファイルであることがわかります。 hiberfileのサイズは、デフォルトで物理RAMの75%です。このファイルは基本的に、システムが休止状態になるときに書き出される休止状態データの予約です。通常、実際に使用されるスペースははるかに少なく、高速起動の使用の場合、通常は物理的なRAMの約10〜15%ですが、ドライバー、サービス、およびその他の要因によって異なります。また、システムはハイバーファイルをディスク上の他のファイルとは少し異なる方法で処理します。たとえば、ボリュームスナップショットサービスはそれを無視します(パフォーマンス上のわずかな利点)。ハイバネーションを無効にして、昇格されたコマンドプロンプトからpowercfg/hibernateを実行することでこのスペースを再利用できます。これを行うと、高速起動やハイブリッドスリープなどのいくつかの優れた機能を含め、休止状態が完全に無効になることに注意してください。これにより、デスクトップシステムはスリープと休止状態の両方を同時に実行できるため、停電が発生した場合でも、休止状態。powercfg/ hibernate/sizeを実行し、物理RAM)のパーセンテージに0〜100の値を指定して、休止状態ファイル用に予約することもできます。ただし、指定が小さすぎる場合は注意が必要です。サイズは休止状態を引き起こす可能性がありますnは失敗します。一般に、ディスク容量が極端に限られているシステムで作業している場合を除いて、デフォルト値で有効のままにしておくことをお勧めします。

37
Elmo

簡単に言えば、私自身の言葉では、PCにはセッションがあり、セッション0はカーネルまたはコンソールセッション用に予約されており、セッション1は通常ログオンしているユーザーセッションです。彼らが行ったことは、Windowsで何年も使用してきた休止機能を利用することです。これは、すべてのセッションを休止し、セッション0(カーネル)のみを休止するように変更しました。こんなふうになります:

  • シャットダウンをクリックします
  • PCはセッション1(ユーザーセッション)を閉じ、セッション0をハードドライブのhiberfil.sysファイルに書き込みます。
  • PCを起動すると、セッション0の内容がhiberfil.sysファイルから読み取られ、メモリに戻されます。次に、新しいセッションを初期化します。

2番目の質問に答えるために、これはカーネルの変更であるため、Windows7では実行できません。

興味深いことに、コマンドプロンプトからshutdown.exeを使用して、完全な(クラシック)シャットダウンを実行できます。

shutdown /s /t 0

ハイブリッドシャットダウンを実行する場合は、次を使用できます。

 shutdown /s /hybrid /t 0
17
Taylor Gibb