複雑なエンジニアリングを隠したWindows 95の高速再起動トリック


アプリケーションとソフトウェア
2026-01-26T13:04:03+01:00

最終更新日: 2026年01月26日
  • Windows 95 には、再起動中に Shift キーを押すことでクイック再起動を実行できる隠し機能が含まれていました。
  • システムは完全にシャットダウンせず、16 ビット カーネルと 32 ビット メモリ マネージャーをシャットダウンし、制御を win.com に戻しました。
  • win.com ファイルは、複雑で脆弱なプロセスを使用して、環境とメモリを再構築し、保護モードで Windows を再起動しようとしました。
  • このアイデアは、不安定性と潜在的な障害のリスクはあるものの、現代の Windows の高速スタートアップの概念を予期したものです。

発売から30年経ち、 Windows 95は議論を呼び続けているタスクバーとスタートメニューの他に、このシステムには、内部で何が起こっているのかよく知らずに多くの人が使っていたトリックが隠されていました。 クイックリスタート 再起動時に Shift キーを押すだけで有効になる秘密。

彼を知っている人たちは、メッセージが現れるのを見た。Windowsが再起動するまでお待ちください「」や「Windowsを再起動しています」といったメッセージが表示され、数秒でデスクトップが再び使える状態になり、完全なシャットダウンとコールドブートといった一連の手順を踏む必要もありませんでした。長年、この話は謎めいた逸話として残っていましたが、Microsoftのベテランエンジニア、レイモンド・チェン氏が詳細を解説しました。 その過程で実際に何が起こっていたのか彼の技術ブログ「The Old New Thing」.

Windows 95の隠された高速再起動

このトリックは、文書化が不十分であるにもかかわらず、実行するのが簡単だった。 Shiftキーを押し続けるだけで十分でした スタート メニューから再起動オプションを選択すると、システム全体をシャットダウンして再起動する代わりに、Windows は代替パスを実行し、「Windows が再起動するまでお待ちください」というメッセージを表示して、ユーザーを通常よりもはるかに早くデスクトップに戻しました。

機械式ハードドライブが主流で、再起動に数分かかることもあった90年代には、この高速パフォーマンスは、特にヨーロッパのオフィスや家庭では歓迎すべき助けとなりました。 これらのマシンはDOSアプリケーションと16ビットソフトウェアと共存していた。多くのユーザーは、これは科学的な根拠のない単純なショートカットだと信じていましたが、実際には、かなり洗練された内部シーケンスが隠されていました。

レイモンド・チェンは、鍵は 古いExitWindows関数に関連付けられた特別なフラグこれは16ビット環境から継承されたものです。システムがShiftキーによる再起動を検出すると、コンピューターの完全な再起動ではなく、より限定的な操作、つまりWindowsを終了して再起動する操作を実行しましたが、ハードウェアをリセットしませんでした。

このショートカットを有効にすると、Windowsは非常に特殊な一連の手順を開始しました。まず、 16ビットカーネルそして止まった 32ビット仮想メモリマネージャー その後、CPUはx86プロセッサの最も基本的な動作状態である「リアルモード」に戻ります。この時点で、制御はブートファイルに戻ります。 win.com これは、次のように尋ねるのと同等の内部信号です。「Windows をもう一度保護モードで起動してもらえますか?」

その時点から、win.comが引き継ぎ、「Windowsが再起動しています」というテキストを表示し、システムが再起動したかのように環境を再構築しようとしました。 ゼロから立ち上げたばかりだただし、標準的な電源のオフとオンのサイクル全体を実行する必要はありません。

高速再起動中に win.com は具体的に何をしていたのでしょうか?

ファイル win.comはスタートアップの中心的な存在だった Windows 95の.comプログラムで、アセンブリ言語で記述されており、DOS上でグラフィカル環境を起動する役割を担っていました。高速再起動という観点から見ると、その役割はさらに重要でした。なぜなら、実際には完全にシャットダウンしていないシステムからクリーンブートをシミュレートする必要があったからです。

チェン氏によると、CPUがリアルモードに戻ると、win.comは特別な命令を受け取り、 いくつかのグローバル変数をリセットする そして、コマンドラインパラメータを元の値に戻す処理を、まるでプログラムが初めて実行されるかのように実行しました。これは、すべてがアセンブリ言語でプログラムされており、今日の抽象化レイヤーがなかったため、複雑な内部の「配管」作業でした。

win.comなどの.com拡張子のファイルはデフォルトでロードされ、 利用可能なすべての従来型メモリしかし、この特定のケースでは、プログラムは自身のイメージ以外の残りのメモリをほぼすべて解放し、Windowsを保護モードで再起動できる大きな連続ブロックを残すことを目指していました。この操作は、高速再起動がスムーズに機能するために不可欠でした。

