linux开机引导过程总览
簡單的說,系統的啟動過程如下:
1.開機自檢:
按下電源按鍵后,計算機硬件會主動讀取BIOS加載硬件信息并進行硬件的自我測試,然后系統會根據BIOS里的啟動順序讀取第一個可啟動的設備,從而移交系統控制權,大多數時候移交給本機硬盤。
2.MBR引導
當從本機硬盤中啟動系統時,首先根據硬盤第一個扇區中MBR(Master Boot Record,主引導記錄)的設置,將系統的控制權傳遞給包含操作系統引導文件的分區,或者直接根據
MBR記錄中的引導信息調用啟動菜單(如GRUB)。
3.GRUB菜單
啟動過程中,每個引導裝載程序使用的軟件可能都不一樣。目前各大linux distributions的主流為grub,但是早期默認使用LILO,包括現在有很多朋友喜歡使用spfdisk。當系統
控制權交給grub后,顯示啟動菜單供用戶選擇,并根據所選項(或者默認值)加載Linux內核文件,然后將系統控制權轉交給內核。
4.加載Linux內核
linux內核是一個預先編譯好的特殊二進制文件,介于各種硬件資源和系統程序之間,負責資源分配和調度。當加載內核到內存中,內核會檢測所有硬件信息和加載適當的驅動
程序來使這部主機可以開始運行.。
5.init進程初始化
當內核檢測和加載驅動成功后,將主動調用'/sbin/int'程序到內存中運行,(運行中的程序叫進程)init進程則負責完成一系列的系統初始化過程,最后等待用戶登錄。
(1)init會取得run-level信息;
(2)init執行/etc/rc.d/rc.sysinit文件來準備軟件執行的操作環境(如網絡、時區等);
(3)init執行run-level的各個服務的啟動(script方式);
(4)init執行/etc/rc.d/rc.local文件;
(5)init執行終端機模擬程序mingetty來啟動login進程,最后等待用戶登錄。
轉載于:https://www.cnblogs.com/yuanhonli-xin/p/8232818.html
總結
以上是生活随笔為你收集整理的linux开机引导过程总览的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 脚本进阶,函数调用实例练习
- 下一篇: 从shiro源码角度学习工厂方法设计模式