win7開機啟動項的啟動是在輸入賬戶密碼之前還是之後?


以XP時代啟動次序來說(截止到Win8.1為止基本相似):

1. 引導扇區啟動ntldr或者其它啟動程序,用戶基本無法控制這一步。

2. 啟動程序載入帶有SERVICE_BOOT_START選項的驅動,用戶可以加入此類程序,內核態、需要認證。

3. 啟動程序載入NTOSKRNL.EXE(內核)並轉移控制權,創建基本進程,用戶無法控制這一步。

4. 內核載入剩餘帶有SERVICE_AUTO_START的驅動,以及部分SERVICE_DEMAND_START驅動,用戶可以加入此類程序,內核態,需要認證。

5. System進程載入用戶態服務,就是控制面板-管理工具-服務里的內容,用戶可控。

6. 登陸界面開始顯示,等待用戶登陸。

---------------以上是登錄前---------------

7. 登陸後,會啟動註冊表裡的run, run once等鍵值的啟動項,用戶可控。

8. 啟動桌面進程,以及桌面進程初始化時附帶的相關依賴進程,用戶可控。特別說明,這個地方很多人不知道,在註冊表裡,設置外殼程序的地方,過去部分病毒就在這裡。

9. 顯示桌面,用戶基本不可控,但用戶在這裡可以替換到外殼程序。

10. 載入開始-啟動里的內容。

啟動完成


這些確實是登陸後啟動的:

如果Service也算你說的所謂「啟動項」的話,那麼這些是登陸前就啟動的。比如下圖的IIS的服務,即使不登錄只要開機就運行。


你打開任務管理器看進程,後面用戶是system的就是之前啟動的,後面是administrator或者當前用戶名的的就是輸入密碼後啟動的。

有人說這也不是絕對,登陸後也可以啟動system的進程,但大部分的情況是這樣


狹義的啟動項一般指註冊表中的run項和啟動目錄中的程序,這些都是由explorer這個程序啟動的,而explorer是當前用戶的shell程序,當然是在登陸後才有的。 答案是輸密碼後。


啟動項這個描述就太廣泛了,誰知道你指哪種啟動項?打開autoruns,搞清楚裡面的每種啟動方式,這個問題就迎刃而解了。


上面 「北極」大牛說的很詳細了,我想補充一點(以下補充針對XP系統和之前的NT內核Windows系統):

SERVICE_BOOT_START:此時文件系統驅動程序和文件系統識別器驅動都未載入,所以未必能訪問所謂」盤「,此時僅有」分區「;

SERVICE_AUTO_START:此時系統處於等待用戶登錄狀態,系統只有System用戶;


請問 能否再系統只設置一個用戶賬戶的情況下設置 在登錄輸入密碼之前載入一些啟動項服務(我指的是俠義的,也即用戶啟動目錄以及一些自啟軟體)


推薦閱讀:

如何評價上海交通大學陳海波教授加入華為?
使用 Mac 系統時有哪些優雅快速的操作習慣?
魅族 MX2 的 Flyme 2.0 是個什麼系統?
Tails 系統用起來方便嗎?使用體驗如何?
如何讓自己的 Windows 系統更安全?

TAG:操作系統 | 計算機 | Windows7 | 開機啟動 |