Linux 的開機啟動流程分析
幾個名詞
- CMOS
CMOS的主要功能為記錄主機板上面的重要引數, 包括系統時間、CPU 電壓與頻率、各項裝置的 I/O 地址與 IRQ 等,由於這些資料的記錄要花費電力,因此主機板上面才有電池。 BIOS 為寫入到主機板上某一塊 flash 或EEPROM 的程式,他可以在開機的時候執行,以載入 CMOS 當中的引數, 並嘗試呼叫儲存裝置中的開機程式,進一步進入作業系統當中。BIOS 程式也可以修改 CMOS中的資料,每種主機板呼叫BIOS設定程式的按鍵都不同,一般桌面計算機常見的是使用[del]按鍵進入 BIOS 設定畫面。
- BIOS型別:Legacy/UEFI
是系統引導的兩種方式,開機檢測程式,讀取在MBR或者GPT中的bootloader程式(grub)
- 載入CMOS資訊
- 開機檢測(POST):硬體初始化
- 讀取開機管理程式(bootloader)
- MBR/GPT > MBR/GPT 是兩種分割槽格式
- MBR
早期的 Linux 系統為了兼容於 Windows 的磁碟,因此使用的是支援 Windows 的 MBR(Master Boot Record, 主要開機紀錄區) 的方式來處理開機管理程式與分割槽表!而開機管理程式紀錄區與分割槽表則 通通放在磁碟的第一個扇區,這個扇區通常是 512bytes 的大小 (舊的磁碟扇區都是 512bytes 喔!), 所以說,第一個扇區 512bytes 會有這兩個資料:
- 主要啟動記錄區(Master Boot Record, MBR):可以安裝開機管理程式的地方,有 446 bytes
- 分割槽表(partition table):記錄整顆硬碟分割槽的狀態,有 64 bytes 由於分割槽表所在區塊僅有 64 bytes 容量,因此最多僅能有四組記錄區,每組記錄區記錄了該區段的啟 始與結束的磁柱號碼。
- 主分割槽不能超過四個,引入擴充套件分割槽和邏輯分割槽的概念;
- 不能載入超過兩T的磁碟[MBR 不超過2T限制](https://blog.csdn.net/hyy5801965/article/details/51136395 "MBR 不超過2T限制") ;
- 以磁柱為單位進行分割槽
- GPT
- 扇區大小為4K
- 沒有了主分割槽大小不超過4個的限制
- 對扇區直接進行分割槽操作
啟動過程
- BIOS
- 載入CMOS內設定值去的主機的各項硬體配置
- 開機自我測試(POST):硬體檢測並初始化,指定開機裝置
- BootLoader程式啟動:在磁碟中的第一個扇區即在MBR,識別作業系統的檔案格式並載入核心到主儲存器中執行(BootLoader的功能如下)
- BootLoader的功能(核心載入,硬體檢測,驅動載入)
- 提供選單:使用者可以選擇不同的開機專案,這也是多重引導的重要功能!
- 載入核心檔案:直接指向可開機的程式區段來開始作業系統;
- 轉交其他 loader:將開機管理功能轉交給其他 loader 負責
- systemd 程式
- /etc/systemd/system/ 包括下面5項,和之前的SystemV相容
相關推薦
Linux 的開機啟動流程分析
幾個名詞 CMOS CMOS的主要功能為記錄主機板上面的重要引數, 包括系統時間、CPU 電壓與頻率、各項裝置的 I/O 地
Linux開機啟動過程分析
物理內存 登錄 page thread 陷阱門 execute 啟動過程 font 定義 Linux開機啟動過程分析 開機過程指的是從打開計算機電源直到LINUX顯示用戶登錄畫面的全過程。分析LINUX開機過程也是深入了解LINUX核心工作原理的一個很好的途徑。 啟動第一
開機啟動流程分析
boot 啟動流程 本節索引 在對系統啟動流程進行分析的時候,我想你一定是對系統有了一定的了解。系統的啟動目前來講大都為串行接力的方式來啟動。而所謂的並行方式的啟動方式也是某一個階段的並行。所以我按照系統啟動的順序來把文章連綴起來。 * BIOS階段 * BootLoader階段
Linux核心啟動流程分析(一)
1. 依據arch/arm/kernel/vmlinux.lds 生成linux核心原始碼根目錄下的vmlinux,這個vmlinux屬於未壓縮,帶除錯資訊、符號表的最初的核心,大小約23MB; 命令:arm-linux-gnu-ld -o vmlinux -T a
linux-2.6.22.6內核啟動流程分析之配置
linux 分享圖片 src image 比較 文件包含 子目錄 2.6 config 配置過程最終結果是生成.config文件,我們想要對配置的目的有很清楚的了解,必須先對.config文件進行分析。通過cd命令切換到linux-2.6.22.6內核目錄,輸入vi .co
android開機啟動流程簡單分析
android啟動 當載入程式啟動Linux核心後,會載入各種驅動和資料結構,當有了驅動以後,開始啟動Android系統同時會載入使用者級別的第一個程序init(system\core\init\init.cpp)程式碼如下: int main(int ar
ARM Linux啟動流程分析——start_kernel前啟動階段(彙編部分)
本文整理了ARM Linxu啟動流程的第二階段——start_kernel前啟動階段(彙編部分),核心版本為3.12.35。我以手上的樹莓派b(ARM11)為平臺示例來分析Linux核心在自解壓後到跳轉執行start_kernel之前所做的主要初始化工作:包括引數有效性驗證
Linux系統啟動流程
linux系統啟動流程Linux系統啟動流程Linux系統啟動流程圖1、加電自檢 上電自檢POST,主要負責檢測系統外圍關鍵設備(如:CPU、內存、顯卡、I/O、鍵盤鼠標等)是否正常, 自檢完成後從BIOS中設置的系統啟動順序來搜索用於啟動系統的驅動器2、grub引導(1)grub引導第一階段(stag
Linux 開機啟動程序的順序
kernel 順序 run 開始 開機 bin 加載 iso linux 1.加載BISO的硬件信息,並取得第一個開機代號 2.讀取第一個開機裝置的mbr的boot loader的信息 3.加載kernel操作系統核心信息,開始解壓縮,並驅動所有硬件裝置 4.kernel執
Android5 Zygote 與 SystemServer 啟動流程分析
進一步 null 正常的 rtb 這樣的 ket constant vml resp Android5 Zygote 與 SystemServer 啟動流程分析 Android5 Zygote 與 SystemServer 啟動流程分析 前言 zy
linux系統啟動流程(CentOS5/6/7為例)
centos 系統一個操作系統要完整啟動起來需要哪些步驟呢?今天以CentOS為例探索一下linux的啟動流程;一、Linux系統的組成--kernel+rootfs(根文件系統)kernel: 內核,進行進程管理、內存管理、網絡管理、驅動程序、文件系統、安全功能等等rootfs: 根文件系統1.內核設計流派
LINUX之啟動流程
啟動 分享 src 引導 一個 技術分享 bio 化工 swap分區 (上圖片轉自一位高手所做) 啟動第一步--加載BIOS當你打開計算機電源,計算機會首先加載BIOS信息,BIOS信息是如此的重要,以至於計算機必須在最開始就找到它。這是因為BIOS中包含了CPU
linux 系統啟動過程分析
系統root 密碼丟失故障 linux啟動順序主板BIOS加電自檢 檢查硬件--> 讀取硬盤引導扇區(MBR)--> 啟動引導程序(grub)--> 選擇系統--> 加載系統內核(kernel shell)--> 啟動系統讀取相應的默認設置(環境變量,運行級別)--
2017-9-11-Linux開機啟動腳本
ges margin pla png linux發行版 com mar image height 還是先開門見山的說,Linux需要添加開機啟動程序有兩種方法:1、修改/etc/rc.d/rc.local腳本。2、在/etc/rc.d/init.d目錄下添加一個shell
CentOS 5.X 開機啟動流程
centos 啟動流程CentOS 5.X 開機啟動流程
Linux的啟動流程
啟動流程前言:當我們了解了系統的啟動過程,那麽系統啟動出問題時,我們就能知道什麽地方出錯了,就能哪裏出錯修哪裏,不需要重裝系統。CentOS6和CentOS7啟動流程類似,不過CentOS6和7在啟動後期不一樣,CentOS6後期是init,CentOS7是systemd,那麽細節之處呢,跟著我一塊看看吧!l
kexec 內核快速啟動流程分析
-- 令行 並且 內存 tab 執行過程 family use -a 一、命令行 1. kexec -l $kpwd --append="$arg" 其中$kpwd =目標內核的路徑 $arg =傳給內核的參數,與/proc/cmdline一致時表示重啟現有內核
linux開機啟動過程、PATH、過濾一級目錄、cd的參數、ls -lrt、命令切割日誌
linux 開機啟動過程 cd ls 第二波命令正向我方來襲 :開機啟動過程、PATH、過濾一級目錄、cd的參數、ls -lrt、命令切割日誌 1.1 linux開機啟動過程1.1.1 開機自檢(BIOS)-- MBR引導 -- GRUB菜單 -- 加載內核(kernel)-- 運
Linux開機啟動文件rc.local無法執行怎麽辦?
關系 cal 刪除 ring 但是 怎麽辦 post 重啟 img rc.local是Linux系統中的一個重要的開機啟動文件,每次開機都要執行這個文件。但是有一些用戶的Linux系統無法執行這個文件,並導致了一系列的問題。遇到這個問題我們應該怎麽辦呢? 在L
Linux開機啟動過程
ref com top 加載 otto image process run pro 1.BIOS開機自檢2.讀取MBR:主引導記錄(Master Boot Record)3.GRUB:(Grand Unified BootLoader)多系統啟動程序4.Kernel:加載內