描述linux開機(jī)到登陸界面的啟動(dòng)過程詳解_第1頁(yè)
描述linux開機(jī)到登陸界面的啟動(dòng)過程詳解_第2頁(yè)
描述linux開機(jī)到登陸界面的啟動(dòng)過程詳解_第3頁(yè)
描述linux開機(jī)到登陸界面的啟動(dòng)過程詳解_第4頁(yè)
描述linux開機(jī)到登陸界面的啟動(dòng)過程詳解_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上簡(jiǎn)要描述linux系統(tǒng)從開機(jī)到登陸界面的啟動(dòng)過程(面試用)簡(jiǎn)述:1.開機(jī)BIOS自檢2.MBR引導(dǎo)3.grub引導(dǎo)菜單4.加載內(nèi)核kernel5.啟動(dòng)init進(jìn)程6.讀取inittab文件,執(zhí)行rc.sysinit,rc等腳本7.啟動(dòng)mingetty,進(jìn)入系統(tǒng)登陸界面來個(gè)簡(jiǎn)圖:超詳細(xì)描述linux系統(tǒng)從開機(jī)到登陸界面的啟動(dòng)過程對(duì)于linux系統(tǒng)的初學(xué)者來說,理解并掌握linux系統(tǒng)啟動(dòng)流程能夠使你夠深入的理解linux系統(tǒng),還可以通過系統(tǒng)的啟動(dòng)過程來分析問題解決問題。Linux系統(tǒng)的啟動(dòng)流程 關(guān)于linux系統(tǒng)的啟動(dòng)流程可以分為以下步驟:POST(加電自檢)>加

2、載BIOS(Basic Input/Outpu System)>確定啟動(dòng)設(shè)備(Boot sequence)、加載Boot Loader>加載內(nèi)核(kernel)初始化initrd>運(yùn)行/sbin/init初始化系統(tǒng)>打印用戶登錄提示符下面讓我們逐步剖析說明系統(tǒng)啟動(dòng)過程: 1、POST開機(jī)自檢 linux開機(jī)加電后,系統(tǒng)開始開機(jī)自檢,該過程主要對(duì)計(jì)算機(jī)各種硬件設(shè)備進(jìn)行檢測(cè),如CPU、內(nèi)存、主板、硬盤、CMOS芯片等,如果出現(xiàn)致命故障則停機(jī),并且由于初始化過程還沒完成,所以不會(huì)出現(xiàn)任何提示信號(hào);如果出現(xiàn)一般故障則會(huì)發(fā)出聲音等提示信號(hào),等待故障清除;若未出現(xiàn)故障,加電自檢完成

3、。 2、開機(jī)自檢完成,查找可啟動(dòng)設(shè)備,加載主引導(dǎo)目錄(MBR) 開機(jī)自檢完成后,CPU首先讀取位于CMOS中的BIOS程序,按照BIOS中設(shè)定的啟動(dòng)次序(Boot Sequence)逐一查找可啟動(dòng)設(shè)備,找到可啟動(dòng)的設(shè)備后,去該設(shè)備的第一個(gè)扇區(qū) 中讀取MBR,那么MBR是什么哪?它又有什么作用哪? MBR存在于可啟動(dòng)磁盤的0磁道0扇區(qū),占用512字節(jié),它主要用來告訴計(jì)算機(jī)從選定的可啟動(dòng)設(shè)備的哪個(gè)分區(qū)來加載引導(dǎo)加載程序(Boot loader),MBR中存在如下內(nèi)容: (1) Boot Loader 占用446字節(jié),存儲(chǔ)有操作系統(tǒng)(OS)相關(guān)信息,如操作系統(tǒng)名稱,操作系統(tǒng)內(nèi)核位置等,它的主要功能是

4、加載內(nèi)核到內(nèi)存中運(yùn)行。 (2) Partition Table 分區(qū)表,占用64字節(jié),每個(gè)主分區(qū)占用16字節(jié)(這就是為啥一塊硬盤只能有4個(gè)主分區(qū)啦_) (3)分區(qū)表有效性標(biāo)記占用2字節(jié) CPU將MBR讀取至內(nèi)存,運(yùn)行GRUB(Boot Loader常用的有GRUB和LILO兩種,現(xiàn)在常用的是GRUB),GRUB會(huì)把內(nèi)核加載到內(nèi)存去執(zhí)行。由上圖可以看出,內(nèi)核文件存在于/boot目錄下,但是在GRUB加載內(nèi)核時(shí),連/還沒有被加載,它是怎么在磁盤上找到內(nèi)核的哪?我們來查看一下GRUB的配置文件可以找到答案。在/boot/grub/grub.conf中可以看到 root (hd0,0)這一行實(shí)際上是指

5、定了/目錄的所在的位置,但這個(gè)根并不是真正的根,而是/所在的位置,可以理解成/boot是處在(hd0,0)/boot,而這里的(hd0,0)指的是第一個(gè)磁盤的第一個(gè)分區(qū),GRUB不是通過文件系統(tǒng)來訪問內(nèi)核的,以因?yàn)榇藭r(shí)內(nèi)核還沒有啟動(dòng),不存在文件系統(tǒng),而是直接訪問 第一個(gè)磁盤的第一個(gè)分區(qū)(通過MBR中的分區(qū)表來識(shí)別分區(qū)),而識(shí)別MBR中的分區(qū)的文件系統(tǒng),則是由GRUB通過加載自身攜帶的系統(tǒng)文件來實(shí)現(xiàn)的,這些文件在/boot/grub目錄中大家可以看到,紅色標(biāo)出的地方就是GRUB可以識(shí)別的文件系統(tǒng)的類型了。事實(shí)上,總結(jié)一下,grub啟動(dòng)過程可以分為兩個(gè)步驟:第1階段 BIOS加載MBR中的GRUB

