Windows啟動順序詳解

2021-06-19 19:14:13 字數 1683 閱讀 9258

windows的啟動過程包括以下幾個階段:

啟動自檢階段

這個階段主要是讀取 bios ,然後記憶體,cpu,硬碟,鍵盤等裝置進行自檢。這個階段在螢幕上顯示就是自檢的那些列印資訊。

螢幕顯示:自檢的列印資訊

初始化啟動階段

這個階段根據 bios 指定的啟動順序,找到可以啟動的優先啟動裝置,比如本地磁碟,cd driver , usb 裝置等等,然後準備從這些裝置啟動系統。

螢幕顯示:黑屏

boot 載入階段

這個階段首先從啟動分割槽(比如 c 盤) 載入 ntldr ,然後ntldr 做如下設定:

1.內建記憶體模式,如果是 x86 的處理器,並且作業系統是 32位,則設定為 32-bit flat memory mode,如果是 64 位作業系統 + 64位處理器,則設定為64位記憶體模式。

2.啟動檔案系統

3.讀取 boot.ini 檔案

螢幕顯示:黑屏,如果按f8或者多系統時會顯示啟動選項選單。

檢測和配置硬體階段

這個階段檢查和配置一些硬體裝置,它們分別是:

系統韌體,比如時間和日期

匯流排和介面卡

顯示介面卡

鍵盤

通訊埠

磁碟

軟盤

輸入裝置(如滑鼠)

並口

在isa匯流排上執行的裝置

螢幕顯示:黑屏

核心載入階段

在核心載入階段,ntldr 將首先載入windows核心 ntoskrnl.exe 和 硬體抽象層 (hal). hal 有點類似於嵌入式作業系統下的bsp(borad support package),這個抽象層對硬體底層的特性進行隔離,對作業系統提供統一的呼叫介面,作業系統移植到不同硬體時只要改變相應的 hal 就可以,其它的核心元件不需要修改,這個是作業系統通常的設計模式。

接下來ntldr 從hkey_local_ machine\system\currentcontrolset 下讀取這台機器安裝的驅動程式,然後依次載入驅動程式。

驅動程式載入完成後,windows做如下設定:

1. 建立系統環境變數

2. 啟動 win32.sys ,這個是windows子系統的核心模式部分。

3. 啟動 csrss.exe,這個是windows子系統的使用者模式部分。

4. 啟動 winlogon.exe

5. 建立虛擬記憶體頁面檔案

6. 對一些必要的檔案進行改名,(主要是驅動檔案,如果更新後,需要在下次重啟前改名)

螢幕顯示:顯示windows logo 介面和進度條

登入階段

這個階段會做如下幾件事:

1. 啟動機器上安裝的所有需要自動啟動的windows服務

2. 啟動本地安全認證 lsass.exe

3. 顯示登入介面

螢幕顯示:顯示登入介面

Windows啟動順序

windows啟動順序 bios下的啟動過程 加電自檢 按順序嘗試啟動項 主引導記錄 mbr 分割槽引導記錄 pbr 啟動管理器 bootmgr 配置檔案 bcd winload.exe ntoskrnl.exe 登錄檔 uefi下的啟動過程 加電初始化 efi shell 啟動管理器 efi 配置...

改變Windows服務的啟動順序

要改變windows服務的啟動順序,只要修改windows的登錄檔就可 以了。任何windows服務的註冊資訊可以在登錄檔的hkey local machine group值 乙個reg sz型別的值。它用來描述服務屬於那乙個服務組。如果服務沒有這一項,那麼它不屬於任何乙個服務組,系統則會預設的將其...

Linux 開機的啟動順序(詳解)

引 本文以redhat9.0和i386平台為例,剖析了從使用者開啟電源直到螢幕出現命令列提示符的整個linux啟動過程。並且介紹了啟動中涉及到的各種檔案。閱讀linux源 無疑是深入學習linux的最好方法。在本文對linux啟動過程的介紹中,我們也嘗試從源 的視角來更深入的剖析linux 的啟動過...