1. 程式人生 > 其它 >開機啟動流程

開機啟動流程

開機啟動流程

1.CentOS6啟動流程

1.核心引導
	1.1.BIOS加電自檢,檢測主機板上的硬體裝置,格局BIOS的設定啟動系統
	1.2.讀取/boot分割槽下的所有核心檔案
2.執行init
	2.1.init在CenOS中,是所有程序的啟動,如果程序要啟動,那麼必須要有init
	2.2.執行init程式首先是要讀取/etc/inittab配置檔案,會讀取裡面的預設執行級別,獲取當前系統的執行級別
	2.3.執行級別的分類:
		0:關機執行級別
		1:單使用者執行級別
		2:多使用者執行級別(沒有檔案系統)
		3:完整的多使用者級別
		4:保留位
		5:多使用者的圖形化介面
		6:重啟執行級別
	## init程序在CentOS6中名為:Upstart
	## init程序在CentOS7中為:Systemd
	## 檢視當前系統的執行級別:runlevel
3.系統初始化
	因為Linux中不同的級別會開啟不同的開機自啟動程式,所以要根據裡面的執行級別來開啟這些自啟動的服務
	## 檢視系統中開機自啟動的服務:chkconfig --list
4.建立終端
	以上都完成後,系統的基本系統環境已經設定完成,此時init就會建立終端,來讓使用者登入系統
5.使用者登入系統

2.CentOS7啟動流

1.BIOS(開機自檢)
	BIOS加電自檢,檢測主機板上的硬體裝置,格局BIOS的設定啟動系統
2.MBR引導
	主引導記錄放在Linux引導硬碟的第一個扇區中,此資訊通過BIOS預載入到只讀記憶體中(ROM),MBR的大小隻有512個位元組,MBR會載入並執行GRUB2引導載入程式
3.GRUB2引導選單
	grub2選單就是如果裝了雙系統,就會讓你進行選擇需要進入的系統
4.Kerenl(核心引導)
	讀取/boot下的所有核心檔案
5.執行systemd
	在CentOS7裡第一個程序不是init,而是systemd,但是效果是一樣的
	執行級別的分類(在systemd中使用targets來表示):
		runlevel0.target -> poweroff.target:關機執行級別
		runlevel1.target -> rescue.target:單使用者執行級別
		runlevel2.target -> multi-user.target:多使用者執行級別
		runlevel3.target -> multi-user.target:多使用者執行級別
		runlevel4.target -> multi-user.target:多使用者執行級別
		runlevel5.target -> graphical.target:多使用者圖形化執行級別
		runlevel6.target -> reboot.target:重啟執行級別

3.CentOS7進入單使用者模式修改執行級別

1.將虛擬機器開啟
2.進入gurb2選單
3.按e編輯進入grub2選單的核心引數
4.修改grub2選單的核心引數
## 在linux16最後加入rd.break
5.修改完成後按ctrl+x進入命令列模式
6.重新掛載root許可權目錄
7.獲取root許可權
8.修改預設執行級別
## 檢視當前的執行級別:systemctl get-default
## 最好不要設定級別6的reboot.target和級別0的poweroff.target,如果設定了那麼虛擬機器也就啟動不起來了
9.退出重啟

4.CentOS7進入單使用者模式修改root密碼

1.開啟虛擬機器
2.進入grub2選單
3.按e編輯進入grub2選單的核心引數
4.修改grub2選單的核心引數
## 找到linux16,在它的最後面加入enforcing=0 init=/bin/bash
5.修改完成後按ctrl+x進入命令列模式
6.修改密碼,並重新載入init
## 重新載入init:exec /sbin/init
## 如果在核心引數中,沒有將linux中的ro改成rw則需要重新掛載/目錄:mount -o rw,remount /