Linux基礎教程:CentOS開機流程詳解

2020-12-19 騰訊網

Linux

CentOS開機流程詳解

開機流程

BIOS:

(Basic Input Output System)基本輸入輸出系統,它是一組固化到計算機內主板上一個ROM晶片 上的程序,保存著計算機最重要的基本輸入輸出的程序、開機後自檢程序和系統自啟動程序,可從CMOS中讀寫系統設置的具體信息。

MBR: Master Boot Record,主要引導記錄區。

Boot Loader:啟動引導程序。

開機詳細流程:

第一步:加載BIOS

打開計算機電源,計算機硬體會自動加載BIOS,讀取BIOS內相關硬體信息及進行硬體系統的自檢,隨後根據BIOS配置找到第一個有引導程序的的設備。

第二步:讀取MBR

硬碟上第0磁軌第一個扇區被稱為MBR,即主引導記錄,大小是512位元組,存放了預啟動信息、分區表信息。系統找到BIOS所指定的硬碟的MBR後,就會將其複製到物理內存中,被複製到物理內存的內容就是Boot Loader(lilo或者grub)。

第三步:啟動Boot Loader

Boot Loader 就是在作業系統內核運行之前運行的一段小程序。通過這段小程序,我們可以初始化硬體設備、建立內存空間的映射圖,從而將系統的軟硬體環境帶到一個合適的狀態,以便為最終調用作業系統內核做好一切準備。Boot Loader有若干種,其中Grub、Lilo是常見的Loader。本文以Grub為例講解,grub功能:提供一個菜單,允許用戶選擇要啟動的系統或不同的內核版本;把用戶選定的內核裝載到RAM中的特定空間中,解壓、展開。

系統讀取內存中的grub配置信息(一般為menu.lst或grub.conf),並依照此配置信息來加載指定內核。

第四步:加載內核

grub把系統控制權移交給內核,內核開始探測可識別到的所有硬體設備及嘗試掛載根目錄以獲取其驅動程序。此時就需要首先加載磁碟驅動程序以便讀取磁碟,而磁碟驅動程序又保存在磁碟內,這樣就會導致linux無法啟動。此時需要通過偽文件系統來解決這一問題。

虛擬文件系統 (Initial RAM Disk) 即

class="sysbr">/boot/initramfs-release.img ,這個文件的特色是,能夠通過boot loader 再加載到內存中, 然後這個文件會被解壓縮並且在內存當中模擬成一個根目錄,且此模擬在內存當中的文件系統能夠提供一支可運行的程序,透過該程序來加載啟動過程中所最需要的核心模塊,通常這些模塊就是 U盤, RAID, LVM, SCSI 等文件系統與磁碟的驅動程序。等加載完成後, 會幫助核心重新呼叫 /sbin/init 來開始後續的正常啟動流程。

註:RamDisk是輔助性文件,並非必須,取決於內核是否能直接驅動根文件系統所在的設備。

第五步:運行/sbin/init程序,設定linux的運行等級

內核加載完畢後,運行用戶空間內第一個應用程式就是/sbin/init,然後讀取/etc/inttab文件,依據文件配置設定系統運行等級;

第六步:init進程執行rc.sysinit

設定了運行等級後,Linux系統執行/etc/rc.d/rc.sysinit系統初始化腳本程序。初始化包括:設置主機名、設置歡迎信息、激活Udex和seliux、掛載/etc/fstab文件中定義的所有文件系統、檢測根文件系統、設置系統時鐘、根據/etc/sysctl.conf文件來設置內核參數、激活LVM及軟RAID設備、激活swap設備、加載額外設備的驅動程序、執行清理操作。

第七步:啟動內核模塊

具體是依據/etc/sysconfig/modules文件目錄下的文件來裝載內核模塊。第八步:執行 run-level 的各個服務啟動 (script 方式)

根據運行級別的不同,系統會運行rc0.d到rc6.d中的相應的腳本程序,來完成相應的初始化工作和啟動相應的服務。

第九步:執行/etc/rc.d/rc.local

rc.local就是在一切初始化工作後,Linux留給用戶進行個性化的地方。你可以把你想設置和啟動的東西放到這裡。

第十步:執行/bin/login程序,進入登錄狀態

Linux 就會啟動終端機或者是 X Window 來等待使用者登陸。

好啦!今天的分享到這裡就結束了,希望為正在學習Linux的同學提供參考。

