# Linux 啓動過程 ## 1、計算機的啓動過程 ### 一、兩種啓動方式 #### 1.一、傳統啓動方式(Legacy+mbr) 指傳統BIOS啓動方式,存在一些不足:好比最大隻支持2TB磁盤,磁盤最多四個分區,且不支持圖形操做 #### 1.二、UEFI+GPT方式 是新式的啓動方式,逐步取代傳統啓動方式 相對於Legacy+mbr, 優勢在啓動更快(不要開機自檢),最多可支持128個磁盤分區最大可支持18EB硬盤支持圖形操做 ### 二、計算機啓動流程(以Legacy+mbr爲參考) - 開機,系統BIOS加電自檢 - 讀主引導扇區MBR - 讀取激活分區DBR - 操做系統引導代碼引導系統並讀取操做系統初始化文件  ### 三、專業術語介紹 - BIOS: > Basic Input Output System(基本輸入輸出系統)的簡稱,是一組固化到主板中一個ROM芯片上的程序 - Legacy > 傳統的BIOS架構,每次啓動需自檢,且不支持圖形操做 - UEFI: > 統一的可擴展固件接口(Unified Extensible Firmware Interface),uefi是新式的BIOS架構,每次啓動可不需自檢,支持圖形操做 - MBR > Master Boot Record: 主引導記錄 ,是一種磁盤分區架構 做用:檢查分區表是否正確以及肯定哪一個分區爲引導分區,並在程序結束時把該分區的啓動程序調入內存加以執行,是BIOS轉向操做系統的操做入口 不足: 支持的分區少,且最大隻支持2TB磁盤 - GPT > GPT全稱:Globally Unique Identifier Partition Table Format,全局惟一標識分區表,一種由基於 Itanium 計算機中的可擴展固件接口 (EFI) 使用的磁盤分區架構,用於取代MBR磁盤分區架構 優勢:最多可支持128個磁盤分區,且最高可支持18EB的大硬盤等 - DBR > 分區引導扇區也稱DBR,DBR是由硬盤的MBR裝載的程序段。DBR裝入內存後,即開始執行該引導程序段,其主要功能是完成操做系統的自舉並將控制權交給操做系統。從而完成操做系統的啓動 ## 2、Linux 的啓動過程(Centos 7) ### 一、加載BIOS(Basic Input/Output System) > 這裏在上面的 windows 啓動過程當中,這裏的加載 bois 能夠囊括爲:開機 -> 找到 Bois -> 自檢(檢查必要驅動和硬件) -> 找到啓動介質(通常指的是系統所在磁盤) -> 讀取並執行主引導分區(MBR) ### 二、進入GRUB > GRUB(Grand Unified Bootloader) 引導程序,能夠對各類linux 大型版本進行引導,也能夠引導其餘操做系統 ### 三、加載Linux Kernel > 加載 linux 的內核 #### 3.一、探測可識別到的全部硬件設備 #### 3.二、加載硬件驅動程序 #### 3.三、以只讀方式掛載根文件系統 - 內核初始化信息可在啓動完成後用dmesg命令查看。 ### 四、執行init進程 > 第一個進程,PID爲1,是全部進程的父進程。負責產生其餘全部用戶進程 在 Linux 操做系統也是一個進程,每一個進程都會有對應的 pid (進程號),這個 id = 1。 ### 五、根據init配置文件設置默認運行級別 #### 5.一、在centos7中: 初始化程序init是systemd,其配置文件在:/usr/lib/system/systemd/, /etc/systemd/system/ #### 5.二、查看/etc/inittab 文件, 可獲取系統默認運行級別 Linux 系統中運行級別總共分爲 7 個: - L0:系統停機狀態,系統默認運行級別不能設爲0,不然不能正常啓動 - L1:單用戶工做狀態,root權限,用於系統維護,禁止遠程登錄 - L2:多用戶狀態(沒有NFS) - L3:徹底的多用戶狀態(有NFS),登錄後進入控制檯命令行模式 - L4:系統未使用,保留 - L5:X11控制檯,登錄後進入圖形GUI模式 - L6:系統正常關閉並重啓,默認運行級別不能設爲6,不然不能正常啓動 ### 六、執行默認級別中的全部 Script 腳本 ### 七、執行/bin/login程序,提示用戶輸入賬戶和口令  ## 3、Grub 的啓動過程 ### 一、GRUB > GRUB(Grand Unified Bootloader)引導程序,能夠對各類linux發行版本進行引導,也能夠引導其它操做系統 ### 二、查看 GRUB 配置文件 > grub配置文件名:grub.cfg , 保存在/boot/grub2目錄中(須要進入root用戶 ,纔有權查看) #### 2.一、查看 GRUB 內容 - 查看內容命令:
sudo /boot/grub2/grub.cfglinux
- 查看內容命令:
cat /etc/default/grubwindows
- 查看目錄列表命令:
ls /etc/grub.dcentos
#### 2.二、修改grub引導菜單等待時間 - 詳細信息能夠查看文章[《Linux 修改 GRUB 引導菜單等待時間》](https://blog.csdn.net/CalledJoker/article/details/104969253) https://blog.csdn.net/CalledJoker/article/details/104969253 #### 2.三、重置 root 密碼 - 詳細信息能夠查看文章[《Linux、CentOS 強制重置 Root 帳戶密碼》](https://blog.csdn.net/CalledJoker/article/details/105026700) https://blog.csdn.net/CalledJoker/article/details/105026700 ## 4、設置 Linux 運行級別(圖形化 or 命令行) - 詳細信息能夠查看文章[《Linux、CentOS 強制重置 Root 帳戶密碼》](https://blog.csdn.net/CalledJoker/article/details/105026890) https://blog.csdn.net/CalledJoker/article/details/105026890 ---- 人若無名,專心練劍~!