亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Linux 引導流程解析

系統(tǒng) 1913 0

本文主要記錄下linux的引導流程(實例采用centOS 5.5)。

內(nèi)容主要如下:引導流程、解析下GRUB的作用。

?

一、引導流程

?

1.1主要的流程圖如下:

?

image

?

1.2每一步的作用

1)第一步firmware固件自檢,主要是進行CMOS/BIOS對硬件進行POST加電自檢,在物理層次上對硬件進行檢測是否正常。

2)讀取硬盤中MBR的BootLoader(自啟動程序,Linux下常用的自啟動程序是GRUB)。這一步主要的功能是載入內(nèi)核。

3)載入的內(nèi)核Kernel主要功能是:1、驅(qū)動硬件(Kernel中含有大量驅(qū)動程序),2、啟動init進程。

4)init進程,主要是讀取/etc/inittab文件,執(zhí)行缺省運行級別,從而繼續(xù)引導。(需要注意的是它的PID恒為1,0為內(nèi)核調(diào)度器Kernel scheduler)。

5)/etc/inittab 定義了初始化的操作。 ?

內(nèi)容如下:

image

命令主要格式是:id : runlevels : action : process

[解析]

id :標識符,一般為兩位字或數(shù)字

run-levels :指定運行級別,可以指定多個

action :指定運行狀態(tài)

process :指定要運行的腳本或命令

其中,

1、run-levels運行級別有7個,0—6分別如下:

0 —— halt 關機

1 —— Single user mode 單用戶模式

2 —— Multiuser,withoutNFS 多用戶模式但不帶網(wǎng)絡(text模式)

3 —— Full multiuser mode 完整功能的多用戶模式(text模式)

4 —— unused 預留

5 —— X11 圖形化多用戶模式

6 —— reboot 重啟

主要命令:查看當前運行級別 #runlevel、 切換運行級別 #init[0 |1 |2 |3 |4 |5 |6]

2、而acion中也有幾個比較重要的取值:

① initdefault:指定系統(tǒng)缺省啟動的運行級別(通常用于修復,比如我們要進入單用戶模式,則可以將其設置為1)

image

( 由截圖中可以知道缺省的run-level是:3)

② sysinit:系統(tǒng)啟動執(zhí)行process中指定的命令(每次都會執(zhí)行)

image

(由截圖知,無論是哪個運行級別,都會執(zhí)行/etc/rc.d/rc.sysinit)

③ wait:執(zhí)行process中指定的命令,并等其結束后再運行其他命令

④ once:執(zhí)行process中指定的命令,不等待其結束

⑤ ctrlaltdel:按下Ctrl + Alt + Del時執(zhí)行process指定的命令

6)initdefault

如第五步所說到的,主要是讀取/etc/inittab中的信息,判斷缺省的運行級別是什么。

7)/etc/rc.d/rc.sysinit

啟動這個腳本。完成系統(tǒng)服務程序的啟動,如系統(tǒng)環(huán)境變量的設置、設置系統(tǒng)時鐘、加載字體、檢查加載文件系統(tǒng)、生成系統(tǒng)啟動信息日志文件等。(由于是基礎服務,如截圖所示,默認是將其run-level設置為空::即任何級別,action設置為sysinit。即該腳本在任何運行級別下都要啟動,以完成基礎服務的啟動)【可以自定義自己希望啟動的腳本,然后加到這個腳本的最后面,便會在啟動時被加載】

8)基礎服務啟動后,會執(zhí)行/etc/rc.d/rc這個腳本

加載完基礎服務后,就要根據(jù)不同的運行級別去啟動相對應的下的目錄,(如3是命令行模式,5是圖形模式,他們需要啟動的服務不同),但系統(tǒng)如何去加載呢?這就是rc這個腳本的作用了,它的工作原理是先去判斷系統(tǒng)的默認運行級別即第6步中的東西,然后再執(zhí)行相應的rcN.d目錄下的服務啟動腳本 如圖

image

?

9)執(zhí)行/etc/rc.d/rcN.d目錄下的服務啟動腳本

看下該目錄下有什么東西:

image

[解析]

S —— start表示要啟動的腳本

K —— kill 表示要關閉的腳本

數(shù)字表示啟動順序,數(shù)值小的優(yōu)先

?

1.3自定義服務啟動或關閉

1)關鍵目錄 /etc/rc.d/init.d/ 下,找到相關的服務再對其進行關閉或啟動(所以運行級別的腳本都是來自這個目錄的軟鏈接)。

image

通過服務腳本名 start |stop等操作去啟動或關閉服務

image

2)自定義服務并啟動

實際上,無論是哪個運行級別,他們要啟動的腳本都位于/etc/rc.d/init.d這個目錄中,而啟動的時候相對應的/etc/rc.d/rcN.d目錄中的腳本只是一個軟鏈接,指向的還是init.d這個目錄中的腳本