問題は、セッション中に別の バックグラウンドプログラム win.com が割り当てたメモリの一部を使用しました。ソフトウェア、ドライバ、またはユーティリティがその領域を占有していた場合、コンベンショナルメモリは利用可能なままでした。 断片化された 元の環境を再構築する試みはもはや実行不可能でした。このような場合、クイックリブートは設計どおりに完了できませんでした。

メモリが十分に整理されていれば、win.comは、次のコードセクションに直接ジャンプします。 Windowsを保護モードで再起動します仮想マシンマネージャと32ビットレイヤーを再作成しました。ユーザーはすぐにデスクトップを確認し、プロセスの大部分を節約できたという印象を受けるでしょう。そして、まさにその通りになりました。

独創的な解決策ですが、脆弱であり、多少危険を伴います。

この仕組みにより、起動時間を数秒、あるいは数分も短縮できましたが、それには代償もありました。マイクロソフト自身も、これが回避策であることを認識していたのです。 独創的だが繊細これは、下位互換性とメモリの大量使用がデザインの優雅さよりも重視された時代の典型的な例です。

チェン氏は、クイック リブートは、完全に安全な大量使用機能としてではなく、システム機能として意図されていたと回想しています。 非公式に搾取された通常の起動チェックの一部を省略すると、何かが正常に再起動されなかった場合に、システムが予期しない状態になる可能性があります。

特に不運な状況では、win.comファイルが 再起動ループ Windows 95 の完全な再インストールが必要になるほど不安定な状態でシステムを停止または放置することは困難でした。一部のユーザーからは、連続して数回のクイック再起動を実行した後にクラッシュやエラーが発生したという報告がありましたが、これは特定のドライバーが完全に一貫した状態に戻らなかったためと考えられます。

この時代のもう一つの顕著な特徴は、メモリがどのように圧縮されたかということである。win.com自身のコードの一部が 彼らはそれをグローバル変数のスペースとして再利用したエントリポイントの最初のバイトは一度だけ実行され、このフラグメントが二度と使用されないことを前提として、データの保存に再利用されていました。高速再起動のコンテキストでは、実行フローはそのポイントに戻らないため、開発者はこのような「トリック」を、明らかな悪影響なしに実行できました。

今日の観点から見ると、それは無謀な策略のように見えるかもしれないが、Windows 95の全盛期には、 従来のメモリの限界 16ビット環境と32ビット環境の共存が不可欠でした。こうした内部ルートが一般に広く公開されなかったのも不思議ではありません。

Windows 95から今日の高速スタートアップまで

この迅速なリセットの背後にある哲学は消え去っていません。実際、 マイクロソフトの現在のシステムの大部分Windows 10や11など クイックスタートを組み込んでいる まったく同じではありませんが、同様の目的を追求しています。 ユーザーがコンピュータの電源を入れるたびに完全ブートが実行されることを回避します。.

システムの最新バージョンでは、この手法は異なります。win.comのようなプログラムやCPUのリアルモードに頼るのではなく、カーネルとメインドライバが これらは休止ファイルに保存されますデバイスの電源を入れると、 システムはすべてを最初から再構築するのではなく、保存された状態を復元します。初期化手順の大部分を省略します。

スペインやヨーロッパの平均的なユーザーにとって、これはコンピュータの電源がオフの状態から数秒で起動することを意味します。これは、Windows 95が低速なハードドライブと互換性パッチだらけのアーキテクチャと共存していた時代には考えられなかったことです。しかし、Shiftキーを使ったトリックと同様に、 すべてが利点というわけではありません。.

現代のクイックスタート 特定のコントローラーまたは外部デバイスがシャットダウンと休止状態の中間状態で正常に動作しない場合、競合が発生する可能性があります。; 例えば、 マイクロソフトはシャットダウンを妨げるWindows 11のバグを修正した上級ユーザーの中には、安定性の問題が発生したときにこの機能を無効にしたり、重要なシステムやハードウェアの変更を適用する必要があるときに強制的に完全シャットダウンしたりすることを選択する人もいます。

いずれにせよ、レイモンド・チェンによるWindows 95の高速再起動の説明は、特定のアイデアがどのように 数十年にわたって耐えてきた Windowsの進化において。90年代にExitWindowsフラグ、win.com、コンベンショナルメモリで実現されていたものが、今日ではハイバネーションファイルと64ビットカーネルで実現されていますが、 目標は変わりません。安定性を過度に損なうことなく待ち時間を短縮することです。.

それ Shift キーを押したまま再起動するという古いトリックは、Windows 95 時代を完璧に表しています。互換性、パフォーマンス、技術的制限のバランスに基づいて設計されたシステムで、リセット メカニズムをシンプルなインターフェイスの下に隠すことができます。 洗練されていると同時に驚くほど脆弱である.