啟動流程
systemv
載入 bios 的硬體資訊與進行自我測試,並依據配置取得第乙個可啟動的裝置;
讀取並執行第乙個啟動裝置內 mbr 的 boot loader (亦即是 grub, spfdisk 等程式);
依據 boot loader 的配置載入 kernel ,kernel 會開始偵測硬體與載入驅動程式;
在硬體驅動成功後,kernel 會主動呼叫 init 程式,而 init 會取得 run-level 資訊;
init 執行 /etc/rc.d/rc.sysinit 檔案來準備軟體執行的作業環境 (如網路、時區等);
init 執行 run-level 的各個服務之啟動 (script 方式);
init 執行 /etc/rc.d/rc.local 檔案;
init 執行終端機模擬程式 mingetty 來啟動 login 程式,最後就等待使用者登陸啦;
systemd
1.載入 bios 的硬體資訊與進行自我測試,並依據設定取得第乙個可開機的裝置;
2.讀取並執行第乙個開機裝置內 mbr 的 boot loader (亦即是 grub2, spfdisk 等程式);
依據 boot loader 的設定載入 kernel ,kernel 會開始偵測硬體與載入驅動程式;
在硬體驅動成功後,kernel 會主動呼叫 systemd 程式,並以 default.target 流程開機;
systemd 執行 sysinit.target 初始化系統及 basic.target 準備作業系統;
systemd 啟動 multi-user.target 下的本機與伺服器服務;
systemd 執行 multi-user.target 下的 /etc/rc.d/rc.local 檔案;
systemd 執行 multi-user.target 下的 getty.target 及登入服務;
systemd 執行 graphical 需要的服務
mbr:
全稱為master boot record,中文:主引導記錄,在0柱面0磁頭1扇區,大小為512位元組,這個區域
被分為三部分:
1)前446個位元組:這裡存放引導引導程式(boot loader),如grub2等,
2)中間64個位元組:這個區域被稱為分割槽表(partition table),記錄4組分區資訊,每16位元組一組,每組分區
資訊包含:分割槽狀態(啟用,未啟用)、分割槽型別、起止柱面號、起止
磁頭號、起止
扇區號、定址方式(線性定址方式和分割槽相對扇區位址)、分割槽總扇區數目(4個位元組)等內容,這四組分割槽資訊,稱為主分割槽(primary)或者擴充套件分割槽(extended).
注意:每組分區中包含4個位元組的總扇區數:2^32,這裡的總扇區數目指的是這塊硬碟的總扇區數目,而不是指這個主分割槽裡的總扇區數目,轉化為tb,2^32*512/1024/1024/1024/1024=2tb,即mbr不支援
硬碟容量大於2tb以上的硬碟.
3)最後2個位元組:
固定為55aa,佔2位元組
如果這個標識被破壞,即便磁碟正常分割槽也會被認為這塊磁碟是一塊全新的沒有被分割槽的盤
boot loader的作用:
什麼是擴充套件分割槽?
所謂擴充套件分割槽,嚴格地講它不是乙個實際意義的分割槽,它僅僅是乙個指向下乙個分割槽的指標,這種指標結構將形成乙個單向鍊錶。這樣在主引導扇區中除了主分割槽外,僅需要儲存乙個被稱為擴充套件分割槽的分割槽資料,通過這個擴充套件分割槽的資料可以找到下乙個分割槽(實際上也就是下乙個邏輯磁碟)的起始位置,以此起始位置類推可以找到所有的分割槽。無論系統中建立多少個邏輯磁碟,在主引導扇區中通過乙個擴充套件分割槽的引數就可以逐個找到每乙個邏輯磁碟
擴充套件分割槽結構:擴充套件引導記錄(ebr)+ 邏輯分割槽
注:擴充套件分割槽中的每個邏輯驅動器都存在乙個類似於mbr的擴充套件引導記錄( extended boot record, ebr)
擴充套件引導記錄(ebr):類似於mbr的擴充套件引導記錄,擴充套件引導記錄包括乙個擴充套件分割槽表和該扇區的標籤.
擴充套件引導記錄將記錄只包含擴充套件分割槽中每個邏輯驅動器的第乙個柱面的第一面的資訊,但是,如果磁碟上沒有擴充套件分割槽,那麼就不會有擴充套件引導記錄和邏輯驅動器。
ebr結構:
邏輯分割槽前扇區,如擴充套件分割槽0號扇區(512bytes)
前446bytes:未使用,全為0;
擴充套件分割槽表(64bytes):記錄分割槽狀態,每16bytes分為乙個項,共四個項。
第一項:指向它自身的引導扇區;
注:如果不存在進一步的邏輯驅動器,第二項不會使用,且被記錄成一系列零。
第三項:未使用
第四項:未使用
結束標識(2bytes): 55aa ,有效性標識;55aa為有效
開機啟動流程
centos6 1.核心引導 加電自檢,檢查bios的配置,檢測硬體,開機 2.執行init 3.系統初始化 4.建立終端 5.使用者登入 關機命令 init 0 halt shutdown h now shutdown h 20 20 shutdown h 10 poweroff 重啟命令 1.b...
Linux 開機啟動流程
1.加電自檢 我們知道整個主機在開機的時候,第乙個被讀取的地方,就是 bios basic input output system 啦,這個 bios 裡面記錄了主機板的晶元組與相關的設定,例如 cpu 與介面裝置的溝通頻率啊 開機裝置的搜 尋順序啊 硬碟的大小與型別啊 系統時間啊 各周邊匯流排的是...
linux開機啟動流程
首先了解下硬碟的第乙個扇區 大小為512bytes 這個扇區主要記錄兩個重要資訊 1.mbr master boot record 主引導分割槽,大小為446bytes,可以安裝引導引導程式的地方。2.分割槽表 partition table 記錄硬碟分割槽資訊 1.執行bios程式,根據bios的...