相關焦點

  • CentOS 7 安裝 免費的WAF防火牆-Shadow Daemon
    圖1配置docker-ce倉庫:# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • Linux下開啟VNCserver服務(遠程連接)
    實驗環境:centos6.8 可支持 linux連linux linux連Windows1、檢查系統是否安裝了vnc 和 vncserver, rpm -qa | grep vnc如果沒有安裝那就行自行下載安裝(我這裡用yum安裝了,vncserver
  • linux中的vim命令
    如何查看命令的幫助文檔,三種方式:內置命令:help ls外部命令:ls --help,簡單的幫助文檔手冊man ls, 通過使用man查看詳細的幫助內容vim和vi命令本質上就是一個命令,這個命令是在linux命令中專門用來編輯文本文件的
  • 神速,CentOS 繼承者 Rocky Linux 官網上線
    項目官網:https://rockylinux.org/延伸閱讀CentOS 創始人開闢新項目 Rocky LinuxCentOS 已死
  • CentOS「linux」學習筆記25:shell編程for和while循環
    linux基礎操作:主要介紹了shell編程流程控制for和while循環語句。
  • Linux-1.2.1 常見的Linux發行版本(背書連載)
    雖然歷史不及其他Linux歷史久遠,但比起很多的linux發行套件還是要歷史悠久很多的。自從Red Hat 9.0發行之後,2004年4月30日 Red Hat公司就不在開發桌面版本的Linux發行套件了,而是將全部的精力集中到伺服器版本的開發上,也就是Red Hat Enterprise Linux版。
  • 在Linux作業系統裡使用xargs命令
    linux作業系統專題文章:linux作業系統詳解(linux不再難懂)xargs命令有兩個要點。第一,你必須列出目標文件。第二,你必須指定對每個文件需要執行的命令或腳本。 linux作業系統文章專題:linux作業系統詳解
  • Linux 中如何使用 IP 命令
    命令和 ifconfig 命令很相似,但是 相比起來,ip命令的功能更強大,它能執行多種 ifconfig 命令無法執行的任務本文將介紹 ip 命令常用的一些操作顯示所有網絡接口信息輸入 ip addr 或者 ip a 命令可以顯示所有的網絡接口信息[root@ecs-centos
  • Intel 執行長 Craig Barrett 不看好Linux桌上型電腦市場
    DispCols/cn/Linux/Intel/Craig-Barrett/%E4%BC%BA%E6%9C%8D%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/0106261956GX.shtmll linux
  • 國產linux發行版本——deepin作業系統安裝方法
    大家好,歡迎回到萬魔寺,前兩期,和大家一起學習了ubuntu系統的安裝,今天我們一起來學習一下國產linux作業系統deepin的安裝方法。deepin系統是由武漢深之度科技有限公司開發,在網絡上口碑比較好的一款linux國產發行版。
  • 教你如何將 CentOS 8 轉換為 CentOS Stream
    使用以下命令驗證系統是否是centos-stream版本:
  • 迅為i.MX6ULL 開發板開機進度條修改文檔
    轉自:迅為IMX6ULL開發板使用手冊第七十一章硬體平臺:迅為i.MX6ULL 開發板本章節介紹的是iTOP-iMX6ULL-修改開機進度條的顯示和修改步驟,使用的資料已經放到了開發板網盤資料中路徑為「11_Linux系統開發進階\71_章節_修改開機進度條修改文檔使用資料」。
  • Linux-1.1.1 Linux與開源軟體(背書連載)
    很多新手都有一個疑惑的問題:「linux我聽過,但是學習之後能用來幹什麼呢?或者說linux能具體做什麼呢?」帶著這個疑問,本書開篇先概述linux與開源軟體的關係以及linux的應用領域和未來的發展方向。
  • linux各個目錄代表什麼
    然後就是每個文件夾名字都有意義的啊 具體百度 真的好用結果經過搜索發現命令行不起作用了 是因為/usr/sbin的系統命令被我給刪了(bin刪除了 usr還能不能用這個不知道 得重新安裝了 才能試驗 ) 同理遠程伺服器把存放網絡信息的 /etc 或者 存放開機或者關機啟動項目的
  • PS4燒機的主要原因 詳解ps4正確的開機姿勢
    PS4燒機的主要原因 詳解ps4正確的開機姿勢 來源:www.18183.com作者:皮卡時間:2015-07-06 由於操作不當所引起的PS4燒機、燒掉HDMI接口的情況蠻多,筆者走訪了許多遊戲店,並且自己親身體驗和研究得出了一些PS4大概率燒機的結論和預防知識。
  • 騰訊雲cvm下linux、centos環境下安裝寶塔網站伺服器教程
    現在做個人網站或者企業網站的還是很多的,大家現在一般都選擇阿里雲或者騰訊雲購買相應的雲伺服器來部署安裝自己的網站或對應的web環境,現在國內主流的普遍都使用寶塔的環境,相對來說部署比較簡單,容易上手,關鍵是還免費,深受廣大技術愛好者的喜歡,在此我給大家做一期教程,來給大家演示一下如何來部署linux
  • 《生化危機5》全流程圖文攻略 全劇情流程詳解
    下面請看《生化危機5》全流程圖文攻略 全劇情流程詳解。   《生化危機5》全流程圖文攻略 全劇情流程詳解:   Chapter 1-1