PR

Windows 9xのブート最終段階

 ブート・プロセスの制御がブート・セクターのIPLに受け渡されると,ここから先はOS固有の起動方法になる。まずはWindows 9xの場合を紹介しよう。

 Windows 9xのブート・プロセスでは,制御を渡されたIPLが同一パーティション内の特定ファイルを読み込む。Windows 9xでは「IO.SYS」を読み込むことに決まっているため,このタイプのIPLを「DOS IPL」と呼ぶ。

 DOS IPLによりIO.SYSが実行されると,IO.SYSは「MSDOS.SYS」をロードした後,CONFIG.SYSやAUTOEXEC.BATがルートに存在すればそれらを読み込む。さらに,デバイス・ドライバなどの初期化が行われる。Windows 9xは,CONFIG.SYSやAUTOEXEC.BATがなくても起動するが,16ビット・アプリケーションとの互換性を確保するために利用されることがある。その後,Windowsディレクトリへ移行してレジストリを参照後,ドライバや「WIN.COM」,各種DLLなど必要なシステム・ファイルが順次読み込まれ,Windows 9xが起動する(図5)。

図5●Windows 9xのブート・シーケンス
図5●Windows 9xのブート・シーケンス

実はCドライブ以外からWin9xの起動は可能

 ここで,Windows 9xの起動途中で読み込むMSDOS.SYSの最初の記述を見てみると,次のように記述されている。

 [Paths]

 WinDir=c:\windows

 WinBootDir=c:\windows

 HostWinBootDrv=c

 MSDOS.SYSの[Paths]セクションには,起動すべきWindowsディレクトリ(OSのシステム・ファイルが格納されているディレクトリ)が記されている。「WinBootDir=c:\windows」という記述から,Cドライブのwindowsディレクトリから起動することが分かる。

 ただし,Windowsのインストール後にMSDOS.SYSの[Paths]セクションを「WinBootDir=d:\windows」のように書き換えた場合,コンピュータはDドライブのwindowsフォルダからシステム・ファイルを読み出して起動プロセスを進める。つまり,Windows 9xでも2000/XPと同じように,Cドライブ以外から起動できるのである。

 もちろん,IPLが読み込むIO.SYSやWindowsの起動場所が記録されるMSDOS.SYSなど,最低限のシステム・ファイルはCドライブのルートに置く必要がある。しかし,Windowsディレクトリを他のドライブに移してもいいし,フォルダ名を「windows」以外の名前に変えても構わない。