版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、Linux系統(tǒng)啟動的基本過程和步驟:系統(tǒng)啟動的基本過程和步驟:最近在某個版塊看到有人討論GRUB的問題,這里是我個人的一些理解。我想大部分還是正確的,但肯定也有理解錯誤的地方,在這里拋磚引玉了!Linux系統(tǒng)啟動過程大致按照如下步驟進行(這是一個簡述):第一階段:BIOS啟動引導(dǎo)階段;在該過程中實現(xiàn)硬件的初始化以及查找啟動介質(zhì);從MBR中裝載啟動引導(dǎo)管理器(GRUB)并運行該啟動引導(dǎo)管理第二階段:GRUB啟動引導(dǎo)階段;裝載stage1裝
2、載stage1.5裝載stage2讀取bootgrub.conf文件并顯示啟動菜單;裝載所選的kernel和initrd文件到內(nèi)存中第三階段:內(nèi)核階段:運行內(nèi)核啟動參數(shù);解壓initrd文件并掛載initd文件系統(tǒng),裝載必須的驅(qū)動;掛載根文件系統(tǒng)第四階段:SysVinit初始化階段:啟動sbininit程序;運行rc.sysinit腳本,設(shè)置系統(tǒng)環(huán)境,啟動swap分區(qū),檢查和掛載文件系統(tǒng);讀取etcinittab文件,運行在etrc.d
3、rc.d中定義的不同運行級別的服務(wù)初始化腳本;打開字符終端16號控制臺打開圖形顯示管理的7號控制臺同時在上述過程中各階段所需要讀取的文件和操作的對象:BIOS啟動引導(dǎo)階段GRUB啟動引導(dǎo)階段內(nèi)核階段initsysinit階段==================================================================================================Nonebootgr
4、ubgrub.confbootvmlinuzetcrc.drc.sysinitbootgrubstage1_5bootinitrdetcinittabbootgrubstage2etcrc.drc.detcrc.dinit.d(下面是詳細(xì)的過程)第一階段:系統(tǒng)上電開機后,主板BIOS(BasicInputOutputSystem)運行POST(Poweronselftest)注:這里的stage2或者stage1_5不是boot分區(qū)bo
5、otgrub目錄下的文件,這個時候grub還沒有能力識別任何文件系統(tǒng)。分以下兩種情況:(1)假如start.S讀取的是stage1_5,它存放在硬盤0頭0道3扇區(qū)向后的位置,stage1_5作為stage1和stage2中間的橋梁,stage1_5有識別文件系統(tǒng)的能力,此后grub才有能力去訪問boot分區(qū)bootgrub目錄下的stage2文件,將stage2載入內(nèi)存并執(zhí)行。(2)假如start.S讀取的是stage2,同樣,這個st
6、age2也不是boot分區(qū)bootgrub目錄下的stage2,這個時候start.S讀取的是存放在boot分區(qū)BootSect的stage2。這種情況下就有一個限制:因為start.S通過BIOS中斷方式直接對硬盤尋址(而非通過訪問具體的文件系統(tǒng)),其尋址范圍有限,限制在8GB以內(nèi)。因此這種情況需要將boot分區(qū)分在硬盤8GB尋址空間之前。假如是情形(2),我們將bootgrub目錄下的內(nèi)容清空,依然能成功啟動grub;假如是情形(1
7、),將bootgrub目錄下stage2刪除后,則系統(tǒng)啟動過程中g(shù)rub會啟動失敗。這個地方經(jīng)常要進行的操作:是關(guān)于grub常用的幾個指令對應(yīng)的函數(shù):grubroot(hd00)?root指令為grub指定了一個根分區(qū)grubkernelxen.gz2.6.1837.el5?kernel指令將操作系統(tǒng)內(nèi)核載入內(nèi)存grubmodulevmlinuz2.6.1837.el5xenroroot=devsda2?module指令加載指定的模塊g
8、rubmoduleinitrd2.6.1837.el5xen.img?指定initrd文件grubboot?boot指令調(diào)用相應(yīng)的啟動函數(shù)啟動OS內(nèi)核第三階段:如階段2所述,grubboot指令后,系統(tǒng)啟動的控制權(quán)移交給kernel。Kernel會立即初始化系統(tǒng)中各設(shè)備并做相關(guān)配置工作,其中包括CPU、IO、存儲設(shè)備等。關(guān)于設(shè)備驅(qū)動加載,有兩部分:一部分設(shè)備驅(qū)動編入LinuxKernel中,Kernel會調(diào)用這部分驅(qū)動初始化相關(guān)設(shè)備,同
9、時將日志輸出到kernelmessagebuffer,系統(tǒng)啟動后dmesg可以查看到這部分輸出信息。另外有一部分設(shè)備驅(qū)動并沒有編入Kernel,而是作為模塊形式放在initrd(ramdisk)中。在2.6內(nèi)核中,支持兩種格式的initrd,一種是2.4內(nèi)核的文件系統(tǒng)鏡像imageinitrd,一種是cpio格式。以cpio格式為例,內(nèi)核判斷initrd為cpio的文件格式后,會將initrd中的內(nèi)容釋放到rootfs中。initrd是
10、一種基于內(nèi)存的文件系統(tǒng),啟動過程中,系統(tǒng)在訪問真正的根文件系統(tǒng)時,會先訪問initrd文件系統(tǒng)。將initrd中的內(nèi)容打開來看,會發(fā)現(xiàn)有bin、devetc、lib、procsys、sysroot、init等文件(包含目錄)。其中包含了一些設(shè)備的驅(qū)動模塊,比如scsiata等設(shè)備驅(qū)動模塊,同時還有幾個基本的可執(zhí)行程序insmodmodprobelvm,nash。主要目的是加載一些存儲介質(zhì)的驅(qū)動模塊,如上面所說的scsiideusb等設(shè)備
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- linux 操作系統(tǒng)啟動流程
- 系統(tǒng)啟動出現(xiàn)的問題
- 多系統(tǒng)啟動光盤制作
- 制作系統(tǒng)啟動盤利器
- 嵌入式系統(tǒng)啟動與加載過程(BootLoader)的原理及實現(xiàn).pdf
- 在winxp和win7系統(tǒng)下系統(tǒng)啟動順序設(shè)置
- 大型帶式輸送系統(tǒng)啟動方法的設(shè)計
- 系統(tǒng)啟動后自動運行腳本的設(shè)置
- 操作系統(tǒng)啟動可信、文件系統(tǒng)可信和應(yīng)用可信.pdf
- 可信嵌入式系統(tǒng)啟動研究.pdf
- Android系統(tǒng)啟動和應(yīng)用程序加載加速的研究與優(yōu)化.pdf
- 系統(tǒng)啟動出現(xiàn)的問題 - 知識工程研究中心 - 北京
- 嵌入式系統(tǒng)啟動方案的設(shè)計與實現(xiàn).pdf
- 操作系統(tǒng)實驗報告熟悉linux的基本環(huán)境和linux的基本命令
- Linux啟動過程分析與優(yōu)化.pdf
- 操作系統(tǒng)實驗報告熟悉linux的基本環(huán)境和linux的基本命令
- 基于OMAP5912的嵌入式手持終端的系統(tǒng)啟動.pdf
- 海水淡化高壓泵水潤滑軸承—轉(zhuǎn)子耦合系統(tǒng)啟動瞬態(tài)過程綜合研究.pdf
- 推進劑貯箱氦氣增壓系統(tǒng)啟動特性研究.pdf
- 黑啟動步驟
評論
0/150
提交評論