如圖:rc3.d目錄中的內(nèi)容,可以看到都是軟鏈接(概念類似引用)

image

?

了解了上面的原理后,我們就可以定義我們自己的服務腳本,并讓系統(tǒng)在引導的時候加載我們的腳本。

方式有以下幾種:

1、增加軟鏈接 #ln -s

例子:

先寫好一個腳本,再用 ln –s 腳本名 /etc/rc.d/rcN.d/Sxx腳本名

這樣系統(tǒng)就會在引導運行級別N時就會加載這個腳本

如:ln? –s? /etc/rc.d/init.d/xx.script? /etc/rc.d/rc3.d/S100xx.script

這樣系統(tǒng)就會在運行級別3時加載我們的xx.script這個服務。(注意腳本放在init.d目錄中,并且軟鏈接的名字要用S開頭)

2、使用 chkconfig

image

3、使用 ntsysv (圖形界面選擇)

用ntsysv –-level N進入對于相應運行級別服務的啟動設置

image

通過空格選擇啟動或否(*表示啟動),上下方向鍵選擇

?

1.4小結

大概的引導流程就是以上的幾步了。

最后說下如何查看引導日志,主要有兩種方式

1、# dmesg

記錄了內(nèi)核kernel驅(qū)動硬件的信息

如查詢下硬盤eth0的信息:

image

?

2、查看 /var/log/messages的日志信息

記錄了服務的啟動信息

如查看ntpd的啟動情況

image

?

?

?

?

二、GRUB解析及應用

了解了基本的引導流程,我們再來著重看下流程中最重要的自啟動程序BootLoader,Linux常用的是GRUB。

2.1GRUB的配置與運用

GRUB的配置文件默認位置 /boot/grub/grub.conf (即GRUB它的 實際位置在/boot 下)

他有個軟鏈接是 在/etc/grub.conf

先看下grub.conf

image

[解析]

default 定義缺省啟動系統(tǒng)(多系統(tǒng)的時候會用到)

timeout 定義缺省等待時間

splashimage 定義GRUB界面圖片

hiddenmenu 隱藏菜單

title 定義菜單項名稱

root 設置GRUB的根設備

kernerl 定義內(nèi)核文件所在位置 ro —只讀

initrd 定義加載鏡像文件

其中root中 (hd0,0) hd為硬盤類型 0為第一塊硬盤 ,0為第一個分區(qū)

這個實際上是指定了 /boot所在的硬盤分區(qū)

可以看下/boot目錄

image

?

2.2列子

2.2.1進入單用戶模式

適合場合:忘記root密碼、修復系統(tǒng)

方法:

1、在啟動倒數(shù)的時候按ESC進入GRUB操作界面

image

e ——編輯當前的啟動菜單項

b ——啟動當前的菜單項

d ——刪除當前行

c ——進入GRUB的命令行模式

Esc ——返回GRUB啟動菜單界面,取消對當前所做的修改

2、按e進入,再選kernerl按e去編輯kernerl項

image

3、在最后加" 1"(空格 1),即運行級別1的單用戶模式

4、按回車確定,再按B重啟,便可以進入當用戶模式

image

?

在單用戶模式下,可以對root密碼進行重置(命令 #passwd root)

同時可以做其他需要修復的操作。

?

?

?

三、總結

主要是掌握好系統(tǒng)的引導流程,明白在啟動的時候系統(tǒng)的每一步在干什么,這樣當系統(tǒng)出現(xiàn)問題了,我們就可以判斷出是在哪一步出現(xiàn)了問題。這樣才能在尋找解決方案的時候有的放矢,縮小范圍。

Linux 引導流程解析


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 99热精品久久只有精品黑人 | 欧洲黄色网 | 久久国产精品国产自线拍免费 | 福利视频网站 | 国产99久久亚洲综合精品 | 国产成人精品第一区二区 | 麻豆传煤一区免费入 | 亚洲精品成人一区二区www | 青青草一区二区免费精品 | 最新欧美一级视频 | 91精品日韩 | 亚洲视频手机在线观看 | 色网站欧美 | 香蕉视频网站在线观看 | 玖玖爱免费 | 欧美日韩乱码毛片免费观看 | 天天干天天色综合网 | 国产香蕉一区二区在线观看 | 亚洲精品一区二区三区 | 免费爱爱小视频 | 精品久久洲久久久久护士 | 四虎精品影视 | 性色黄 | 一区二区伦理 | chinese国产在线视频 | 999精品免费视频 | 中文字幕在线视频免费观看 | 特级毛片免费观看视频 | 久久666 | 色人阁网站| a色视频 | 99热这里都是国产精品 | 四虎永久在线观看视频精品 | 亚洲va欧美va国产综合久久 | 亚洲一区二区三区久久精品 | 午夜国产福利在线观看 | 中国妞xxxx | 久操中文在线 | 日一区二区三区 | 97影院九七理论片男女高清 | 日本网站在线 |