特別号2:Windows起動の仕組み

あなたはWindowsの起動の仕組みをご存知ですか?
Windowsは、完全に独立したOSではありません。いくつかのプロセスがあり、実行していきます。
ここでは、Windowsの起動の仕組みを、少し詳しく見てみましょう。

注意:ここで紹介される機種は、PC-9821シリーズ、Windows 95,98を前提にしています。
また、インスタントアプリケーションの起動の仕組みは紹介しません。


目次

  1. パソコンの電源オン時の起動
  2. Windows最小部の起動(MS-DOS)
  3. Windows本体の起動
  4. WindowsからGUIへ移動時の起動プロセス

  i. パソコンの電源オン時の起動

電源を入れてからの起動プロセスです。

  1. 電源を入れます。入れなきゃ始まらない(^^;
  2. BIOSがプログラムの初期化を始めます。
  3. ハードウェアの自己診断を行います。
  4. キーチェックを行います。HELPキーが押されていたら、システムセットアップメニューを表示します。他にも、いろいろあります。
  5. メモリチェックを行います。
    1MB以内メモリ(コンベンショナルメモリ)、拡張メモリの順です。
  6. 起動できるディスクの状態(正確には、マスターブートレコード<MBR>)をチェックします。
    フロッピーディスク、内蔵IDE、外付けHDDの順です。
    順番は、drvasn98で変更できます。
  7. 複数のHDDや、2つ以上のパーティションがあり、BOOTが2つ以上可能になっている場合は、固定ディスク起動メニュープログラムを表示します。
    ただし、自動起動ドライブを選択している場合は表示されません。
  8. MBRを実行させます。
    MS-DOSやWindowsでは、ドライブ内にある、io.sysを探し、起動させます。
    なお、他のOSについては割愛させていただきます。

 ii. Windows最小部の起動(MS-DOS)

無事io.sysが見つかったら、MS-DOSの起動です。

  1. Windows95の場合は「Windows 95を起動しています...」を表示し、
    Windows98の場合は何も出ずに起動します。
  2. 起動ロゴ(logo.sys)を表示します。なければio.sysに埋め込まれたファイルを表示します。
    なお、msdos.sysの、[options]セクションにlogo=0という記述がある場合、ロゴを表示しません。
  3. レジストリの一部を読み込みます。異常の場合は、メッセージを表示します。
  4. config.sysにあるドライバや設定を実行します。
    記述しなくても必ず読み込まれるファイルは、次の通りです。
    • himem.sys
    • ifshelp.sys
    • setver.exe
  5. autoexec.batを実行します。
  6. autoexec.batにwinの記述がなければ、win.comを実行します。
    あっても実行されます。

iii. Windows本体の起動

ここまで行くと、やっと本体の起動が始まります。が、まだMS-DOSモードです。

  1. レジストリや、system.iniを参照して、仮想デバイスドライバ(.vxd)を読み込んでいきます。
  2. vmm32.vxdを読み込みます。ない場合や、壊れている場合は起動を強制中止します。
  3. winstart.batを実行します。
  4. ディスプレイモードを変更します。

iv. WindowsからGUIへ以降時の起動プロセス

画面が切り替わり、Windowsを開始する準備をします。

  1. レジストリや、win.iniを参照して、デスクトップを描画します。
  2. 32ビットのデバイスドライバ(.drv)を読み込んでいきます。
  3. Windowsに必要な、カーネル・GDI・ユーザー・シェルを読み込みます。
    これに該当するファイル:
    • krnl386.exe、kernel32.dll
    • gdi.exe、gdi32.dll
    • user.exe、user32.dll
    • shell32.dll(?)、shell.dll(?)
  4. レジストリの所定位置に書かれているプログラムをサービスとして起動します。
  5. system.iniのbootセクションに書かれている、shell=に記述したプログラムを起動します。通常はExplorer.exeです。
  6. レジストリの所定位置に書かれているプログラムを起動します。
  7. win.iniの[boot]セクションに書かれているプログラムを起動します。
  8. スタートアップフォルダ内のショートカット(プログラム含む)を起動します。

| 前に見たページへ | トップページへ |

Copyright (C) MSR