Windows system >> Windowsの知識 >  >> Windows XPシステムチュートリアル >> XPシステムチュートリアルについて >> Windows XPの不可解なブートファイルの詳細な理解NTLDR

Windows XPの不可解なブートファイルの詳細な理解NTLDR

  

NTLDRは一般的にCドライブのルートディレクトリに格納され、隠された読み取り専用のプロパティを持つシステムファイルです。その主な責任はBoot.iniファイルを解析することです。それに対するあなたの理解がそれほど明確でないならば、それから我々はシステムブートプロセスにおけるNTLDRの役割を紹介するために例としてWindows XPを使います。

Windows XPは、ブートプロセス中にカーネルの起動前、起動、ロードの3段階を経ますが、これはWindows 9Xがブートセクターを直接読み込んでシステムを起動する方法とはまったく異なるものです。フェーズの指導プロセスは重要な役割を果たすでしょう。
<P> 1。起動前の段階

起動前の段階でコンピュータが実行する作業は次のとおりです。POSTプログラムを実行すると、POSTはシステムの全メモリと他のハードウェアデバイスのステータスを検出し、ディスクの最初の物理セクタをメモリにロードします。 、ハードディスクのマスターブートレコードをロードして実行すると、マスターブートレコードがアクティブパーティションの開始位置を見つけます。アクティブパーティションのブートセクタがロードされて実行され、最後にNTLDRファイルがブートセクタからロードされ初期化されます。
<P> 2。ブートフェーズ

ブートフェーズでは、Windows XPは初期ブートローダーフェーズ、オペレーティングシステムの選択フェーズ、ハードウェアの検出フェーズ、および構成の選択フェーズの4つの段階を経ます。

(1)ブートローダの初期段階で、NTLDRはコンピュータのマイクロプロセッサをリアルモードから32ビットフラットメモリモードに変換しますリアルモードでは、システムはMS-DOS用に640KBを予約します。メモリスペース、残りのメモリは拡張メモリと見なされ、32ビットフラットモードではシステムはすべてのメモリを使用可能なメモリとして扱い、NTLDRは適切なスモールファイルシステムドライバを実行し、NTLDRはそれぞれの用途を識別できます。 NTFSまたはFATフォーマットのファイルシステムパーティション。この時点で初期ブートローダフェーズは終了します。

(2)初期ブートローダフェーズが終了すると、オペレーティングシステムの選択フェーズに入ります複数のオペレーティングシステムがコンピュータにインストールされている場合は、NTLDRが正しいBoot.iniファイルをロードするため、起動されます。オペレーティングシステムを尋ねるメニューが表示されますNTLDRはboot.iniファイルからシステムファイルのパーティションの場所を見つけます。 NTシステムが選択されている場合、NTLDRはNTDETECT.COMファイルを実行します。それ以外の場合、NTLDRはBOOTSECT.DOSをロードしてからBOOTSECT.DOSに制御を渡します。 Boot.iniファイルにオペレーティングシステムが1つしかない場合、またはタイムアウト値が0の場合、オペレーティングシステムのメニュー画面は表示されず、Boot.iniファイルが不正または存在しない場合、NTLDRはデフォルトのシステムボリュームから起動しようとします。システム

ヒント:NTLDRが起動した後、Hiberfil.sysファイルがシステムのルートディレクトリにあり、そのファイルが有効であれば、NTLDRはHiberfil.sysファイルの情報を読んでからシステムをスリープ状態に戻します。状態、これはBoot.iniファイルを処理しません。

(3)オペレーティングシステムの選択フェーズが終了すると、ハードウェアの検出フェーズに入り、この時点でNTDETECT.COMファイルがコンピュータ内のハードウェア情報の一覧を収集してからNTLDRに返すので、NTLDRはそれらを確認します。ハードウェア情報は、レジストリ "HKEY_LOCAL_MACHINE"のHardwareにロードされます。

(4)ハードウェア検出フェーズが終了したら、構成選択フェーズに入り、ハードウェア構成リストが複数ある場合は構成ファイル選択メニューが表示され、存在する場合は表示されません。
<P> 3。カーネルフェーズのロード

カーネルフェーズのロード中に、NTLDRはNTOKRNL.EXEカーネルをロードし、次にNTLDRはハードウェア抽象化レイヤ(HAL.dll)をロードし、システムはレジストリに "HKEY_MACHINESystem"キーをロードします。この時点で、NTLDRは "HKEY_MACHINESystemselect"キーを読み取り、どのControlSetを読み込むかを決定します。読み込まれたControlSetには、デバイスのドライバと読み込まれる必要があるサービスが含まれます。次にNTLDRは、レジストリ "HKEY_LOCAL_MACHINESystemservice"の下にある開始キーの値0で基礎となるデバイスドライバをロードします。 ControlSetのイメージCurrentControlSetが読み込まれると、NTLDRはNTOSKRNL.EXEに制御を渡し、ブートプロセスは終了します。

ヒント:起動時にF8キーを押すと、起動メニューに複数の選択起動モードが表示されますが、このときNTLDRはユーザーの選択に従って起動パラメータをNTカーネルにロードします。ユーザーはBoot.iniファイルで起動パラメータを設定することもできます。
zh-CN"],null,[1],zh-TW"]]]

Copyright © Windowsの知識 All Rights Reserved