2012-12-03 35 views
4

我很想知道用戶登錄過程中Windows啓動的順序。有人知道嗎? 基本上,我的應用程序正在被GPO調用的登錄腳本調用。當第三方EXE被調用時,它沒有啓動。Windows啓動的順序是什麼?

然後,通過反覆試驗,我發現HKCU ... \ RunOnce鍵在登錄腳本之後執行。同樣的結果,EXE被稱爲,但未能開始。

什麼工作:更新登錄腳本在用戶的啓動文件夾中創建一個快捷方式。現在EXE按預期啓動。

我知道AutoRuns可以告訴我所有可以放置啓動項目的位置,有沒有人知道整個執行順序?我能夠發現Run和RunOnce鍵被異步調用。我可以繼續測試每個啓動項目的AutoRuns狀態,但這可能需要幾天時間。

我最感興趣的是Windows 2003 Server登錄啓動流程,但我會懷疑它與今天使用的其他Windows風格非常相似。

+0

http://technet.microsoft.com/en-us/library/bb457123.aspx查看「登錄階段」部分。 – Luke

+0

看一看到「Windows內部」由Mark E. Russinovich和大衛·所羅門。他們詳細解釋了這一點。 – cxxl

+0

是的,我有一個最新版本,但是我沒有找到它列出執行順序的頁面(而且我沒有瀏覽章節)。也許我錯過了,你會記得這一章嗎? –

回答

7

來源:Understanding the Startup Process - Windows 7 Tutorial

爲Windows 7的正常啓動順序是:

  1. 上電自檢(POST)階段
  2. 初始啓動階段
  3. Windows啓動管理器相
  4. Windows Boot Loader階段
  5. 內核加載階段
  6. 登錄階段

a high-level overview of the different paths startup can take

內核裝載階段 Windows啓動加載器是負責加載Windows內核(Ntoskrnl.exe)和HAL到內存中。內核和HAL一起初始化一組軟件 稱爲Windows執行程序的功能。 Windows執行者 處理存儲在註冊表中的配置信息 HKLM\SYSTEM\CurrentControlSet並啓動服務和驅動程序。以下各節提供了有關內核加載階段的更多詳細信息。

登錄階段

Windows子系統啓動Winlogon.exe,系統服務, 允許您登錄和註銷。 Winlogon.exe然後做的 以下:

  • 啓動服務子系統(Services.exe),也被稱爲SCM。 SCM初始化註冊表項Start 在註冊表子項 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Servicename中指定爲Autoload的服務。
  • 啓動本地安全機構(LSA)進程(Lsass.exe)。
  • 解析Ctrl鍵 + Alt鍵 + 在開始登陸提示(如果計算機是一個AD DS域的一部分)刪除組合鍵。

登錄用戶界面(LogonUI)特性和憑據提供 (其可以是標準的憑證提供者或第三方 憑據提供)收集用戶名和密碼(或其他 憑證)和通這個信息安全地到LSA進行 認證。如果用戶提供有效證書,訪問被 通過使用默認的Kerberos -V 5認證 協議或Windows NT LAN管理器(NTLM)授予。

Winlogon中初始化安全和認證功能,同時即插即用 初始化自動裝載服務和驅動程序。在用戶登錄後,使用 CurrentControlSet子項中的內容更新註冊表項LastKnownGood (位於HKLM\SYSTEM\Select)中引用的控制集。默認情況下,Winlogon中,然後開始 Userinit.exe和Windows資源管理器外殼。然後USERINIT可以啓動其他 流程,包括:

  • 組策略設置生效,適用於用戶和計算機才能生效組策略設置。
  • 啓動程序運行當不使用組策略設置覆蓋,在Windows啓動登錄腳本,啓動程序和服務 在下面的註冊表子項和文件系統文件夾中引用:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runonce 
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run 
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\Run 
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce 
    SystemDrive\Documents and Settings\All Users\Start Menu\Programs\Startup 
    SystemDrive\Documents and Settings\username\Start Menu\Programs\Startup 
    

幾個在您安裝Windows(包括Windows Defender)後,應用程序可能會默認啓動。計算機制造商或IT部門可能會配置其他啓動應用程序。

Windows啓動時是不完整的,直到用戶成功登錄到 計算機。如果在啓動期間登錄階段失敗,你有 問題,配置爲自動啓動 服務或應用。

如果您想了解更多信息,請查看來源鏈接。

+0

花了我一段時間來解決這個問題,就像我的Windows內部書一樣有趣。不幸的是,我無法找到它所說的「步驟n:執行用戶的啓動文件夾文件」這一步驟。和以前一樣,我注意到RunOnce在用戶的啓動文件夾之前運行。道歉,如果我錯過了你的答案。 –

+0

雖然有記錄,但是從給定源代碼可以100%複製/粘貼,除非版權所有者明確授予imo,否則不應將其作爲答案發布。我寧願將此作爲評論發佈到源代碼鏈接。 –

+1

來自http://sourcedaddy.com/legal/:'(...)您同意未經SourceDaddy的書面授權不得修改,複製,傳播,分發,歧視,出售,發佈或傳播任何此類材料或內容,或合適的分支機構或許可人。' –