




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、簡要描述linux系統(tǒng)從開機到登陸界面的啟動過程(面試用)簡述:1.開機BIOS自檢2.MBR引導(dǎo)3.grub引導(dǎo)菜單4.加載內(nèi)核kernel5.啟動init進程6.讀取inittab文件,執(zhí)行rc.sysinit,rc等腳本7.啟動mingetty,進入系統(tǒng)登陸界面來個簡圖:超詳細(xì)描述linux系統(tǒng)從開機到登陸界面的啟動過程對于linux系統(tǒng)的初學(xué)者來說,理解并掌握linux系統(tǒng)啟動流程能夠使你夠深入的理解linux系統(tǒng),還可以通過系統(tǒng)的啟動過程來分析問題解決問題。Linux系統(tǒng)的啟動流程 關(guān)于linux系統(tǒng)的啟動流程可以分為以下步驟:POST(加電自檢)>加載BIOS(Basic I
2、nput/Outpu System)>確定啟動設(shè)備(Boot sequence)、加載Boot Loader>加載內(nèi)核(kernel)初始化initrd>運行/sbin/init初始化系統(tǒng)>打印用戶登錄提示符下面讓我們逐步剖析說明系統(tǒng)啟動過程: 1、POST開機自檢 linux開機加電后,系統(tǒng)開始開機自檢,該過程主要對計算機各種硬件設(shè)備進行檢測,如CPU、內(nèi)存、主板、硬盤、CMOS芯片等,如果出現(xiàn)致命故障則停機,并且由于初始化過程還沒完成,所以不會出現(xiàn)任何提示信號;如果出現(xiàn)一般故障則會發(fā)出聲音等提示信號,等待故障清除;若未出現(xiàn)故障,加電自檢完成。 2、開機自檢完成,查找
3、可啟動設(shè)備,加載主引導(dǎo)目錄(MBR) 開機自檢完成后,CPU首先讀取位于CMOS中的BIOS程序,按照BIOS中設(shè)定的啟動次序(Boot Sequence)逐一查找可啟動設(shè)備,找到可啟動的設(shè)備后,去該設(shè)備的第一個扇區(qū) 中讀取MBR,那么MBR是什么哪?它又有什么作用哪? MBR存在于可啟動磁盤的0磁道0扇區(qū),占用512字節(jié),它主要用來告訴計算機從選定的可啟動設(shè)備的哪個分區(qū)來加載引導(dǎo)加載程序(Boot loader),MBR中存在如下內(nèi)容: (1) Boot Loader 占用446字節(jié),存儲有操作系統(tǒng)(OS)相關(guān)信息,如操作系統(tǒng)名稱,操作系統(tǒng)內(nèi)核位置等,它的主要功能是加載內(nèi)核到內(nèi)存中運行。 (
4、2) Partition Table 分區(qū)表,占用64字節(jié),每個主分區(qū)占用16字節(jié)(這就是為啥一塊硬盤只能有4個主分區(qū)啦_) (3)分區(qū)表有效性標(biāo)記占用2字節(jié) CPU將MBR讀取至內(nèi)存,運行GRUB(Boot Loader常用的有GRUB和LILO兩種,現(xiàn)在常用的是GRUB),GRUB會把內(nèi)核加載到內(nèi)存去執(zhí)行。由上圖可以看出,內(nèi)核文件存在于/boot目錄下,但是在GRUB加載內(nèi)核時,連/還沒有被加載,它是怎么在磁盤上找到內(nèi)核的哪?我們來查看一下GRUB的配置文件可以找到答案。在/boot/grub/grub.conf中可以看到 root (hd0,0)這一行實際上是指定了/目錄的所在的位置,但
5、這個根并不是真正的根,而是/所在的位置,可以理解成/boot是處在(hd0,0)/boot,而這里的(hd0,0)指的是第一個磁盤的第一個分區(qū),GRUB不是通過文件系統(tǒng)來訪問內(nèi)核的,以因為此時內(nèi)核還沒有啟動,不存在文件系統(tǒng),而是直接訪問 第一個磁盤的第一個分區(qū)(通過MBR中的分區(qū)表來識別分區(qū)),而識別MBR中的分區(qū)的文件系統(tǒng),則是由GRUB通過加載自身攜帶的系統(tǒng)文件來實現(xiàn)的,這些文件在/boot/grub目錄中大家可以看到,紅色標(biāo)出的地方就是GRUB可以識別的文件系統(tǒng)的類型了。事實上,總結(jié)一下,grub啟動過程可以分為兩個步驟:第1階段 BIOS加載MBR中的GRUB(GRUB第一階段的文件)
6、,而GRUB只有446字節(jié),無法實現(xiàn)太多功能,所以利用該階段的文件去加載1.5階段的文件(/boot/grub/下的文件)第1.5階段 用來加載識別文件系統(tǒng)的文件,識別完系統(tǒng)后才可以找到/boot目錄。第2階段 尋找內(nèi)核并加載到內(nèi)存中。下圖是GRUB啟動過程中所用的的文件3、加載內(nèi)核,初始化initrd GRUB把內(nèi)核加載到內(nèi)存后展開并運行,此時GRUB的任務(wù)已經(jīng)完成,接下來內(nèi)核將會接管并完成 探測硬件>加載驅(qū)動>掛載根文件系統(tǒng)>切換至根文件系統(tǒng)(rootfs)>運行/sbin/init完成系統(tǒng)初始化。但是,問題來了,要訪問根文件系統(tǒng)必須要加載根文件系統(tǒng)所在的設(shè)備,而這
7、時根文件系統(tǒng)又沒有掛載,要掛載根文件系統(tǒng)有需要根文件系統(tǒng)的驅(qū)動程序,這是一個典型的先有雞先有蛋的問題啊!為解決這個問題,GRUB在加載內(nèi)核同時,也把initrd加載到內(nèi)存中并運行,那么initr又起到了什么作用哪? initrd展開后的文件linux中/下的文件 我們可以看到,其實initrd文件其實是一個虛擬的根文件系統(tǒng),里面有bin、lib、lib64、sys、var、etc、sysroot、dev、proc、tmp等根目錄,它的功能就是講內(nèi)核與真正的根建立聯(lián)系,內(nèi)核通過它加載根文件系統(tǒng)的驅(qū)動程序,然后以讀寫方式掛載根文件系統(tǒng),至此,內(nèi)核加載完成。4、運行/sbin/init,進行系統(tǒng)初始
8、化內(nèi)核并加載進內(nèi)存運行并以讀寫方式掛載完根文件系統(tǒng)后,執(zhí)行第一個用戶進程init,init首先運行/etc/init/rcS.conf腳本,如下圖可以看到,init進程通過執(zhí)行/etc/rc.d/rcS.conf首先調(diào)用了/etc/rc.d/rc.sysinit,對系統(tǒng)做初始化設(shè)置,我們來看看這個腳本都是做了些什么哪?事實上init執(zhí)行/etc/rc.d/rc.sysinit的初始化將會做很多設(shè)置: 1、獲得網(wǎng)絡(luò)環(huán)境 2、掛載設(shè)備 3、開機啟動畫面Plymouth(取替了過往的 RHGB) 4、判斷是否啟用SELinux 5、顯示于開機過程中的歡迎畫面 6、初始化硬件 7、用戶自定義模塊的加載
9、 8、配置內(nèi)核的參數(shù) 9、設(shè)置主機名 10、同步存儲器 11、設(shè)備映射器及相關(guān)的初始化 12、初始化軟件磁盤陣列(RAID) 13、初始化 LVM 的文件系統(tǒng)功能 14、檢驗磁盤文件系統(tǒng)(fsck) 15、設(shè)置磁盤配額(quota) 16、重新以可讀寫模式掛載系統(tǒng)磁盤 17、更新quota(非必要) 18、啟動系統(tǒng)虛擬隨機數(shù)生成器 19、配置機器(非必要) 20、清除開機過程當(dāng)中的臨時文件 21、創(chuàng)建ICE目錄 22、啟動交換分區(qū)(swap) 23、將開機信息寫入/var/log/dmesg文件中 init執(zhí)行完/etc/rc.d/rc.sysinit后,將會執(zhí)行/etc/inittab來設(shè)定系統(tǒng)運行的默認(rèn)級別:如上圖,linux中共有0-6七個運行級別,而我自己系統(tǒng)的默認(rèn)運行級別是3. 設(shè)定完系統(tǒng)默認(rèn)運行級別以后,接著調(diào)用/etc/rc.d/rc腳本,這個腳本接收默認(rèn)運行級別參數(shù)后,依腳本設(shè)置啟用或停止/etc/rc.d/rc0-6.d/中相應(yīng)的程序,如下圖,看一下我系統(tǒng)運行默認(rèn)級別(級別)3下的內(nèi)容吧如圖示,/etc/rc.d/rc0-6.d/下的文件在系統(tǒng)初始化階段,以S開頭的將被啟動,以K開頭的將被關(guān)閉,文件名K/S 后面的的數(shù)字代表優(yōu)先級,數(shù)字越小優(yōu)先級越高,優(yōu)先執(zhí)行。最后,將執(zhí)行/etc/rc.d/rc.local腳本,可以根據(jù)自己的需求將一些執(zhí)行命令或者腳本
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 橋梁下部構(gòu)造施工技術(shù)總結(jié)模版
- 小腸穿孔的臨床護理
- 部門主管個人工作總結(jié)模版
- 婦科手術(shù)護理
- 物流與供應(yīng)鏈管理(案例分析)
- 生物醫(yī)學(xué)材料基礎(chǔ)與應(yīng)用
- 2025屆北京昌平臨川育人學(xué)校數(shù)學(xué)七下期末監(jiān)測模擬試題含解析
- 二次根式概念教學(xué)設(shè)計
- 口腔護理授課比賽
- 安全風(fēng)險評估與控制
- 過程管理的優(yōu)化方法試題及答案
- 地西半球的國家 復(fù)習(xí)課課件-2024-2025學(xué)年七年級地理下學(xué)期(人教版2024)
- 2025年黃山旅游發(fā)展股份有限公司春季招聘75人筆試參考題庫附帶答案詳解
- 體系文件培訓(xùn)課件
- 路燈勞務(wù)分包合同協(xié)議
- 山東省青島市嶗山區(qū)2024-2025學(xué)年初三下學(xué)年期末考試英語試題試卷含答案
- 溫州市普通高中2025屆高三第三次適應(yīng)性考試化學(xué)試題及答案
- 學(xué)校運動場改造方案與實施指南
- 2025年北京市東城區(qū)九年級初三一模語文試卷(含答案)
- 遼寧省名校聯(lián)盟2023-2024學(xué)年高一下學(xué)期6月聯(lián)合考試化學(xué)試題(解析版)
- 2025屆云南省昆明市高三下學(xué)期“三診一?!钡谌谓y(tǒng)測(4.28)作文學(xué)案
評論
0/150
提交評論