此Blog是為了個人學習Windows 過程中,所做的資料收集,大部份內容為轉載或剪貼得來,倘若您認為「本網站」內容、圖案、超連結等侵害他人之著作權或不願意被連結,請留言通知站長,站長看到留言後會立即移除。

2010年12月17日 星期五

Windows PE 開機流程


Windows PE 的開機流程與一般的 Windows 很接近,若能瞭解開機流程,對自訂 Windows PE 會有相當幫助;以下簡述 Windows PE 開機流程:

  1. 電腦的 BIOS 載入特定媒體的開機磁區,並將控制權交給 Setupldr(一般的 Windows 是交給 ntldr)。

  2. Setupldr 載入並執行 Ntdetect.com,後者會擷取基本的系統設定資訊,並將這些資訊儲存在 HKLM\HARDWARE\DESCRIPTION。若以唯讀媒體開機,Windows PE 會將登錄資料庫的 Hive 存於記憶體,以便應用程式寫入。

  3. 接著 Setupldr 會以 Winpeoem.sif 載入適當的硬體抽象層(HAL)、系統登錄保存檔以及必要的開機驅動程式。載入完成後即準備環境執行核心,也就是 Ntoskrnl.exe。

  4. 執行 Ntoskrnl.exe 並完成環境安裝之後,再將控制權交給「工作階段管理員」(Session Manager Subsystem,SMSS)。

  5. SMSS 會載入其餘的登錄資料庫,並設定 Win32 子系統(Win32k.sys)執行環境及其各個處理程序。SMSS 再載入 Winlogon 處理程序以建立使用者工作階段,然後啟動服務和其他不重要裝置的驅動程式及 LSASS(Local Security Authority Subsystem Service)。

  6. 接著 Windows PE 會執行 Winpeshl.exe,這個程式會執行「命令提示字元」(Cmd.exe)和 Startnet.cmd(這相當於 Windows PE 的 Autoexec.bat)。預設會以 factory –winpe 作為 Startnet.cmd 的參數,而這會根據以下順序執行 Winbom.ini 裡的區段:

    • [WinPE.Net]

    • [DiskConfig]

    • [OEMRunOnce]

    • [OEMRun]

    • [WinPE](除了 Restart 之外)

    • [UpdateSystem]

    • 位於 [WinPE] 的 Restart

  7. 執行完 Startnet.cmd 之後,系統會停在命令提示字元,Windows PE 的開機程序也告完成。

Startnet.cmd 的預設參數為 factory –winpe,您也可以新增其他參數來自訂 Windows PE 開機程序。若要結束 Windows PE,只要在命令提示字元執行 exit 命令即可。

沒有留言:

張貼留言

追蹤者