Linux 啓動過程

# Linux 啓動過程

## 1、計算機的啓動過程

### 一、兩種啓動方式

#### 1.一、傳統啓動方式(Legacy+mbr)
指傳統BIOS啓動方式,存在一些不足:好比最大隻支持2TB磁盤,磁盤最多四個分區,且不支持圖形操做

#### 1.二、UEFI+GPT方式

是新式的啓動方式,逐步取代傳統啓動方式

相對於Legacy+mbr, 優勢在啓動更快(不要開機自檢),最多可支持128個磁盤分區最大可支持18EB硬盤支持圖形操做

### 二、計算機啓動流程(以Legacy+mbr爲參考)

- 開機,系統BIOS加電自檢
- 讀主引導扇區MBR
- 讀取激活分區DBR
- 操做系統引導代碼引導系統並讀取操做系統初始化文件

![win 啓動過程](http://bucketblog.oss-cn-shenzhen.aliyuncs.com/blog/pic2020/03/win_startup.png)

### 三、專業術語介紹
- 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程序,提示用戶輸入賬戶和口令

![Linux啓動過程](http://bucketblog.oss-cn-shenzhen.aliyuncs.com/blog/pic2020/03/linux_startup.png)

## 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


----
人若無名,專心練劍~!
相關文章
相關標籤/搜索