Linux 系統的啟動過程

2021-08-08 02:10:07 字數 1626 閱讀 1320

linux啟動時可以看到很多啟動資訊。

linux系統的啟動過程並沒有想象中那麼複雜,可以分為五個階段:

核心引導

計算機通電以後,首先bios會進行開機自檢,按照bios中設定的啟動裝置(通常是硬碟)來啟動。作業系統接管硬體以後,首先讀入/boot目錄下的核心檔案。

執行init

init程式是系統所有程序的起點,它可以被看作系統所有程序的老祖,沒有這個程序,系統中的程序都不會啟動。init程式首先需要讀取配置檔案/etc/inittab

執行級別

許多程式需要開機啟動。它們在windows叫做」服務」(service),在linux就叫做」守護程序」(daemon)。

init程序的一大任務,就是去執行這些開機啟動的程式。

但是,不同的場合需要啟動不同的程式,比如用作伺服器時,需要啟動apache,用作桌面就不需要。

linux允許為不同的場合,分配不同的開機啟動程式,這就叫做」執行級別」(runlevel)。也就是說,啟動時根據」執行級別」,確定要執行哪些程式。

linux系統有7個執行級別(runlevel):

建立終端

rc執行完畢後,返回init。這時基本系統環境已經設定好了,各種守護程序也已經啟動了。

init接下來會開啟6個終端,以便使用者登入系統。在inittab中的以下6行就是定義了6個終端:

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

從上面可以看出在2、3、4、5的執行級別中都將以respawn方式執行mingetty程式,mingetty程式能開啟終端、設定模式。

同時它會顯示乙個文字登入介面,這個介面就是我們經常看到的登入介面,在這個登入介面中會提示使用者輸入使用者名稱,而使用者輸入的使用者將作為引數傳給login程式來驗證使用者的身份。

使用者登入系統

一般來說,使用者的登入方式有三種:

(1)命令列登入

(2)ssh登入

(3)圖形介面登入

對於執行級別為5的圖形方式使用者來說,他們的登入是通過乙個圖形化的登入介面。登入成功後可以直接進入kde、gnome等視窗管理器。

而本文主要講的還是文字方式登入的情況:當我們看到mingetty的登入介面時,我們就可以輸入使用者名稱和密碼來登入系統了。

linux的賬號驗證程式是login,login會接收mingetty傳來的使用者名稱作為使用者名稱引數。

然後login會對使用者名稱進行分析:如果使用者名稱不是root,且存在/etc/nologin檔案,login將輸出nologin檔案的內容,然後退出。

這通常用來系統維護時防止非root使用者登入。只有/etc/securetty中登記了的終端才允許root使用者登入,如果不存在這個檔案,則root可以在任何終端上登入。

/etc/usertty檔案用於對使用者作出附加訪問限制,如果不存在這個檔案,則沒有其他限制。

Linux系統的啟動過程

linux的啟動過程 這裡先給乙個簡單的概述,後面再是詳述 a.位於rom的bios首先加電自檢,然後裝載mbr內容到ram,將控制權交給ram中的bootloader 比如grub b.bootloader進行自身的多階段引導,裝載一些檔案系統的驅動等,最後將核心裝載入ram c.核心首先執行,然...

Linux系統的啟動過程

linux系統的啟動過程大體上可分為五部分 核心的引導 執行init 系統初始化 建立終端 使用者登入系統。當計算機開啟電源後,首先是bios開機自檢,按照bios中設定的啟動裝置 通常是硬碟 來啟動。緊接著由啟動裝置上的grub程式開始引導linux,當引導程式成功完成引導任務後,linux從它們...

Linux系統的啟動過程

linux系統的啟動過程 bios自檢 grub引導程式 載入核心 執行init 啟動shell login登陸系統 系統啟動各個階段的詳細介紹 計算機在接通電源之後首先由bios進行post自檢,然後依據bios內設定的引導順序從硬碟 軟盤或cdrom中讀入引導塊。linux系統是人bios中的位...