6、(GRUB第一階段的文件),而GRUB只有446字節(jié),無法實(shí)現(xiàn)太多功能,所以利用該階段的文件去加載1.5階段的文件(/boot/grub/下的文件)第1.5階段 用來加載識(shí)別文件系統(tǒng)的文件,識(shí)別完系統(tǒng)后才可以找到/boot目錄。第2階段 尋找內(nèi)核并加載到內(nèi)存中。下圖是GRUB啟動(dòng)過程中所用的的文件3、加載內(nèi)核,初始化initrd GRUB把內(nèi)核加載到內(nèi)存后展開并運(yùn)行,此時(shí)GRUB的任務(wù)已經(jīng)完成,接下來內(nèi)核將會(huì)接管并完成 探測(cè)硬件>加載驅(qū)動(dòng)>掛載根文件系統(tǒng)>切換至根文件系統(tǒng)(rootfs)>運(yùn)行/sbin/init完成系統(tǒng)初始化。但是,問題來了,要訪問根文件系統(tǒng)必須要加載

7、根文件系統(tǒng)所在的設(shè)備,而這時(shí)根文件系統(tǒng)又沒有掛載,要掛載根文件系統(tǒng)有需要根文件系統(tǒng)的驅(qū)動(dòng)程序,這是一個(gè)典型的先有雞先有蛋的問題??!為解決這個(gè)問題,GRUB在加載內(nèi)核同時(shí),也把initrd加載到內(nèi)存中并運(yùn)行,那么initr又起到了什么作用哪? initrd展開后的文件linux中/下的文件 我們可以看到,其實(shí)initrd文件其實(shí)是一個(gè)虛擬的根文件系統(tǒng),里面有bin、lib、lib64、sys、var、etc、sysroot、dev、proc、tmp等根目錄,它的功能就是講內(nèi)核與真正的根建立聯(lián)系,內(nèi)核通過它加載根文件系統(tǒng)的驅(qū)動(dòng)程序,然后以讀寫方式掛載根文件系統(tǒng),至此,內(nèi)核加載完成。4、運(yùn)行/sbi

8、n/init,進(jìn)行系統(tǒng)初始化內(nèi)核并加載進(jìn)內(nèi)存運(yùn)行并以讀寫方式掛載完根文件系統(tǒng)后,執(zhí)行第一個(gè)用戶進(jìn)程init,init首先運(yùn)行/etc/init/rcS.conf腳本,如下圖可以看到,init進(jìn)程通過執(zhí)行/etc/rc.d/rcS.conf首先調(diào)用了/etc/rc.d/rc.sysinit,對(duì)系統(tǒng)做初始化設(shè)置,我們來看看這個(gè)腳本都是做了些什么哪?事實(shí)上init執(zhí)行/etc/rc.d/rc.sysinit的初始化將會(huì)做很多設(shè)置: 1、獲得網(wǎng)絡(luò)環(huán)境 2、掛載設(shè)備 3、開機(jī)啟動(dòng)畫面Plymouth(取替了過往的 RHGB) 4、判斷是否啟用SELinux 5、顯示于開機(jī)過程中的歡迎畫面 6、初始化硬件

9、 7、用戶自定義模塊的加載 8、配置內(nèi)核的參數(shù) 9、設(shè)置主機(jī)名 10、同步存儲(chǔ)器 11、設(shè)備映射器及相關(guān)的初始化 12、初始化軟件磁盤陣列(RAID) 13、初始化 LVM 的文件系統(tǒng)功能 14、檢驗(yàn)磁盤文件系統(tǒng)(fsck) 15、設(shè)置磁盤配額(quota) 16、重新以可讀寫模式掛載系統(tǒng)磁盤 17、更新quota(非必要) 18、啟動(dòng)系統(tǒng)虛擬隨機(jī)數(shù)生成器 19、配置機(jī)器(非必要) 20、清除開機(jī)過程當(dāng)中的臨時(shí)文件 21、創(chuàng)建ICE目錄 22、啟動(dòng)交換分區(qū)(swap) 23、將開機(jī)信息寫入/var/log/dmesg文件中 init執(zhí)行完/etc/rc.d/rc.sysinit后,將會(huì)執(zhí)行/e

10、tc/inittab來設(shè)定系統(tǒng)運(yùn)行的默認(rèn)級(jí)別:如上圖,linux中共有0-6七個(gè)運(yùn)行級(jí)別,而我自己系統(tǒng)的默認(rèn)運(yùn)行級(jí)別是3. 設(shè)定完系統(tǒng)默認(rèn)運(yùn)行級(jí)別以后,接著調(diào)用/etc/rc.d/rc腳本,這個(gè)腳本接收默認(rèn)運(yùn)行級(jí)別參數(shù)后,依腳本設(shè)置啟用或停止/etc/rc.d/rc0-6.d/中相應(yīng)的程序,如下圖,看一下我系統(tǒng)運(yùn)行默認(rèn)級(jí)別(級(jí)別)3下的內(nèi)容吧如圖示,/etc/rc.d/rc0-6.d/下的文件在系統(tǒng)初始化階段,以S開頭的將被啟動(dòng),以K開頭的將被關(guān)閉,文件名K/S 后面的的數(shù)字代表優(yōu)先級(jí),數(shù)字越小優(yōu)先級(jí)越高,優(yōu)先執(zhí)行。最后,將執(zhí)行/etc/rc.d/rc.local腳本,可以根據(jù)自己的需求將一些執(zhí)行命令或者腳本寫到其中,當(dāng)開

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論