當您開啟計算機電源時,它會經歷一個“啟動”過程-這個術語來自“載入程式”一詞。這就是背景情況-無論您使用的是Windows PC,Mac還是Linux系統。
供電的硬體稱為“電源”。在典型的臺式PC內,它看起來像是機殼角落的盒子(上圖中的黃色部分),是連線AC的地方。電源線。
現在它已經通電了,CPU會初始化自己並尋找一個通常儲存在主機板晶片中的小程式。
過去,PC載入了稱為BIOS(基本輸入/輸出系統)的東西。在現代PC上,CPU 改為載入 UEFI(統一可擴充套件韌體介面)韌體。這是舊式BIOS的現代替代品。但是,為了使它更加混亂,一些PC製造商仍然仍然將其UEFI軟體稱為“ BIOS”。
BIOS或UEFI韌體從主機板上的特殊位置載入配置設定-傳統上,這是在CMOS電池支援的記憶體中。如果在BIOS或UEFI設定螢幕中更改了一些低階設定,則將在此處儲存自定義設定。
CPU執行UEFI或BIOS,UEFI或BIOS測試並初始化系統的硬體-包括CPU本身。例如,如果您的計算機沒有任何RAM,它將發出蜂鳴聲並顯示錯誤,從而停止引導過程。這稱為POST(開機自檢)過程。
您可能會在此過程中看到PC製造商的徽標出現在螢幕上,並且通常可以從此處按一個按鈕來訪問BIOS或UEFI設定螢幕。但是,許多現代PC如此快速地執行此過程,以至於他們不必打擾顯示徽標,而需要從Windows引導選項選單訪問其UEFI設定螢幕。
UEFI不僅可以初始化硬體,還可以做更多的事情。它確實是一個很小的作業系統。例如,英特爾CPU具有英特爾管理引擎。這提供了多種功能,包括支援英特爾的主動管理技術,該技術允許對商用PC進行遠端管理。
在完成對硬體的測試和初始化之後,UEFI或BIOS將把啟動PC的責任移交給作業系統的引導載入程式。
UEFI或BIOS尋找“ 啟動裝置 ”以從中啟動作業系統。這通常是計算機的硬碟或固態驅動器,但也可能是CD,DVD,USB驅動器或網路位置。可以在UEFI或BIOS設定螢幕中配置引導裝置。如果您有多個啟動裝置,則UEFI或BIOS會嘗試按照列出的順序將啟動過程移交給它們。因此,例如,如果您的光碟驅動器中有可啟動的DVD,則系統可能先嚐試從中啟動,然後再嘗試從硬碟驅動器中啟動。
傳統上,BIOS會檢視MBR(主引導記錄),MBR是磁碟開頭的特殊引導扇區。MBR包含用於載入其餘作業系統的程式碼,稱為“引導載入程式”。BIOS執行引導載入程式,然後從那裡獲取引導載入程式,然後開始引導實際的作業系統(例如Windows或Linux)。
具有UEFI的計算機仍可以使用這種舊式MBR引導方法來引導作業系統,但是通常使用稱為EFI可執行檔案的計算機代替。這些不必儲存在磁碟的開頭。相反,它們儲存在稱為“ EFI系統分割槽 ”的地方。
無論哪種方式,原理都是相同的– BIOS或UEFI檢查系統上的儲存裝置以尋找MBR或EFI系統分割槽中的小程式,然後執行該程式。如果沒有可引導的引導裝置,則引導過程將失敗,並且您將在螢幕上看到一條錯誤訊息,指出是這樣。
在現代PC上,UEFI韌體通常配置為“ 安全啟動”。這可確保啟動的作業系統不會被篡改,也不會載入低階惡意軟體。如果啟用了安全啟動,UEFI將在啟動之前檢查引導載入程式是否正確簽名。
引導載入程式是一個小程式,其主要任務是引導其餘的作業系統。Windows使用一個名為Windows Boot Manager(Bootmgr.exe)的載入程式,大多數Linux系統使用GRUB,而Macs使用一種叫做boot.efi的東西。
如果引導載入程式存在問題(例如,如果其檔案在磁碟上已損壞),您將看到引導載入程式錯誤訊息,並且引導過程將停止。
引導載入程式只是一個小程式,它不能自行處理引導過程。在Windows上,Windows Boot Manager查詢並啟動Windows OS Loader。作業系統載入程式載入執行核心(Windows作業系統的核心部分)所需的必要硬體驅動程式,然後啟動核心。然後,核心將系統登錄檔載入到記憶體中,並且還載入帶有“ BOOT_START”標記的任何其他硬體驅動程式,這意味著它們應在引導時載入。Windows核心然後啟動會話管理器程序(Smss.exe),該程序將啟動系統會話並載入其他驅動程式。此過程繼續進行,Windows載入後臺服務以及歡迎螢幕,您可以透過該螢幕登入。
在Linux上,GRUB引導載入程式會載入Linux核心。核心也開啟init系統-這是systemd上最現代的Linux發行版。初始化系統處理啟動服務和其他使用者流程,這些服務和流程始終導致登入提示。
這個涉及的過程只是透過按正確的順序執行操作來使所有內容正確載入的一種方法。
順便說一句,所謂的“ 啟動程式 ”實際上是在您登入使用者帳戶時載入的,而不是在系統啟動時載入的。但是,系統啟動時,某些後臺服務(在Windows上)或守護程式(在Linux和macOS上)在後臺啟動。
當您開啟計算機電源時,它會經歷一個“啟動”過程-這個術語來自“載入程式”一詞。這就是背景情況-無論您使用的是Windows PC,Mac還是Linux系統。
硬體開機供電的硬體稱為“電源”。在典型的臺式PC內,它看起來像是機殼角落的盒子(上圖中的黃色部分),是連線AC的地方。電源線。
CPU載入UEFI或BIOS現在它已經通電了,CPU會初始化自己並尋找一個通常儲存在主機板晶片中的小程式。
過去,PC載入了稱為BIOS(基本輸入/輸出系統)的東西。在現代PC上,CPU 改為載入 UEFI(統一可擴充套件韌體介面)韌體。這是舊式BIOS的現代替代品。但是,為了使它更加混亂,一些PC製造商仍然仍然將其UEFI軟體稱為“ BIOS”。
UEFI或BIOS測試並初始化硬體BIOS或UEFI韌體從主機板上的特殊位置載入配置設定-傳統上,這是在CMOS電池支援的記憶體中。如果在BIOS或UEFI設定螢幕中更改了一些低階設定,則將在此處儲存自定義設定。
CPU執行UEFI或BIOS,UEFI或BIOS測試並初始化系統的硬體-包括CPU本身。例如,如果您的計算機沒有任何RAM,它將發出蜂鳴聲並顯示錯誤,從而停止引導過程。這稱為POST(開機自檢)過程。
您可能會在此過程中看到PC製造商的徽標出現在螢幕上,並且通常可以從此處按一個按鈕來訪問BIOS或UEFI設定螢幕。但是,許多現代PC如此快速地執行此過程,以至於他們不必打擾顯示徽標,而需要從Windows引導選項選單訪問其UEFI設定螢幕。
UEFI不僅可以初始化硬體,還可以做更多的事情。它確實是一個很小的作業系統。例如,英特爾CPU具有英特爾管理引擎。這提供了多種功能,包括支援英特爾的主動管理技術,該技術允許對商用PC進行遠端管理。
UEFI或BIOS移交給引導裝置在完成對硬體的測試和初始化之後,UEFI或BIOS將把啟動PC的責任移交給作業系統的引導載入程式。
UEFI或BIOS尋找“ 啟動裝置 ”以從中啟動作業系統。這通常是計算機的硬碟或固態驅動器,但也可能是CD,DVD,USB驅動器或網路位置。可以在UEFI或BIOS設定螢幕中配置引導裝置。如果您有多個啟動裝置,則UEFI或BIOS會嘗試按照列出的順序將啟動過程移交給它們。因此,例如,如果您的光碟驅動器中有可啟動的DVD,則系統可能先嚐試從中啟動,然後再嘗試從硬碟驅動器中啟動。
傳統上,BIOS會檢視MBR(主引導記錄),MBR是磁碟開頭的特殊引導扇區。MBR包含用於載入其餘作業系統的程式碼,稱為“引導載入程式”。BIOS執行引導載入程式,然後從那裡獲取引導載入程式,然後開始引導實際的作業系統(例如Windows或Linux)。
具有UEFI的計算機仍可以使用這種舊式MBR引導方法來引導作業系統,但是通常使用稱為EFI可執行檔案的計算機代替。這些不必儲存在磁碟的開頭。相反,它們儲存在稱為“ EFI系統分割槽 ”的地方。
無論哪種方式,原理都是相同的– BIOS或UEFI檢查系統上的儲存裝置以尋找MBR或EFI系統分割槽中的小程式,然後執行該程式。如果沒有可引導的引導裝置,則引導過程將失敗,並且您將在螢幕上看到一條錯誤訊息,指出是這樣。
在現代PC上,UEFI韌體通常配置為“ 安全啟動”。這可確保啟動的作業系統不會被篡改,也不會載入低階惡意軟體。如果啟用了安全啟動,UEFI將在啟動之前檢查引導載入程式是否正確簽名。
Bootloader載入完整的作業系統引導載入程式是一個小程式,其主要任務是引導其餘的作業系統。Windows使用一個名為Windows Boot Manager(Bootmgr.exe)的載入程式,大多數Linux系統使用GRUB,而Macs使用一種叫做boot.efi的東西。
如果引導載入程式存在問題(例如,如果其檔案在磁碟上已損壞),您將看到引導載入程式錯誤訊息,並且引導過程將停止。
引導載入程式只是一個小程式,它不能自行處理引導過程。在Windows上,Windows Boot Manager查詢並啟動Windows OS Loader。作業系統載入程式載入執行核心(Windows作業系統的核心部分)所需的必要硬體驅動程式,然後啟動核心。然後,核心將系統登錄檔載入到記憶體中,並且還載入帶有“ BOOT_START”標記的任何其他硬體驅動程式,這意味著它們應在引導時載入。Windows核心然後啟動會話管理器程序(Smss.exe),該程序將啟動系統會話並載入其他驅動程式。此過程繼續進行,Windows載入後臺服務以及歡迎螢幕,您可以透過該螢幕登入。
在Linux上,GRUB引導載入程式會載入Linux核心。核心也開啟init系統-這是systemd上最現代的Linux發行版。初始化系統處理啟動服務和其他使用者流程,這些服務和流程始終導致登入提示。
這個涉及的過程只是透過按正確的順序執行操作來使所有內容正確載入的一種方法。
順便說一句,所謂的“ 啟動程式 ”實際上是在您登入使用者帳戶時載入的,而不是在系統啟動時載入的。但是,系統啟動時,某些後臺服務(在Windows上)或守護程式(在Linux和macOS上)在後臺啟動。