Linux 系統啟動過程 Linux系統的啟動過程可以分為5個階段: BIOS自檢 內核的引導。 運行init。 系統初始化。 用戶登錄系統。 BIOS自檢: BIOS是英文"Basic Input Output System"的縮寫,中文名稱就是"基本輸入輸出系統"。 BIOS是電腦啟動時載入的第 ...
Linux 系統啟動過程
Linux系統的啟動過程可以分為5個階段:
- BIOS自檢
- 內核的引導。
- 運行init。
- 系統初始化。
- 用戶登錄系統。
BIOS自檢:
BIOS是英文"Basic Input Output System"的縮寫,中文名稱就是"基本輸入輸出系統"。 BIOS是電腦啟動時載入的第一個程式,它是電腦內主板上一個ROM晶元上的程式,它保存著電腦最重要的基本輸入輸出的程式、開機後自檢程式和系統自啟動程式,它可從CMOS中讀寫系統設置的具體信息。 其主要功能是為電腦提供最底層的、最直接的硬體設置和控制。主機接通電源後,系統將有一個對內部各個設備進行檢查的過程,這是由一個通常稱之為POST(Power On Self Test,上電自檢)的程式來完成的。這也是BIOS的一個功能。完整的POST自檢將包括CPU、640K基本記憶體、1M以上的擴展記憶體、ROM、主板、 CMOS存貯器、串並口、顯示卡、軟硬碟子系統及鍵盤測試等。自檢中若發現問題,系統將給出提示信息或鳴笛警告。如果自檢沒有問題,會根據BIOS中的引導選項中查找引導設備,然後讀取設備的第一扇區,設備的第一個扇區(MBR)主要記錄了系統的分區信息。 內核引導: 此時BIOS將許可權交給GRUB(GRand Unified Bootloade),GRUB到/boot目錄下去讀取內核文件。讀取成功後,將控制權交給內核。 INIT: 內核啟動系統的第一個進程INIT,因此INIT的進程號總是1,init進程是所有進程的發起者和控制者,所有如果init出現問題,系統隨之垮掉。init讀取配置文件/etc/inittab,決定啟動的運行級別(runlevel)。Linux系統有7個運行級別(runlevel):
- 運行級別0:系統停機狀態,系統預設運行級別不能設為0,否則不能正常啟動
- 運行級別1:單用戶工作狀態,root許可權,用於系統維護,禁止遠程登陸
- 運行級別2:多用戶狀態(沒有NFS)
- 運行級別3:完全的多用戶狀態(有NFS),登陸後進入控制台命令行模式
- 運行級別4:系統未使用,保留
- 運行級別5:X11控制台,登陸後進入圖形GUI模式
- 運行級別6:系統正常關閉並重啟,預設運行級別不能設為6,否則不能正常啟動
系統初始化:
centos7以前版本在/etc/inittab文件中系統預設運行級別。然後根據運行級別/etc/rc*.d執行相應的環境初始化,建立終端。
用戶登陸:
輸入用戶名密碼登陸系統。
初次安裝系統後,系統的時區可能不是我們想要的。
1、查看系統時間:
[root@localhost ~]# timedatectlLocal time: Mon 2019-04-29 01:24:46 CST
Universal time: Sun 2019-04-28 17:24:46 UTC
RTC time: Sun 2019-04-28 19:19:12
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
發現系統時間和Universal time時間相差8個小時;
2、將當前系統所處的分區重新命名:
[root@localhost ~]# mv /etc/localtime /etc/localtime.bak
3、將/usr/share/zoneinfo/中創建軟連接以替換當前的時區信息:
[root@localhost ~]# ln -s /usr/share/zoneinfo/Universal /etc/localtime
4、再次查看系統時間
[root@localhost ~]# timedatectl
Local time: Sun 2019-04-28 19:26:03 UTC
Universal time: Sun 2019-04-28 19:26:03 UTC
RTC time: Sun 2019-04-28 19:26:03
Time zone: n/a (UTC, +0000)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a