Linux系統從開機到登陸介面的啟動過程

2021-09-24 04:08:10 字數 1411 閱讀 6195

1,bios上電自檢(post)

主要功能就是對cpu,主機板,記憶體,軟硬體子系統 顯示子系統 介面 鍵盤 光碟機的檢測。 檢測硬體的好壞。

2,讀取mbr,mbr引導

主引導選單,(masterbootrecord) 一共有446個位元組(引導映象:boot.img) 這裡面記錄著一段可執行**。主要功能就是用於裝載第二引導裝載程式。

放在硬碟第乙個扇區(512)裡面

引導記錄和第乙個分割槽之間共(31744位元組)有足夠的空間來儲存core.img檔案

3,grub2引導選單(grand unified boot loader,version2)

是乙個用於計算機尋找作業系統核心並載入到記憶體的智慧型軟體

配置檔案在 boot/grub2/grub.cfg 。

4,載入核心kernel

真正的核心初始化過程是從這裡開始的,函式start,kerenl()呼叫一系列初始化函式來完成核心本身的個方面設定,最終建立起基本完整的linux核心環境。
———————————————————————————

5啟動init程序,依據inittab檔案設定執行級別

核心載入後,執行的第乙個程式便是/sbin/init 該檔案讀取/etc/inittab檔案來進行初始化工作。他的主要作用就是設定執行級別。

0:關機模式

1:單使用者模式(單人模式,用於系統維護時使用)

2:無網路支援的多使用者模式 (少了nfs服務)

3:有網路支援的多使用者模式(完整模式,不過是文字模式)

4:保留,未使用(系統保留功能)

5:有網路支援的x-windows支援多使用者模式(桌面)

6: 重新引導系統,即重啟

runlevel 檢視執行級別

6.init程序,執行rc.sysinit檔案。(init初始化)

執行etc/rc.d/rc.sysinit 是由init執行的第乙個指令碼,他的主要工作包括配置網路,配置核心引數 掛載root檔案系統,檢查檔案系統,設定系統時鐘,配置機器,開啟交換空間等。

init最終完成狀態是能夠是的一般使用者程式可以正常的被執行,真正完成可**用程式執行系統環境。

7.啟動核心模組,執行不同級別的指令碼程式

具體是依據/etc/modules.conf檔案或/etc/modules.d目錄下的檔案來裝載核心模組。

根據執行級別的不同,系統會執行rc0.d到rc6.d中相應的指令碼程式,來完成相應的初始化工作和啟動相應的服務

8,執行/etc/rc.d/rc.local(開機自啟檔案)

一切初始工作結束後,linux留給使用者個性化的地方,可以把想設定和啟動的東西放在這裡面。

9啟動mingetty,進入系統登陸介面

7版本:kernel核心開始初始化後,用systemd來替代6以前的init程式

C 登陸介面

在c 中從登陸介面進入主介面,進入主介面以後怎麼關閉登陸介面 有很多方法,我就說兩種 方法一 在登入介面的登入按鈕的單擊事件下,寫 這種情況其實把主介面看作登入介面的子窗體。只是把登入介面隱藏,它還存在於記憶體中,不過一般登入介面很小,不佔多少資源,也無所謂。private void btnlogi...

WPF 登陸介面

效果圖 黑色是我的桌面 圓角登入框 以下基於wpf。一開始最先要的效果就是圓角窗體,單純出於美觀的心態,但是人是不滿足的,改了一點就像再有一點。哈哈哈 更改預設 其實就是將原有的窗體變隱藏,然後搞乙個新的出來。windowstyle none allowstransparency true back...

登陸介面by VUE elementUI

過來一遍vue基礎於是想嘗試先寫乙個登陸介面先做準備,為後面的學習開個頭,ui元件選用的是elementui。login style display flex justify content center login1 style text align center position absolut...