版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
引導(dǎo)流程解析PHPChina工作室系統(tǒng)引導(dǎo)流程解析固件------硬件識別BootLoader------載入操作系統(tǒng)內(nèi)核------初始化和控制轉(zhuǎn)移init進程和初始化腳本liming固件設(shè)置實例liming系統(tǒng)引導(dǎo)流程“bootloader”這個術(shù)語是“bootstrapOperationSystemloader”的簡稱,即“自舉操作系統(tǒng)載入器”。何謂“自舉”,Merriam-Webster在線字典[注釋4]的說法,首次使用bootstrap(自舉)這個詞是在1926年。它的來源確實是一個試圖通過拉自己的鞋帶(bootstrap),從而將自己舉高。這也是“自力更生”(pullyourselfupbyyourbootstraps)這一諺語的來歷。通常,“自舉”意味著利用盡量可能少量的外部介入和資源,從而讓某種東西工作起來。對于計算機來說,它的“自舉”意味著使用少量的、獨立的、內(nèi)部的功能,從而初始化,并將控制權(quán)轉(zhuǎn)交給主操作系統(tǒng)。
bootloader存放的位置:bootloader存放的位置有2個,一個是在MBR,先前已經(jīng)提過,主引導(dǎo)記錄,還有一個位置在于任何一個分區(qū)的第一個扇區(qū)。 bootloader存在于2個位置:MasterBootRecord(主引導(dǎo)記錄),位于磁盤的0柱面0磁道的0扇區(qū)。這是一個特殊的位置,當(dāng)系統(tǒng)啟動的時候,BIOS會自動讀取此處。IDE硬盤,軟盤,SCSI硬盤等都有MBR。另外一個位置位于每個分區(qū)的第一個扇區(qū)。系統(tǒng)引導(dǎo)流程系統(tǒng)引導(dǎo)流程bootloader的種類,有許多,稍微列舉幾個SystemCommander 一個多重系統(tǒng)引導(dǎo)程序
NTLDR(windows) 用的引導(dǎo)程序
LILO (LInuxLOader) 一個過時的Linux引導(dǎo)程序
GRUB(GRandUnifiedBootloader)
一個時下非常流行的Linux引導(dǎo)程序系統(tǒng)引導(dǎo)流程使用GRUB而不使用LILO的原因:GRUB支持1024柱面以后的扇區(qū)的讀取。 GRUB安裝,使用比LILO更為靈活,方便,簡單。系統(tǒng)引導(dǎo)流程GRUB的簡介
GRUB的主配置文件/boot/grub/grub.conf.
在/etc/grub.conf是/boot/grub/grub.conf的軟鏈接. 在/boot/grub目錄下還有一些其他GRUB工作所需的文件. 系統(tǒng)引導(dǎo)流程GRUB的配置假設(shè)當(dāng)前硬盤的分區(qū)情況/dev/hda1 /boot/dev/hda2 //dev/hda3 LinuxSwap/dev/hda4 ExtendedPartition/dev/hda5 NTFS系統(tǒng)引導(dǎo)流程假設(shè)設(shè)當(dāng)當(dāng)前前的的配配置置文文件件default=0timeout=10titleRedHat(2.4.22-3Thiz)root(hd0,0)kernel/vmlinuz-2.4.22-3Thizroroot=LABEL=/titleWindowsroot(hd0,4)chainloader+1系統(tǒng)統(tǒng)引引導(dǎo)導(dǎo)流流程程default————標(biāo)示示了了當(dāng)當(dāng)用用戶戶不不做做任任何何操操作作的的情情況況下下,,將將選選擇擇哪哪一一個個操操作作系系統(tǒng)統(tǒng)。。title依次次編編號號,,從從0開始始。。timeout————GRUB將會會等等待待用用戶戶作作一一些些操操作作,,如如果果超超過過了了時時間間,,用用戶戶依依舊舊沒沒有有動動作作,,那那么么將將自自動動進進入入default所指指定定的的那那個個操操作作系系統(tǒng)統(tǒng)。。timeout的時時間間單單位位為為秒秒。。設(shè)設(shè)置置時時間間為為-1,表表示示無無限限等等待待,,直直到到用用戶戶作作出出選選擇擇。。title————開機機用用戶戶選選擇擇操操作作系系統(tǒng)統(tǒng)時時,,所所能能看看到到標(biāo)標(biāo)題題,,選選擇擇了了相相應(yīng)應(yīng)的的title后,,將將會會執(zhí)執(zhí)行行該該title到下下一一個個title間所所有有g(shù)rub命令令。。如如果果是是最最后后一一段段title,就就一一直直執(zhí)執(zhí)行行到到文文件件結(jié)結(jié)尾尾。。當(dāng)當(dāng)執(zhí)執(zhí)行行完完每每段段title后grub會自自動動執(zhí)執(zhí)行行boot命令令。。系統(tǒng)統(tǒng)引引導(dǎo)導(dǎo)流流程程root(hd0,0)GRUB命令令::root作用用::掛掛載載boot目錄錄所所在在的的分分區(qū)區(qū)。。hd0是根根據(jù)據(jù)/boot/grub/device.map所映映射射出出來來的的。。逗號號后后面面的的0就是是hda1的分分區(qū)區(qū)號號1減1所得得到到的的結(jié)結(jié)果果。。如果果是是(hd0,1),那那么么就就是是將將結(jié)結(jié)果果hda2的分分區(qū)區(qū)號號2減1所得得到到的的結(jié)結(jié)果果。。其其余余依依次次類類推推。。系統(tǒng)統(tǒng)引引導(dǎo)導(dǎo)流流程程kernel/vmlinuz-2.4.22-3Thizroroot=LABEL=/GRUB命令令::kernel作用用::掛掛載載Linux的內(nèi)內(nèi)核核映映像像文文件件。。/為Linux內(nèi)核映像像文件ro以只讀方方式掛載載,防止止在初始始化時破破壞了系系統(tǒng)根分分區(qū)。root=LABEL=/以卷標(biāo)方方式掛載載真正的的根分區(qū)區(qū)。root=/dev/hda2與卷標(biāo)具具有同樣樣的效果果,掛載載真正的的根分區(qū)區(qū)。系統(tǒng)引導(dǎo)導(dǎo)流程卷標(biāo)名的的使用作用:卷標(biāo)名相相當(dāng)于該該分區(qū)的的一個別別名,但但在使用用前必須須寫上LABEL=,然后加加一個存存在的卷卷標(biāo)名,,使用的的時候等等號左右右不許有有空格。。卷標(biāo)名名長度為為16,不許有有空格等等特殊字字符。用命令e2label可以給磁磁盤指定定或者查查看一個個卷標(biāo)名名[root@thizserverroot]#e2label/dev/hda2/鍵入命令令后加一一個分區(qū)區(qū),可以以查看當(dāng)當(dāng)前的卷卷標(biāo)名。。系統(tǒng)引導(dǎo)導(dǎo)流程取消一個個分區(qū)的的卷標(biāo)名名,就給給該分區(qū)區(qū),賦2個雙引號號,里面面為空。。[root@thizserverroot]#e2label/dev/hda2““””[root@thizserverroot]#e2label/dev/hda2給該分區(qū)區(qū)負一個個卷標(biāo)名名。卷標(biāo)標(biāo)名可以以隨意取取,只要要在使用用的時候候,調(diào)用用了正確確的卷標(biāo)標(biāo)名即可可。[root@thizserverroot]#e2label/dev/hda2realroot[root@thizserverroot]#e2label/dev/hda2realroot系統(tǒng)引導(dǎo)導(dǎo)流程GRUB命令:initrd作用:1.掛載載初始化化RAMDisk,主要用于于加載沒沒有編譯譯進內(nèi)核核的文件件系統(tǒng)的的驅(qū)動程程序。2.可以以用gzip來解壓初初始化RAMDisk,會發(fā)現(xiàn)里里面有一一個簡單單的文件件系統(tǒng)和和文件系系統(tǒng)的驅(qū)驅(qū)動。系統(tǒng)引導(dǎo)導(dǎo)流程RAMDisk的制作::mkinitrd命令[mkinitrd后面需要要跟上2個參數(shù)數(shù)。第一個是是生成初初始化RAMDisk的具體位位置以及及文件名名,文件件名可以以隨便取取,但是是我們也也要做到到規(guī)范。。initrd告訴別人人是什么么文件,,然后跟跟上版本本號,最最后可以以跟上一一些自己己的個性性化名,,最后加加上.img收尾,告告訴別人人這是loop文件。系統(tǒng)引導(dǎo)導(dǎo)流程第二個參參數(shù)是你你所要生生成的初初始化RAMDisk的內(nèi)核版版本號,,這個版版本號必必須符合合/lib/modules目錄下的的版本號號。當(dāng)前內(nèi)核核版本號號可以通通過uname-r查看[root@thizserverroot]#uname-r系統(tǒng)引導(dǎo)導(dǎo)流程GRUB對于Windows的引導(dǎo)::root(hd0,4)掛載windows系統(tǒng)盤所所在的那那個分區(qū)區(qū),最容容易判斷斷的是,,該分區(qū)區(qū)下有NTLDR這個文件件。chainloader+1把引導(dǎo)權(quán)權(quán)從MBR手中轉(zhuǎn)移移到hda5這個分區(qū)區(qū)的第一一個扇區(qū)區(qū),由該該扇區(qū)里里的引導(dǎo)導(dǎo)程序來來繼續(xù)執(zhí)執(zhí)行引導(dǎo)導(dǎo)過程。。系統(tǒng)引導(dǎo)流流程GRUB在開機時的的一些功能能:當(dāng)GRUB出現(xiàn)操作系系統(tǒng)選擇菜菜單時,我我們會有一一些選項出出現(xiàn)。ThizServer(2.4.22-3Thiz)Windows系統(tǒng)引導(dǎo)流流程命令c進入GRUB的純命令模模式,將出出現(xiàn)grub>的提示符,,該模式下下可以直接接鍵入GRUB命令,最后后鍵入boot,,來完成引導(dǎo)導(dǎo)。我們所需鍵鍵入的那些些命令就是是grub.conf中title下的那些命命令。grub>系統(tǒng)引導(dǎo)流流程命令e對光標(biāo)行進進行編輯。。我們首先先看見的是是title,選擇了一個個title后,按e,表示編輯該該title,會把該title下的grub命令顯示出出來。root(hd0,0)kernel/vmlinuz-2.4.22-3Thizroroot=LABEL=/initrd/initrd-2.4.22-3Thiz.img系統(tǒng)引導(dǎo)流流程命令e對選中的GRUB命令行進行行編輯。對對于編輯完完該命令行行后,可以以按ESC放棄保存并并退出或者者按Enter保存并退出出。當(dāng)編輯輯完后,要要按編輯完完的方案啟啟動,按b。grubedit>kernel/vmlinuz-2.4.22-3Thizroroot=LABEL=/系統(tǒng)引導(dǎo)流流程d刪除光標(biāo)所所在行。o在光標(biāo)下插插入新行。。O在光標(biāo)前出出入新行。。注意GRUB中不允許存存在空行。。root(hd0,0)kernel/vmlinuz-2.4.22-3Thizroroot=LABEL=/initrd/initrd-2.4.22-3Thiz.img系統(tǒng)引導(dǎo)流流程/boot/grub目錄下的其其他文件。。stage1該文件就是是裝載在MBR里的一個文文件,即前前述的bootstrapstage*1_5這些都是GRUB的文件系統(tǒng)統(tǒng)的驅(qū)動,,正是它們們,能使GRUB支持各種文文件系統(tǒng),,使stage1能夠順利的的裝載stage2。stage2GRUB通過stage2來加載內(nèi)存存和初始化化RAMDisk。。前述的GRUB命令行都是是由該程序序提供的。。系統(tǒng)引導(dǎo)流流程內(nèi)核實例liminginit的工作init啟啟動后讀取取inittab文文件,執(zhí)行行缺省運行行級別,從從而繼續(xù)引導(dǎo)導(dǎo)過程。在在UNIX系統(tǒng)中,,init時第一個個可以存在的進進程,它的的PID恒恒為1,但但它也必須須向一個更高級的功功能負責(zé)::PID為為0的內(nèi)核核調(diào)度器((Kernelscheduler),從而而獲得CPU時間。。liminginittab文件剖析RedHat也支支持7-9的運行級級別,但他他們是作為為由管理員員定義的、、非標(biāo)準(zhǔn)的的狀態(tài)得以以支持的。。liminginittab文件剖析運行級的切切換:1.查看看當(dāng)前的運運行級2.運行行級的切換換#init[0123456Ss]或#telinit[0123456Ss]liminginittab文件剖析在inittab中中,所有條條目采取以以下格式::id:run-levels:action:processid:條目的標(biāo)標(biāo)識符,包包含兩個字字母或數(shù)字字run-levels:指定運行行級別,可可以指定多多個action:指定運行行狀態(tài)process:指定要運運行的可執(zhí)執(zhí)行程序的的完整路徑徑liminginittab文件剖析action常用取值如如下:initdefault:指定系統(tǒng)統(tǒng)缺省啟動動的運行級級別sysinit:在與控制制臺通信時時執(zhí)行process中指定定的命令wait:執(zhí)行process中指定定的命令,,并等其結(jié)結(jié)束再運行其他命命令once:執(zhí)行process中指定定的命令,,不等待其其結(jié)束ctrlaltdel:按下Ctrl+Alt+Del時執(zhí)執(zhí)行process指定的命令liminginittab文件剖析action常用取值續(xù)續(xù):powerfail:當(dāng)出現(xiàn)電電源錯誤時時執(zhí)行process指定的的命令,不等等待其結(jié)束束powerokwait:當(dāng)電源恢復(fù)復(fù)時執(zhí)行process指定定的命令respawn:一旦process指定的命命令中止,,便重新運行該命令令liminginittab文件剖析指定系統(tǒng)默默認運行級級別為3,,如果想系系統(tǒng)啟動后后自動運行XWindow,,則將上面面的3改為為5啟動腳本/etc/rc.d/rc.sysinit,,完成系統(tǒng)統(tǒng)服務(wù)程序序啟動,如系統(tǒng)統(tǒng)環(huán)境變量量設(shè)置、設(shè)設(shè)置系統(tǒng)時時鐘、加載載字體、檢查查加載文件件系統(tǒng)、生生成系統(tǒng)啟啟動信息日日志文件等。。liminginittab文件剖析判斷默認運運行級別,,調(diào)用/etc/rc.d/rc腳
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2021年物流項目管理年終工作總結(jié)5篇
- 小學(xué)五年級英語教學(xué)總結(jié)
- 會計述職報告范文15篇
- 2023年實驗室工作計劃安排(四篇)
- 世界風(fēng)險投資企業(yè)案例
- MLEM算法全過程推導(dǎo)
- 國內(nèi)外護理人員等級現(xiàn)狀及我國護理人員等級劃分的設(shè)想
- 市場營銷學(xué)習(xí)心得10篇
- 自我介紹演講稿怎么寫?【5篇】
- 2022新學(xué)期中學(xué)生勵志演講稿三篇
- 動態(tài)血壓課件教學(xué)課件
- 八上必讀名著《紅星照耀中國》要點梳理與練習(xí)
- 2024年山東省春季招生高三模擬考試語文試題(含答案解析)
- 匯編語言學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 北京市海淀區(qū)2023-2024學(xué)年高二上學(xué)期期末考試 生物 含解析
- 《電力電子技術(shù)》復(fù)習(xí)資料
- 2023年11月軟考中級系統(tǒng)集成項目管理工程師上午真題(第二批)
- 2024秋期國家開放大學(xué)本科《會計實務(wù)專題》一平臺在線形考(形考作業(yè)一至四)試題及答案
- 新高考數(shù)學(xué)概率統(tǒng)計分章節(jié)特訓(xùn)專題13超幾何分布(原卷版+解析)
- 河綜合治理工程竣工環(huán)保驗收監(jiān)測調(diào)查報告
- 《小數(shù)除法:人民幣兌換》(教學(xué)設(shè)計)-2024-2025學(xué)年五年級上冊數(shù)學(xué)北師大版
評論
0/150
提交評論