Windows 95のインストール過程で3つのオペレーティングシステムが使われた理由
(devblogs.microsoft.com)- Twitterで「なぜWindows 95のインストール過程では、MS-DOS、Windows 3.1、そしてWindows 95という3つのオペレーティングシステムが使われるのか?」という質問を受けた
- MS-DOSから直接Windows 95へ移行できなかった理由を説明
- Windows 95は次の3つの出発点からインストールできた:
- MS-DOSから開始
- Windows 3.1から開始
- Windows 95上で再インストール(破損したシステムの復旧目的)
- 出発点ごとに別々のインストーラーを書く方法もあったが、その場合はコードを3回書かなければならないという問題があった
1つのインストーラーに統一する
- すべての出発点で使えるよう、インストーラーを1つだけ作ることに決定
- そのため、インストーラーはどのプラットフォームでも動作する必要があった
- インストーラーの種類
- MS-DOSアプリ: すべてのプラットフォームで動作可能だが、テキストモードのインストール画面になるためユーザー体験に乏しい
- 16ビットGUIプログラム: 簡易版Windows 3.1を導入してGUI環境を提供し、MS-DOS上でも動作可能
- 32ビットGUIプログラム: より良いユーザー体験を提供するが、MS-DOSやWindows 3.1では実行できない
- 妥協点: 16ビットGUIインストーラー
- MS-DOS用インストーラーが簡易版Windows 3.1をインストールしたあと、16ビットGUIインストーラーを実行するように設計された。
- この小さなWindows 3.1は最小限の機能だけを含み、インストールディスクのサイズ削減に役立った。
3つのインストーラーが連携する流れ
-
1つ目のインストーラー(MS-DOSアプリ)
- MS-DOSから開始する場合、簡易版Windows 3.1をインストールしてそこへブートする。
-
2つ目のインストーラー(16ビットWindowsアプリ)
- 簡易版Windows 3.1、Windows 3.1、またはWindows 95上で実行可能。
- ユーザーからインストールオプション情報を収集し、ハードウェア検出を行う。
- Windows 95のファイルをコピーし、既存の設定を新しいシステムへ移行する。
-
3つ目のインストーラー(32ビットWindowsアプリ)
- Windows 95上で実行され、プリンターのインストールのような最後の設定作業を行う。
インストール過程の要約
- MS-DOSから開始:
- 簡易版Windows 3.1をインストール → ブート後に16ビットGUIインストーラーを実行
- Windows 3.1またはWindows 95から開始:
- 16ビットGUIインストーラーで情報収集とハードウェア検出 → Windows 95ファイルのコピーと設定移行
- Windows 95の起動後:
- 32ビットインストーラーで最終設定作業
結論
- Windows 95のインストールは、実際には3つのインストーラーが連携した構造になっていた
- この方式のおかげでインストールコードを1つにまとめられ、あらゆるインストールシナリオをカバーできた
4件のコメント
ほかはともかく、MSのWIN32互換性の維持のような点は本当に見習うべきだと思います。もちろん Windows ME みたいなキメラも……ありはしましたが(笑)
おお〜面白い事実ですね(笑)
ああ……友だちの家に集まって、Windows 95 の起動画面を見てみんなで叫んだ記憶が……;;;
Hacker Newsの意見