重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
系統啟動的過程如下(OS以Windows為例):
石城網站制作公司哪家好,找成都創新互聯!從網頁設計、網站建設、微信開發、APP開發、自適應網站建設等網站項目制作,到程序開發,運營維護。成都創新互聯于2013年開始到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選成都創新互聯。
1、接通電源,點亮顯示器,機箱上的指示燈閃爍(此時電源開始向主板及其它設備供電,同時CPU執行跳轉指令,啟動BIOS檢測,此時系統BIOS首先進行POST);
2、系統BIOS檢測顯示卡和其它設備的BIOS,完成后發出嘟的響聲,隨后顯示器檢測顯卡信息,顯示器顯示顯卡信息;
3、系統BIOS顯示自己的啟動畫面;
4、系統BIOS檢測和顯示CPU類型和頻率,然后開始測試所有的內存;
5、系統BIOS檢測電腦中安裝的標準硬件設備,包括硬盤、光驅、串、并口設備、軟驅等,并自動檢測和設置內存的定時參數、硬盤參數和訪問模式等;
6、系統BIOS檢測和配置系統中安裝的即插即用設備,同時為該設備分配中斷、DMA通道和I/O斷口等資源,并在屏幕上顯示設備的名稱和型號等信息;
7、在所有硬件都檢測完畢后,系統BIOS會重新刷屏并在屏幕上方顯示包含有標志硬件設備信息、使用資源相關參數的表格(如果設置了密碼,則在刷屏之前會要求輸入密碼);
8、系統更新ESCD;
9、系統BIOS根據用戶指定的啟動順序從軟、光、硬盤或其它存儲設備啟動,同時讀取并執行啟動盤上的主引導記錄,硬盤將磁頭定位在物理扇0柱0面1扇上,接著先后讀取扇區結束標志55AAH,主引導記錄MBR,硬盤分區表HDPT,然后根據硬盤分區表提供的數據,磁盤將磁頭定位在活動分區(即主DOS引導分區)的引導扇區上(一般為物理扇0柱1面1扇),接著先后讀取扇區結束標志55AAH和操作系統參數。該過程將操作系統讀取內存中,把存儲在ROM中的Bootstrap Loader程序和自診斷程序移動到RAM,然后系統會執行Io.sys和Msdos.sys兩個文件,此時屏幕上會出現“Starting Windows98 ......”的信息。
Windows啟動時需要Command.com,Io.sys,Msdos.sys,Drvspace.bin四個文件,在初始化過程中還需要讀Autoexec.bat,Config.sys,System.ini,Win.ini,
User.dat,System.dat六個文件。
在進入藍天白云的畫面后,系統將執行Config.sys(如果配置了)和Command.com文件,使電腦能夠進入DOS的實模式,啟動基本成功。
然后根據User.dat,System.dat,System.ini,Win.ini等讀取相關文件,系統自動對Windows進行初始化,此時屏幕已經黑屏,并在左上角出現一個閃爍的光標,與此同時啟動過程將讀取Windows的注冊表文件,并完成啟動過程,出現Windows的初始畫面,就可以運行Windows系統了。
10、Windows開始檢測硬件與周邊設備,并載入各類驅動程序與虛擬設備驅動程序;
11、載入系統安裝的字體;
12、顯示桌面壁紙;
13、執行隨Windows一同啟動的程序;
當Windows完成登錄過程,鼠標指針從繁忙到安靜,除桌面上的圖標,你還看到了什么?也許表面沒什么變化,但你有沒有注意到,你的系統托盤區多出了許多圖標,你的進程表中出現了很多的進程!Windows在啟動的時候,自動加載了很多程序,你知道它們是在什么地方被加載的嗎?
許多程序的自啟動,給我們帶來了很多方便,這是不爭的事實,但是否每個自啟動的程序對我們都有用呢?更甚者,也許有病毒或木馬在自啟動行列,而你卻不知!
到現在,你是不是覺得了解自啟動文件的藏身之處有必要呢?那好,下面我就一一指出,讓它們無外可藏!
其實Windows2000/XP中的自啟動文件,除了從以前系統中遺留下來的Autoexec.bat文件中加載外,按照兩個文件夾和9個核心注冊表子鍵來自動加載程序的。
1)“啟動”文件夾--最常見的自啟動程序文件夾。它位于系統分區的“Documents and Settings--User--〔開始〕菜單--程序”目錄下。這時的User指的是你登錄的用戶名。
2)“All Users”中的自啟動程序文件夾--另一個常見的自啟動程序文件夾。它位于系統分區的“Documents and Settings--All User--〔開始〕菜單--程序”目錄下。前面提到的“啟動”文件夾運行的是登錄用戶的自啟動程序,而“All Users”中啟動的程序是在所有用戶下都有效(不論你用什么用戶登錄)。
3)“Load”鍵值--一個埋藏得較深的注冊表鍵值。位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\load〕主鍵下。
4)“Userinit”鍵值--它則位于〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit〕主鍵下,也是用于系統啟動時加載程序的。一般情況下,其默認值為“userinit.exe”,由于該子鍵的值中可使用逗號分隔開多個程序,因此,在鍵值的數值中可加入其它程序。
5)“Explorer\Run”鍵值--與“load”和“Userinit”兩個鍵值不同的是,“Explorer\Run”同時位于〔HKEY_CURRENT_USER〕和〔HKEY_LOCAL_MACHINE〕兩個根鍵中。它在兩個中的位置分別為〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run〕下。
6)“RunServicesOnce”子鍵--它在用戶登錄前及其它注冊表自啟動程序加載前面加載。這個鍵同時位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce〕下。
7)“RunServices”子鍵--它也是在用戶登錄前及其它注冊表自啟動程序加載前面加載。這個鍵同時位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices〕下。
8)“RunOnce\Setup”子鍵--其默認值是在用戶登錄后加載的程序。這個鍵同時位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup〕下。
9)“RunOnce”子鍵--許多自啟動程序要通過RunOnce子鍵來完成第一次加載。這個鍵同時位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce〕下。位于〔HKEY_CURRENT_USER〕根鍵下的RunOnce子鍵在用戶登錄扣及其它注冊表的Run鍵值加載程序前加載相關程序,而位于〔HKEY_LOCAL_MACHINE〕主鍵下的Runonce子鍵則是在操作系統處理完其它注冊表Run子鍵及自啟動文件夾內的程序后再加載的。在Windows XP中還多出一個〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEX〕子鍵,其道理相同。
10)“Run”子鍵--目前最常見的自啟動程序用于加載的地方。這個鍵同時位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run〕下。其中位于〔HKEY_CURRENT_USER〕根鍵下的Run鍵值緊接著〔HKEY_LOCAL_MACHINE〕主鍵下的Run鍵值啟動,但兩個鍵值都是在“啟動”文件夾之前加載。
11)再者就是Windows中加載的服務了,它的級別較高,用于最先加載。其位于〔HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services〕下,看到了嗎,你所有的服務加載程序都在這里了!
12)Windows Shell——它位于〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\〕下面的Shell字符串類型鍵值中,基默認值為Explorer.exe,當然可能木馬程序會在此加入自身并以木馬參數的形式調用資源管理器,以達到欺騙用戶的目的。
13)BootExecute——它位于注冊表中〔HKEY_LOCAL_MACHINE\System\ControlSet001\Session Manager\〕下面,有一個名為BootExecute的多字符串值鍵,它的默認值是"autocheck autochk *",用于系統啟動時的某些自動檢查。這個啟動項目里的程序是在系統圖形界面完成前就被執行的,所以具有很高的優先級。
14)策略組加載程序——打開Gpedit.msc,展開“用戶配置——管理模板——系統——登錄”,就可以看到“在用戶登錄時運行這些程序”的項目,你可以在里面添加。在注冊表中[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\本地User\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]你也可以看到相對應的鍵值。
從按下計算機開關啟動計算機,到登入到桌面完成啟動,一共經過了以下幾個階段:
1. 預引導(Pre-Boot)階段;
2. 引導階段;
3. 加載內核階段;
4. 初始化內核階段;
5. 登陸。
每個啟動階段的詳細介紹
a) 預引導階段
在按下計算機電源使計算機啟動,并且在Windows XP專業版操作系統啟動之前這段時間,我們稱之為預引導(Pre-Boot)階段,在這個階段里,計算機首先運行Power On Self Test(POST),POST檢測系統的總內存以及其他硬件設備的現狀。如果計算機系統的BIOS(基礎輸入/輸出系統)是即插即用的,那么計算機硬件設備將經過檢驗以及完成配置。計算機的基礎輸入/輸出系統(BIOS)定位計算機的'引導設備,然后MBR(Master Boot Record)被加載并運行。在預引導階段,計算機要加載Windows XP的NTLDR文件。
b) 引導階段
Windows XP Professional引導階段包含4個小的階段。
首先,計算機要經過初始引導加載器階段(Initial Boot Loader),在這個階段里,NTLDR將計算機微處理器從實模式轉換為32位平面內存模式。在實模式中,系統為MS-DOS保留640kb內存,其余內存視為擴展內存,而在32位平面內存模式中,系統(Windows XP Professional)視所有內存為可用內存。接著,NTLDR啟動內建的mini-file system drivers,通過這個步驟,使NTLDR可以識別每一個用NTFS或者FAT文件系統格式化的分區,以便發現以及加載Windows XP Professional,到這里,初始引導加載器階段就結束了。
接著系統來到了操作系統選擇階段,如果計算機安裝了不止一個操作系統(也就是多系統),而且正確設置了boot.ini使系統提供操作系統選擇的條件下,計算機顯示器會顯示一個操作系統選單,這是NTLDR讀取boot.ini的結果。(至于操作系統選單,由于暫時條件不夠,沒辦法截圖,但是筆者模擬了一個,見圖一。)
在boot.ini中,主要包含以下內容:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)WINNT="Windows Windows 2000 Professional"
其中,multi(0)表示磁盤控制器,disk(0)rdisk(0)表示磁盤,partition(x)表示分區。NTLDR就是從這里查找Windows XP Professional的系統文件的位置的。(*本文不會更詳細地講解boot.ini的組成結構,因為其與本主題關系不大,如果想了解,可以到一些專門的網站處查詢相關信息。)如果在boot.ini中只有一個操作系統選項,或者把timeout值設為0,則系統不出現操作系統選擇菜單,直接引導到那個唯一的系統或者默認的系統。在選擇啟動Windows XP Professional后,操作系統選擇階段結束,硬件檢測階段開始。
在硬件檢測階段中,ntdetect.com將收集計算機硬件信息列表并將列表返回到NTLDR,這樣做的目的是便于以后將這些硬件信息加入到注冊表HKEY_LOCAL_MACHINE下的hardware中。
硬件檢測完成后,進入配置選擇階段。如果計算機含有多個硬件配置文件列表,可以通過按上下按鈕來選擇。如果只有一個硬件配置文件,計算機不顯示此屏幕而直接使用默認的配置文件加載Windows XP專業版。
引導階段結束。在引導階段,系統要用到的文件一共有:NTLDR,Boot.ini,ntdetect.com,ntokrnl.exe,Ntbootdd.sys,bootsect.dos(可選的)。
Windows10 操作系統的整個過程中所發生的操作,具體如下。
1.按下計算機電源按鈕后,首先進行通電自檢(POST, Power On Self Test),由BlOS檢測和識別硬件并完成硬件的基本配置。然后查找第一啟動設備,接著從該設備讀取并運行主引導記錄(MBR, Master Boot record),之后將控制權交給MBR。
2.MBR查找其所在硬盤的硬盤分區表,找到標記為“活動”的主分區。然后在該分區的根目錄中找到并運行操作系統的加載程序(文件名為 Bootmgr),即 Windows啟動管理器,之后將控制權交給 Windows啟動管理器。
3.Window啟動管理器讀取啟動配置數據(BCD, Boot Configuration Data)存儲中的內容以決定操作系統的啟動方式。
◆ 如果計算機中只安裝了一個操作系統,或將操作系統列表的顯示時間設置為0,那么將不會顯示系統啟動列表, Windows啟動管理器會直接運行 Windows啟動加載器(Windows Boot Loader,文件名為Winload. exe)。
◆ 如果計算機中同時安裝了多個操作系統,Windows啟動管理器會根據 BCD 存儲中的內容創建并顯示一個系統啟動列表,用戶可以從中選擇要啟動的操作系統。
◆ 如果是從休眠狀態恢復計算機,那么Windows啟動管理器將會運行 Windows 恢復加載器(文件名為 Winresume.exe)。
4.Windows啟動管理器運行 Windows啟動加載器,啟動加載器使用固件接口的啟動服務完成操作系統的啟動工作并加載操作系統及其相關數據。
◆ 加載操作系統內核 Ntoskrnl.exe和硬件抽象層HAL(文件名為Had)。
◆ 加載注冊表中的 HKEY LOCAL MACHINE SYSTEM 子鍵。
◆ 加載注冊表中的 HKEY- LOCAL MACHINE Systemservices 子鍵中存儲的硬件設備驅動程序。
◆ 啟用內存分頁。
5.加載完所需數據后, Windows啟動加載器將控制權交給操作系統內核。系統內核和HAL開始初始化 Windows操作系統并處理位于注冊表中的HKEY LOCAL MACHINE SYSTEM Curentcontrolse 子鍵中的配置信息,然后啟動設備驅動程序和系統服務。
6.內核啟動會話管理器(文件名為 Smss.exe),然后執行以下操作。
◆ 創建系統環境變量并對系統環境進行初始化。
◆ 啟動Wn32子系統(文件名為Csrss.exe)將文本顯示模式切換為圖形顯示模式。
◆ 啟動Windows登錄管理器(文件名為Winlogon.exe),然后啟動服務控制管理器(文件名為 Services.eXe)和本地安全機構(文件名為 Lsass. exe)并等待用戶登錄。
◆ 創建虛擬內存頁面文件。
◆ 對一些必要的文件進行重命名。
7.在使用用戶名和密碼進行登錄后,登錄用戶界面和默認憑據提供程序會將用尸名和密碼等信息傳遞給本地安全機構以進行身份驗證。驗證通過后 Windows登錄管理器會運行 Userinit.exe 和 Windows外殼, Userinit. ex會創建用戶環境變量以便初始化用戶環境,還會運行所有需要自動啟動的 Windows服務。最后完成系統登錄并顯示 Windows桌面。當使用安全模式等非常規模式啟動系統時實際上只是臨時修改了系統的啟動方式,而并沒有永久性地修改BCD存儲中的內容。此外,用戶可以通過編輯BCD存儲中的內容來控制操作系統的啟動方式。BCD存儲包含在一個名為BCD的注冊表文件中,固件接口的類型決定了BCD文件在磁盤中的位置。
◆ 基于 BIOS 的計算機:BCD文件位于活動分區的Boot文件夾中。
◆ 基于 EFIUEF 的計算機:BCD文件位于EFI系統分區中。
Windows XP啟動慢該怎么辦
文章摘要: 經常聽到電腦使用者有這樣的抱怨:怎么我打開電腦自檢完后屏幕一直是黑的,要半天才有XP的界面出現?我的電腦干嘛進入系統這么慢?滾動條都轉了十幾圈還進不了系統。為什么我的XP出現桌面后幾分鐘之內點擊任何程序都毫無反應?這些問題都可以歸結為Windows XP啟動慢。如何做才能加快系統的啟動速度呢?…
經常聽到電腦使用者有這樣的抱怨:怎么我打開電腦自檢完后屏幕一直是黑的,要半天才有XP的界面出現?我的電腦干嘛進入系統這么慢?滾動條都轉了十幾圈還進不了系統。為什么我的XP出現桌面后幾分鐘之內點擊任何程序都毫無反應?這些問題都可以歸結為Windows XP啟動慢。如何做才能加快系統的啟動速度呢?
要想解決XP啟動慢的問題,首先必須了解一下系統的啟動過程。Windows XP的啟動過程大致可分為5個步驟:第一步,預啟動:首先計算機通電進行自檢,并由BIOS(即基本輸入輸出系統)掃描硬件并完成基本硬件配置,然后讀取硬盤的MBR(主引導記錄)檢查硬盤分區表以確定引導分區,并將引導分區上的操作系統引導扇區調入內存中執行,此處即執行NTLDR(操作系統加載器)文件。第二步,啟動:首先進行出始化,NTLDR會把處理器從實模式轉換為32位保護模式。然后讀取BOOT.INI文件。第三步,.裝載內核:引導過程開始裝載XP內核NTOSKRNL.EXE.這個文件位于Windows2000/XP安裝文件夾下的SYSTEM32文件夾中。隨后,硬件抽象層(HAL)被引導進程加載,完成本步驟。第四步,初始化內核:內核完成初始化,NTLDR將控制權轉交Windows2000/XP內核,后者開始裝載并初始化設備驅動程序,以及啟動WIN32子系統和WINDOWSXP服務。第五步是用戶登錄,登錄后,XP會繼續配置網絡設備和用戶環境。最后,伴隨著系統的開機音樂聲和我們熟悉的桌面,Windows XP漫長的啟動過程終于完成。
了解了XP的啟動過程,我們就可以有針對性地采取措施加快啟動的速度。
1、禁止沒有用到的外設
通過前面對啟動過程的了解我們知道,XP在啟動時會自動掃描硬件,所以如果在WinXP中禁用一些外設,可以有效地減少系統啟動時需要調入的外設驅動程序數量,從而加快系統的啟動速度。如果你的電腦上沒有USB設備,請在“設備管理器-通用串行總線控制器”中將所有的USB設備禁用。此法可以讓你的XP開機時間減少約十五秒。其次,如果你沒有安裝多個硬盤,也可以禁止某些IDE設備以加快啟動速度。做法是:右鍵點擊“我的電腦-屬性”,然后點擊“硬件”接著點擊“設備管理器”,在其中打開“IDE ATA/PATA控制器”(不同芯片略有差異),然后分別進入主要和次要IDE通道,選擇“高級設置”,在這里找到“當前傳送模式”為“不適用”的一項(這就是閑置的IDE通道所對應的),將此項的“設備類型”設置為“無”,確定即可。另外還要注意:由于系統默認會自動讀取光驅,因此啟動時會對光驅進行檢測,如果光驅中放置了光盤,就會自動讀取,如果是多媒體光盤那么讀取花費的時間就會更長,同樣延長電腦的啟動時間。所以建議大家平時使用完光盤記得及時取出來。
2、減少啟動時加載的程序
大概很多人都有這種感覺:XP的啟動速度在系統安裝初期還比較快,但隨著安裝的軟件不斷增多,系統的啟動速度會越來越慢。這是由于許多軟件把自己加在了啟動程序中,這樣開機即需運行,大大降低了啟動速度,而且也占用了大量的'系統資源。對于這樣一些程序,我們可以通過系統配置實用程序Msconfig將它們從啟動組中排除出去。選擇“開始”菜單中的“運行”命令,在“運行”對話框中鍵入“Msconfig”,回車后會彈出“系統配置實用程序”對話框,選擇其中的“啟動”選項卡,該選項卡中列出了系統啟動時加載的項目及來源,仔細查看每個項目是否需要自動加載,否則清除項目前的復選框,加載的項目越少,啟動的速度就越快。建議除了保留輸入法(在啟動項目中為ctfmon)和殺毒監測程序(比如RavTask)之外,其它的統統都禁止在啟動時自動運行。
3、手動設置IP地址
前面已經講到,XP系統會在開機之后自動檢測電腦是否聯入局域網,但是一般用戶都是單機上網,并且在網絡連接中基本上設置的都是自動獲取IP地址。如此以來,系統為了給該機指派一個IP地址就會搜索DHCP服務器,但是一般用戶根本不會配置。這就造成每次開機之后,系統都會花很長的時間來搜索DHCP服務器直到獲得IP地址或者服務超時才會停止,這期間即使來到桌面,雙擊程序也沒有任何反映。這也就是很多使用Windows XP用戶反映的進入桌面后出現“死機”10幾秒鐘的問題!事實上只要為“本地連接”人工指派一個IP地址就可以簡單的解決這個問題,避免Windows XP每次開機的自動網絡檢測,從而加速啟動。具體的做法如下:右鍵點擊“網上鄰居”-選擇屬性,進入窗口后右鍵點擊“本地連接”-選擇屬性,在這里雙擊“Internet協議(TCP/IP)”,選擇“使用下面的IP地址”然后輸入一個IP地址(比如:192.168.0.1),子網掩碼默認即可。(這樣做不會與您上互連網產生任何沖突,這個地址只是用在局域網內的)這樣系統再次搜索就會很快的發現IP并快速進入系統。
4.關閉主題清減桌面
很多朋友都喜歡在自己的桌面上放上一個漂亮的背景,比如自己喜愛的某個明星的照片之類。可是漂亮是有代價的,那就是消耗了大量的內存,同時桌面上有太多圖標也是一樣。因為系統每次啟動到顯示桌面時,首先需要檢查是否啟用主題,一旦發現就會加載,很多的主題就這樣吃掉了大量的內存(另外很多網友自己制作的主題并不完善,使用后會出現很多兼容問題造成系統故障)。同時系統還會查找和驗證桌面快捷方式的有效性,因此快捷方式越多,所花費的驗證時間就越長。建議大家平時盡量不要使用主題,最多設置一張漂亮的壁紙就可以了。然后將桌面快捷方式分門別類放到專門的文件夾中便于管理,加速啟動一舉兩得。
以上講了加快Windows XP啟動速度的幾個方法,但是在實際的使用電腦過程中,還要考慮到其他一些因素的影響。比如現在流行的木馬、病毒、流氓插件、惡意代碼等,都會極大地降低系統的啟動速度。另外,用戶的很多不好的操作習慣也會導致XP的啟動速度減慢。其它還比如電腦硬件的配置也在一定程度上對系統的啟動造成影響。
微軟Windows 7系統開機加載過程的原理和機制
一個Windows 操作系統用的久了,自然而然的要出很多問題,系統也會明顯的變慢,原因固然很多:注冊表日益龐大、無用字體越來越多、啟動加載的程序越來越多、系統默認開啟的服務越來越多、計劃任務列表中被加入了一些莫名其妙的開機啟動項目、磁盤碎片越來越多、殺毒軟件的開機動作選項沒有合理設置等等。不僅是用久了的系統,就算是一個新安裝好的操作系統,也需要進行一些設置優化,關閉不常用的服務、屏蔽一些壓根無用的開機啟動項目等等。下面,我們一起來看看整個Windows 7系統的完整開機加載過程的原理和機制。
1、開啟電源
計算機系統將進行加電自檢(POST)。如果通過,之后BIOS會讀取主引導記錄(MBR)——被標記為啟動設備的硬盤的首扇區,并傳送被Windows 7建立的控制編碼給MBR。這時,Windows接管啟動過程。接下來,MBR讀取引導扇區-活動分區的第一扇區。此扇區包含用以啟動Windows啟動管理器(Windows Boot Manager)程序Bootmgr exe的代碼。
2、啟動菜單生成
Windows啟動管理器讀取“啟動配置數據存儲(Boot Confi guration Data store)中的'信息。此信息包含已被安裝在計算機上的所有操作系統的配置信息。并且用以生成啟動菜單。
3、當您在啟動菜單中選擇下列動作時:
1 如果您選擇的是Windows 7(或Windows Vista),Windows 啟動管理器(Windows Boot Manager)運行%SystemRoot%\System32文件夾中的OS loader——Winload.exe。
2 如果您選擇的是自休眠狀態恢復Windows 7 或 Vista,那么啟動管理器將裝載Winresume.exe并恢復您先前的使用環境。
3 如果您在啟動菜單中選擇的是早期的Windows版本,啟動管理器將定位系統安裝所在的卷,并且加載Windows NT風格的早期OS loader(Ntldr.exe)——生成一個由boot.ini內容決定的啟動菜單。
4、核心文件加載至登錄畫面
Windows7啟動時,加載其核心文件 Ntoskrnl.exe和hal.dll——從注冊表中讀取設置并加載驅動程序。接下來將運行Windows會話管理器(smss.exe)并且啟動 Windows啟動程序(Wininit exe),本地安全驗證(Lsass.exe)與服務(services.exe)進程,完成后,就可以登錄你的系統了。
5、登陸后的開機加載項目
當你輸入您的用戶名和密碼,登陸進入您的系統那一刻,硬盤發出的聲音和硬盤燈的再次提醒你:系統正在加載您這個賬戶的個人專用設置文件,正在加載當前電腦和當前用戶所指定的一些開機啟動項目內的軟件。這是眾多軟件(包括木馬病毒)最喜歡的地方,包括我們最常用的QQ、MSN、殺毒軟件,因為它們要靠這里來常駐桌面右下角和內存之中,方便進行正當的和不正當的一些工作(此處指的是某些流氓和惡意軟件)。當這些加載完畢,才算真正進入了您的 Windows桌面。
;
電腦操作系統啟動過程簡單分為四部分,從BIOS自檢、系統引導、啟動內核、初始化系統。
1、BIOS自檢:在計算機開機時,boot被自動執行,指引CPU把操作系統從大容量存儲器中傳送到主存儲器的易失區。BIOS的功能由兩部分組成,分別是POST碼和Runtime服務。POST階段完成后它將從存儲器中被清除,而Runtime服務會被一直保留,用于目標操作系統的啟動。
2、系統引導:將系統內核從外存讀入內存,并將其放在合適的位置中。引導程序必須將內核的實模式下的初始化程序放在基本內存中,應將內核鏡像放在1MB以上的位置。
3、啟動內核:當處理器離開引導程序的時候,它處于實模式下面,需要執行實模式下面的引導程序后,跳轉到保護模式解壓內核鏡像。
4、初始化系統:在內存中的為內存鏡像,需要進行解壓,解壓后需要把內核放在適當的位置。借此就進入了保護模式的系統初始化了。
擴展資料:
為了縮減內核規模,實現內核的靈活性和適應性,內核被分為兩部分:基礎部分和擴展部分。基本內核實現內核最基本的管理功能,不隨計算機的變化而變化;擴展功能實現內核一些獨立的模塊(如驅動和文件系統),會發生變化,被放在initrd中,需要引導程序一并讀入。
內核啟動時會在訪問真正的根文件系統前先訪問該內存中的 initrd 文件系統。在 boot loader 配置了 initrd 的情況下,內核啟動被分成了兩個階段,第一階段先執行 initrd 文件系統中的init,完成加載驅動模塊等任務,第二階段才會執行真正的根文件系統中的 /sbin/init 進程。