WINDOWS打開及關(guān)機(jī)內(nèi)幕
作者:佚名 來(lái)源:本站 時(shí)間:2018-06-24 點(diǎn)擊:104次
WINDOWS的啟動(dòng)流程
第一:NTLDR的作用過(guò)程
1.首先機(jī)器POST----BIOS----MBR----BOOT SECTOR----os的引導(dǎo)程序 WINDOWS的引導(dǎo)程序是NTLDR注意這個(gè)文件其實(shí)是個(gè)可執(zhí)行文件,這里機(jī)器主要做的工作是:CPU從16的實(shí)模式到32的保護(hù)模式,啟用CPU的頁(yè)機(jī)制,如果磁盤是SCSI,則加載Ntbootdd.sys來(lái)訪問(wèn)磁盤,否則用INT13來(lái)訪問(wèn)。這里假如機(jī)器沒(méi)找到Ntldr這個(gè)文件,在FAT文件系統(tǒng)下,機(jī)器顯示"BOOT: Couldn't find NTLDRP",而在NTFS下顯示"NTLDR is missing"(這個(gè)沒(méi)有具體實(shí)驗(yàn)過(guò),是書上這么說(shuō)的)
2.NTLDR裝載后就先CLS屏幕,首先檢查根目錄下有沒(méi)有合法的Hiberfil.sys,這個(gè)文件的作用是機(jī)器休眠的時(shí)候把內(nèi)存中的所有信息保存到hiberfil.sys這個(gè)文件中,這個(gè)文件的大小始終和系統(tǒng)的物理內(nèi)存大小一致。如果希望回收這個(gè)空間,請(qǐng)打開“控制面板”下的“電源管理”,選擇“休眠”選項(xiàng)卡,去掉“啟用休眠”這一復(fù)選項(xiàng)的選中標(biāo)記,系統(tǒng)會(huì)自動(dòng)消除hiberfil.sys文件。如果有就快速啟動(dòng)到上次機(jī)器休眠的狀態(tài)。
3.接著處理Boot.ini,如果有多個(gè)的啟動(dòng)項(xiàng),那就顯示啟動(dòng)菜單(如果只有一個(gè)默認(rèn)的項(xiàng),那就是我們立即就可以看到WINDOWS的啟動(dòng)狀態(tài)條了) 處理BOOT.ini WINDOWS自帶的一個(gè)工具Bootcfg.exe,可以用這個(gè)工具修改,當(dāng)然也可以自己用記事本打開boot.ini來(lái)修改,boot.ini的一些參數(shù)會(huì)保存在注冊(cè)表HKLM\System\CurrentControlSet\Control\SystemStartOptions下。關(guān)于boot.ini里面的參數(shù)大家可以去查閱資料。
4.下面就是NTLDR調(diào)用執(zhí)行Ntdetect.com,作用是檢測(cè)的一些基本設(shè)備和配置信息 信息包括:CMOS里的時(shí)間日期信息,總線類型,磁盤的大小,類型,數(shù)目,輸入設(shè)備的信息,并口的信息,顯卡的類型,這些信息收集后保存在HKLM\HARDWARE\DESCRIPTION下面。接著就2000版本下顯示“Starting Windows”進(jìn)程條,而在xp,2003下是顯示W(wǎng)INDOWS的LOGO
5.在顯示進(jìn)程條的過(guò)程中,機(jī)器實(shí)際上是在加載系統(tǒng)相應(yīng)的內(nèi)核和HAL文件,一般是Ntoskrnl.exe 和Hal.dll這2個(gè)文件,如果這個(gè)過(guò)程中發(fā)現(xiàn)找不到文件,則會(huì)顯示"Windows could not start because the following file was missing or corrupt"這個(gè)信息。然后讀取注冊(cè)表SYSTEM HIVE(Windows\System32\Config\System),來(lái)決定需要加載的設(shè)備驅(qū)動(dòng),這些設(shè)備驅(qū)動(dòng)都在SERVICE_BOOT_START (0)里面
6.然后加載Ntoskrnl.exe,這樣NTLDR的使命就結(jié)束了。
第二 Ntoskrnl.exe的作用過(guò)程這里主要分2個(gè)階段來(lái)初始化內(nèi)核,最后創(chuàng)建the Session Manager subsystem (Smss)進(jìn)程。
第三 Smss的作用過(guò)程
1.創(chuàng)建LPC port對(duì)象,為MSDOS定義符號(hào)連接,例如COM1、LPT1,假如安裝有Terminal Services,則創(chuàng)建\Sessions目錄
2.運(yùn)行注冊(cè)表里HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\BootExecute定義的程序,一般默認(rèn)的是運(yùn)行Autochk
3.執(zhí)行HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations表鍵中的延遲,刪除,改名操作
4.加載HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs 初始化paging files和注冊(cè)表
5.創(chuàng)建系統(tǒng)環(huán)境變量,這些定義在HKLM\System\CurrentControlSet\Session Manager\Environment
6.加載和初始化WIN32子系統(tǒng)的內(nèi)核模塊Win32k.sys
7. 創(chuàng)建WIN32子系統(tǒng)服務(wù)器進(jìn)程,包括Csrss, 創(chuàng)建Winlogon進(jìn)程。 這里的2個(gè)進(jìn)程其中一個(gè)出現(xiàn)異常,那系統(tǒng)都會(huì)中斷
第四 Winlogon Csrss過(guò)程
1.加載GINA模塊,默認(rèn)為Msgina (\Windows\System32\Msgina.dll)
2.啟動(dòng)服務(wù)進(jìn)程Windows\System32\Services.exe
3.啟動(dòng)Lsass(the local secyrity authentication subsystem)進(jìn)程
4.Gina開始處理交互式登陸,登陸驗(yàn)證成功后,Gina就運(yùn)行HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Userinit,Userinit.exe執(zhí)行的順序?yàn)椋菏紫忍幚鞨KCU\Software\Policies\Microsoft\Windows\System\Scripts 和HKLM\Software\Policies\Microsoft\Windows\System\Scripts這里的腳本,然后處理組策略(假如有的話,運(yùn)行\(zhòng)Windows\System32\Proquota.exe),最后運(yùn)行HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell里的SHELL(如果不存在就運(yùn)行HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell里的,一般這里默認(rèn)的是EXPLORER.exe),注意這里也是最容易讓惡意軟件利用的地方。
5.最后就是啟動(dòng)其他的啟動(dòng)程序,服務(wù)。
WINDOWS的關(guān)機(jī)流程:
正常關(guān)機(jī)都是調(diào)用ExitWindowsEx這個(gè)函數(shù),Csrss收到這個(gè)消息后,先給Winlogon所屬的窗口發(fā)關(guān)機(jī)消息,等Winlogon處理完后,Csrss然后給每個(gè)有關(guān)機(jī)級(jí)別的進(jìn)程發(fā)關(guān)機(jī)消息(2種消息WM_QUERYENDSESSION/WM_ENDSESSION),這里的等待時(shí)間在HKCU\Control Panel\Desktop\HungAppTimeout這里設(shè)置,默認(rèn)是5000 milliseconds,如果在這個(gè)時(shí)間范圍內(nèi)有線程沒(méi)處理完,那就會(huì)彈出個(gè)窗口,讓用戶來(lái)結(jié)束,當(dāng)然也可以設(shè)置讓系統(tǒng)自動(dòng)結(jié)束,只要設(shè)置HKCU\Control Panel\Desktop\AutoEndTasks 為 1就可以了,對(duì)于控制臺(tái)應(yīng)用程序,則Csrss發(fā)這個(gè)CTRL_LOGOFF_EVENT事件(服務(wù)進(jìn)程是發(fā)CTRL_SHUTDOWN_ EVENT這個(gè)事件),同樣的流程,有個(gè)等待時(shí)間,設(shè)置在HKCU\Control Panel\Desktop\WaitToKillAppTimeout (默認(rèn)為 20,000 milliseconds),接著同樣的處理系統(tǒng)進(jìn)程,處理完后,Winlogon就調(diào)用NtShutdownSystem,這個(gè)函數(shù)在調(diào)用NtSetSystemPowerState來(lái)處理驅(qū)動(dòng)和其他的一些子系統(tǒng)。這樣整個(gè)關(guān)機(jī)過(guò)程就完成了。
相關(guān)閱讀
更多資訊
- 系統(tǒng)垃圾清理批處理代碼
- 使鼠標(biāo)放到任務(wù)欄右邊的日期欄時(shí)怎樣顯示星期
- 二種迅速關(guān)機(jī)辦法
- 一百四十個(gè)電腦技巧
- 跟我學(xué)在電腦右下角時(shí)間處顯示自己名字
- 7個(gè)節(jié)省設(shè)置時(shí)間的電腦小技巧
- 磁盤碎片迅速整理辦法
- 小技巧刪除快捷方式圖標(biāo)上的箭頭
- 用批處理方式刪除刪不了的文件
- 掌握快捷鍵,跟我學(xué)成為電腦高手
- 更改MAC地址,給網(wǎng)卡辦新“身份證”
- 繞過(guò)管理系統(tǒng)讓你在網(wǎng)吧上網(wǎng)不花錢
- 巧辦法找到誤刪除文件
- 五個(gè)辦法關(guān)閉優(yōu)盤自動(dòng)播放技巧
- 怎么設(shè)置更好的語(yǔ)音效果
- 用鍵盤彈奏鋼琴曲
- 用電視卡啟動(dòng)
- 在桌面上設(shè)置隱秘文件夾
- 雙擊無(wú)法打開盤符及文件夾的原因及處理辦法
- 應(yīng)付刪除不掉的文件的五個(gè)辦法
熱門文章
推薦游戲
換一換- 恐怖冰激凌下載-冰淇淋羅德游戲下載v1.2.2
- 卓越圣衣游戲-卓越圣衣最新版下載v1.0正版
- 英雄來(lái)襲單機(jī)版-英雄打擊游戲下載v524安卓版
- 榮耀崛起0氪10億版-榮耀崛起0氪福利版下載v1.0
- 恐龍寶貝向前沖gm版預(yù)約(暫未上線)-恐龍寶貝向前沖gm版手游預(yù)約v1.0.1
- 權(quán)霸天下天天送真充版-權(quán)霸天下送海量充值版下載v1.0.0送真充版
- 劍術(shù)師游戲免費(fèi)下載-劍術(shù)師下載v1.0.1
- 新世界的神滿v版-新世界的神上線獲取vip版下載v1.109.1.0滿v服
- 暴風(fēng)雨生存?zhèn)髌嬷形陌?暴風(fēng)雨生存?zhèn)髌婀俜阶钚掳嫦螺dv1.15.0最新版
最新文章
- 人氣排行
- 1在局域網(wǎng)上把自己藏匿起來(lái)
- 2千千靜聽常見的使用技巧16招
- 3繞過(guò)管理系統(tǒng)讓你在網(wǎng)吧上網(wǎng)不花錢
- 4簡(jiǎn)單配置參數(shù) 讓迅雷狗狗視頻使用XMP播放
- 5修改網(wǎng)卡的MAC地址突破無(wú)線網(wǎng)絡(luò)限制
- 6筆記本Acer ePower Management軟件使用方法
- 7老式CPU風(fēng)扇(長(zhǎng)短雙扣式)安裝圖解及風(fēng)扇加油說(shuō)明
- 8搜狗云輸入法探秘 流行輸入法
- 9幫忙解決回收站無(wú)法清空和操作系統(tǒng)停止響應(yīng)
- 10翻譯就用在線—讓你網(wǎng)上沖浪無(wú)語(yǔ)言困擾