第七周 簡述linux作業系統啟動流程

2021-08-28 16:00:19 字數 3740 閱讀 9346

目錄

1、簡述linux作業系統啟動流程          

centos6啟動流程:

centos7啟動流程:

2、簡述grub啟動引導程式配置及命令列介面詳解

grub的版本:

grub的三個階段

與grub相關的配置檔案

grub的命令列介面

3、實現kickstart檔案製作與光碟映象製作

1.post:通電自檢

2.bios:bois自檢,載入硬碟

3.讀取mbr,進行mbr引導

4.bootloader:grub引導選單

5.載入核心 kernel(ramdisk)

6.啟動init程序,依據inittab檔案設定執行級別 (inittab用於定義預設執行級別)

7.init程序,執行rc.sysinit檔案

8.分別執行/etc/init/rcs.conf、/etc/init/rc.conf、/etc/init/start-ttys.confl來呼叫命令執行/etc/rc#.d/檔案裡面定義的是各種服務的啟動指令碼,可以ls檢視,s開頭代表開機啟動的服務,k開頭的是關機要執行的任務。#代表數字,乙個數字代表乙個執行級別,共7個執行級別,這裡就不多說了

9.執行/etc/rc.d/rc.local

10.執行/bin/login程式,等待使用者登入

1.post:通電自檢

2.bios:bois自檢,載入硬碟

3.讀取mbr,進行mbr引導

4.bootloader:grub引導選單

5.載入核心和inintamfs模組

6.核心開始初始化,使用systemd來代替centos6以前的init程式

7.執行initrd.target

包括掛載/etc/fstab檔案中的系統,此時掛載後,就可以切換到根目錄了

8.從initramfs根檔案系統切換到磁碟根目錄centos7表面是有「執行級別」這個概念,實際上是為了相容以前的系統,每個所謂的「執行級別」都有對應的軟連線指向,預設的啟動級別時/etc/systemd/system/default.target,根據它的指向可以找到系統要進入哪個模式

模式:0 ==> runlevel0.target, poweroff.target

1 ==> runlevel1.target, rescue.target

2 ==> runlevel2.target, multi-user.target

3 ==> runlevel3.target, multi-user.target

4 ==> runlevel4.target, multi-user.target

5 ==> runlevel5.target, graphical.target

6 ==> runlevel6.target, reboot.target

9.systemd執行sysinit.target

10.systemd啟動multi-user.target下的本機與伺服器服務

11.systemd執行multi-user.target下的/etc/rc.d/rc.local

12.systemd執行multi-user.target下的getty.target及登入服務

getty.target是啟動終端的systemd物件。如果到此步驟,系統沒有被指定啟**形桌面,到此就可以結束了,如果要啟**形介面,需要在此基礎上啟動桌面程式

13.systemd執行graphical需要的服務

grub的版本分為:

grub 0.x (grub legacy)

grub 1.x (grub 2)

目前centos 5和centos 6使用的就是 grub legacy 版本 

centos 7使用的是 grub2 版本的啟動引導程式

stage 1: 用於啟動boot loader 來載入stage2的內容至記憶體中

stage 1_5:用於識別核心和stage2所在分割槽的檔案系統格式型別,幫助引導stage2

stage 2: 讀取 grub.conf 配置檔案,並實現引導功能的擴充套件

linux系統中,與系統啟動相關的檔案均儲存在/boot目錄下.如grub vmlinuz initramfs等等

與grub相關的配置檔案包括:/etc/grub.conf/boot/grub/grub.conf

/etc/grub.conf是指向/boot/grub/grub.conf的軟連線,grub程式在引導啟動時會讀取這個配置檔案,並按照這個檔案的配置引數引導啟動系統

檔案內容如下:

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title centos 6 (2.6.32-696.el6.x86_64)

root (hd0,0)

kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=uuid=2c1d3c99-493f-483b-9abf-c4c7171e4598 rd_no_luks rd_no_lvm lang=en_us.utf-8 rd_no_md sysfont=latarcyrheb-sun16 crashkernel=auto keyboardtype=pc keytable=us rd_no_dm rhgb quiet

initrd /initramfs-2.6.32-696.el6.x86_64.img

defaule: 表示有多個grub引導選單時,選擇哪乙個作為預設啟動引導選單, 

defaule=0:表示預設選擇第乙個選項進行配置 

timeout: 表示選擇選單的時間,如果過了這個時間沒有選擇則表示使用預設選項 

splashimage: 指定引導選單中的背景的路徑 

titile: 指定選項的名稱 

root: 表示kernel和initrd檔案所在的分割槽路徑,而不是」根分割槽」;其格式為:

root(hd#,#)  第乙個 # 表示第幾塊硬碟,第二個 # 表示同乙個硬碟上的分割槽,都是從0開始
kernel: 通常是用於指定要執行的核心檔案路徑,如:/vmlinuz-2.6.32-642.el6.x86_64;另外也可在其後設定相關的核心引數,如:ro表示唯讀,root表示指定根分割槽所在路徑,關閉selinux等等; 

initrd: 為核心執行指定其可用的ramdisk檔案,其版本須和核心版本一致         

在選單頁面按c即可進入命令列介面,在此命令列介面,我們可以配置相關的grub設定. 

grub常用的指令有:

help:檢視命令幫助;

root (device):指定系統和核心檔案所在的分割槽,如root(hd0,0)。

find (hd0,0) /path/to/file:用於查詢對應分割槽下的檔案。常用於當不確認核心檔案在哪個分割槽時,可使用此命令確認檔案所在路徑;支援tab補全;

kernel /path/to/kernel_file:用於指定要執行的核心檔案。

initrd /path/to/kernel_file:指定initrd檔案;

boot:以當前配置好的grub配置啟動系統;

選擇光碟啟動,自動化安裝

Linux 作業系統簡述

作業系統,開源的作業系統 unix的乙個子類 linux詞本意是代表linux核心心 20世紀60年代,mit開發分時作業系統,支援30臺終端訪問主機 1965年,貝爾實驗室開發multics系統,為了同時支援300個終端訪問主機 失敗 1969年,在上述兩個系統的基礎上誕生unix的原型 1991...

作業系統簡述

1.作業系統的地位?作業系統介於計算機與應用軟體之間的乙個軟體系統,下面是硬體平台,上面是應用軟體。2.作業系統主要管理計算機的那些資源?管理的關鍵原則是什麼?cpu管理 記憶體管理 外存管理 i o管理 健壯性管理 如何確保作業系統自身的正常執行。安全性管理 如何防止非法操作與入侵。管理這些資源的...

作業系統簡述

1 目前主流的作業系統 windows,unix linux,android,ios,symbian 已經淘汰 windows 圖形介面操作,入門較簡單,比較適用於普通使用者使用或應用方面的開發 linux 命令列操作 雖然也有圖形介面,但專業人士都使用命令列操作 入門較難,免費的,開源的,可移植的...