引導(dǎo)流程解析_第1頁(yè)
引導(dǎo)流程解析_第2頁(yè)
引導(dǎo)流程解析_第3頁(yè)
引導(dǎo)流程解析_第4頁(yè)
引導(dǎo)流程解析_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

引導(dǎo)流程解析PHPChina工作室系統(tǒng)引導(dǎo)流程解析固件------硬件識(shí)別BootLoader------載入操作系統(tǒng)內(nèi)核------初始化和控制轉(zhuǎn)移init進(jìn)程和初始化腳本liming固件設(shè)置實(shí)例liming系統(tǒng)引導(dǎo)流程“bootloader”這個(gè)術(shù)語(yǔ)是“bootstrapOperationSystemloader”的簡(jiǎn)稱(chēng),即“自舉操作系統(tǒng)載入器”。何謂“自舉”,Merriam-Webster在線(xiàn)字典[注釋4]的說(shuō)法,首次使用bootstrap(自舉)這個(gè)詞是在1926年。它的來(lái)源確實(shí)是一個(gè)試圖通過(guò)拉自己的鞋帶(bootstrap),從而將自己舉高。這也是“自力更生”(pullyourselfupbyyourbootstraps)這一諺語(yǔ)的來(lái)歷。通常,“自舉”意味著利用盡量可能少量的外部介入和資源,從而讓某種東西工作起來(lái)。對(duì)于計(jì)算機(jī)來(lái)說(shuō),它的“自舉”意味著使用少量的、獨(dú)立的、內(nèi)部的功能,從而初始化,并將控制權(quán)轉(zhuǎn)交給主操作系統(tǒng)。

bootloader存放的位置:bootloader存放的位置有2個(gè),一個(gè)是在MBR,先前已經(jīng)提過(guò),主引導(dǎo)記錄,還有一個(gè)位置在于任何一個(gè)分區(qū)的第一個(gè)扇區(qū)。 bootloader存在于2個(gè)位置:MasterBootRecord(主引導(dǎo)記錄),位于磁盤(pán)的0柱面0磁道的0扇區(qū)。這是一個(gè)特殊的位置,當(dāng)系統(tǒng)啟動(dòng)的時(shí)候,BIOS會(huì)自動(dòng)讀取此處。IDE硬盤(pán),軟盤(pán),SCSI硬盤(pán)等都有MBR。另外一個(gè)位置位于每個(gè)分區(qū)的第一個(gè)扇區(qū)。系統(tǒng)引導(dǎo)流程系統(tǒng)引導(dǎo)流程bootloader的種類(lèi),有許多,稍微列舉幾個(gè)SystemCommander 一個(gè)多重系統(tǒng)引導(dǎo)程序

NTLDR(windows) 用的引導(dǎo)程序

LILO (LInuxLOader) 一個(gè)過(guò)時(shí)的Linux引導(dǎo)程序

GRUB(GRandUnifiedBootloader)

一個(gè)時(shí)下非常流行的Linux引導(dǎo)程序系統(tǒng)引導(dǎo)流程使用GRUB而不使用LILO的原因:GRUB支持1024柱面以后的扇區(qū)的讀取。 GRUB安裝,使用比LILO更為靈活,方便,簡(jiǎn)單。系統(tǒng)引導(dǎo)流程GRUB的簡(jiǎn)介

GRUB的主配置文件/boot/grub/grub.conf.

在/etc/grub.conf是/boot/grub/grub.conf的軟鏈接. 在/boot/grub目錄下還有一些其他GRUB工作所需的文件. 系統(tǒng)引導(dǎo)流程GRUB的配置假設(shè)當(dāng)前硬盤(pán)的分區(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)用用戶(hù)戶(hù)不不做做任任何何操操作作的的情情況況下下,,將將選選擇擇哪哪一一個(gè)個(gè)操操作作系系統(tǒng)統(tǒng)。。title依次次編編號(hào)號(hào),,從從0開(kāi)始始。。timeout————GRUB將會(huì)會(huì)等等待待用用戶(hù)戶(hù)作作一一些些操操作作,,如如果果超超過(guò)過(guò)了了時(shí)時(shí)間間,,用用戶(hù)戶(hù)依依舊舊沒(méi)沒(méi)有有動(dòng)動(dòng)作作,,那那么么將將自自動(dòng)動(dòng)進(jìn)進(jìn)入入default所指指定定的的那那個(gè)個(gè)操操作作系系統(tǒng)統(tǒng)。。timeout的時(shí)時(shí)間間單單位位為為秒秒。。設(shè)設(shè)置置時(shí)時(shí)間間為為-1,表表示示無(wú)無(wú)限限等等待待,,直直到到用用戶(hù)戶(hù)作作出出選選擇擇。。title————開(kāi)機(jī)機(jī)用用戶(hù)戶(hù)選選擇擇操操作作系系統(tǒng)統(tǒng)時(shí)時(shí),,所所能能看看到到標(biāo)標(biāo)題題,,選選擇擇了了相相應(yīng)應(yīng)的的title后,,將將會(huì)會(huì)執(zhí)執(zhí)行行該該title到下下一一個(gè)個(gè)title間所所有有g(shù)rub命令令。。如如果果是是最最后后一一段段title,就就一一直直執(zhí)執(zhí)行行到到文文件件結(jié)結(jié)尾尾。。當(dāng)當(dāng)執(zhí)執(zhí)行行完完每每段段title后grub會(huì)自自動(dòng)動(dòng)執(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所映映射射出出來(lái)來(lái)的的。。逗號(hào)號(hào)后后面面的的0就是是hda1的分分區(qū)區(qū)號(hào)號(hào)1減1所得得到到的的結(jié)結(jié)果果。。如果果是是(hd0,1),那那么么就就是是將將結(jié)結(jié)果果hda2的分分區(qū)區(qū)號(hào)號(hào)2減1所得得到到的的結(jié)結(jié)果果。。其其余余依依次次類(lèi)類(lèi)推推。。系統(tǒng)統(tǒng)引引導(dǎo)導(dǎo)流流程程kernel/vmlinuz-2.4.22-3Thizroroot=LABEL=/GRUB命令令::kernel作用用::掛掛載載Linux的內(nèi)內(nèi)核核映映像像文文件件。。/為L(zhǎng)inux內(nèi)核映像像文件ro以只讀方方式掛載載,防止止在初始始化時(shí)破破壞了系系統(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ū)的的一個(gè)別別名,但但在使用用前必須須寫(xiě)上LABEL=,然后加加一個(gè)存存在的卷卷標(biāo)名,,使用的的時(shí)候等等號(hào)左右右不許有有空格。。卷標(biāo)名名長(zhǎng)度為為16,不許有有空格等等特殊字字符。用命令e2label可以給磁磁盤(pán)指定定或者查查看一個(gè)個(gè)卷標(biāo)名名[root@thizserverroot]#e2label/dev/hda2/鍵入命令令后加一一個(gè)分區(qū)區(qū),可以以查看當(dāng)當(dāng)前的卷卷標(biāo)名。。系統(tǒng)引導(dǎo)導(dǎo)流程取消一個(gè)個(gè)分區(qū)的的卷標(biāo)名名,就給給該分區(qū)區(qū),賦2個(gè)雙引號(hào)號(hào),里面面為空。。[root@thizserverroot]#e2label/dev/hda2““””[root@thizserverroot]#e2label/dev/hda2給該分區(qū)區(qū)負(fù)一個(gè)個(gè)卷標(biāo)名名。卷標(biāo)標(biāo)名可以以隨意取取,只要要在使用用的時(shí)候候,調(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,主要用于于加載沒(méi)沒(méi)有編譯譯進(jìn)內(nèi)核核的文件件系統(tǒng)的的驅(qū)動(dòng)程程序。2.可以以用gzip來(lái)解壓初初始化RAMDisk,會(huì)發(fā)現(xiàn)里里面有一一個(gè)簡(jiǎn)單單的文件件系統(tǒng)和和文件系系統(tǒng)的驅(qū)驅(qū)動(dòng)。系統(tǒng)引導(dǎo)導(dǎo)流程RAMDisk的制作::mkinitrd命令[mkinitrd后面需要要跟上2個(gè)參數(shù)數(shù)。第一個(gè)是是生成初初始化RAMDisk的具體位位置以及及文件名名,文件件名可以以隨便取取,但是是我們也也要做到到規(guī)范。。initrd告訴別人人是什么么文件,,然后跟跟上版本本號(hào),最最后可以以跟上一一些自己己的個(gè)性性化名,,最后加加上.img收尾,告告訴別人人這是loop文件。系統(tǒng)引導(dǎo)導(dǎo)流程第二個(gè)參參數(shù)是你你所要生生成的初初始化RAMDisk的內(nèi)核版版本號(hào),,這個(gè)版版本號(hào)必必須符合合/lib/modules目錄下的的版本號(hào)號(hào)。當(dāng)前內(nèi)核核版本號(hào)號(hào)可以通通過(guò)uname-r查看[root@thizserverroot]#uname-r系統(tǒng)引導(dǎo)導(dǎo)流程GRUB對(duì)于Windows的引導(dǎo)::root(hd0,4)掛載windows系統(tǒng)盤(pán)所所在的那那個(gè)分區(qū)區(qū),最容容易判斷斷的是,,該分區(qū)區(qū)下有NTLDR這個(gè)文件件。chainloader+1把引導(dǎo)權(quán)權(quán)從MBR手中轉(zhuǎn)移移到hda5這個(gè)分區(qū)區(qū)的第一一個(gè)扇區(qū)區(qū),由該該扇區(qū)里里的引導(dǎo)導(dǎo)程序來(lái)來(lái)繼續(xù)執(zhí)執(zhí)行引導(dǎo)導(dǎo)過(guò)程。。系統(tǒng)引導(dǎo)流流程GRUB在開(kāi)機(jī)時(shí)的的一些功能能:當(dāng)GRUB出現(xiàn)操作系系統(tǒng)選擇菜菜單時(shí),我我們會(huì)有一一些選項(xiàng)出出現(xiàn)。ThizServer(2.4.22-3Thiz)Windows系統(tǒng)引導(dǎo)流流程命令c進(jìn)入GRUB的純命令模模式,將出出現(xiàn)grub>的提示符,,該模式下下可以直接接鍵入GRUB命令,最后后鍵入boot,,來(lái)完成引導(dǎo)導(dǎo)。我們所需鍵鍵入的那些些命令就是是grub.conf中title下的那些命命令。grub>系統(tǒng)引導(dǎo)流流程命令e對(duì)光標(biāo)行進(jìn)進(jìn)行編輯。。我們首先先看見(jiàn)的是是title,選擇了一個(gè)個(gè)title后,按e,表示編輯該該title,會(huì)把該title下的grub命令顯示出出來(lái)。root(hd0,0)kernel/vmlinuz-2.4.22-3Thizroroot=LABEL=/initrd/initrd-2.4.22-3Thiz.img系統(tǒng)引導(dǎo)流流程命令e對(duì)選中的GRUB命令行進(jìn)行行編輯。對(duì)對(duì)于編輯完完該命令行行后,可以以按ESC放棄保存并并退出或者者按Enter保存并退出出。當(dāng)編輯輯完后,要要按編輯完完的方案啟啟動(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里的一個(gè)文文件,即前前述的bootstrapstage*1_5這些都是GRUB的文件系統(tǒng)統(tǒng)的驅(qū)動(dòng),,正是它們們,能使GRUB支持各種文文件系統(tǒng),,使stage1能夠順利的的裝載stage2。stage2GRUB通過(guò)stage2來(lái)加載內(nèi)存存和初始化化RAMDisk。。前述的GRUB命令行都是是由該程序序提供的。。系統(tǒng)引導(dǎo)流流程內(nèi)核實(shí)例liminginit的工作init啟啟動(dòng)后讀取取inittab文文件,執(zhí)行行缺省運(yùn)行行級(jí)別,從從而繼續(xù)引導(dǎo)導(dǎo)過(guò)程。在在UNIX系統(tǒng)中,,init時(shí)第一個(gè)個(gè)可以存在的進(jìn)進(jìn)程,它的的PID恒恒為1,但但它也必須須向一個(gè)更高級(jí)的功功能負(fù)責(zé)::PID為為0的內(nèi)核核調(diào)度器((Kernelscheduler),從而而獲得CPU時(shí)間。。liminginittab文件剖析RedHat也支支持7-9的運(yùn)行級(jí)級(jí)別,但他他們是作為為由管理員員定義的、、非標(biāo)準(zhǔn)的的狀態(tài)得以以支持的。。liminginittab文件剖析運(yùn)行級(jí)的切切換:1.查看看當(dāng)前的運(yùn)運(yùn)行級(jí)2.運(yùn)行行級(jí)的切換換#init[0123456Ss]或#telinit[0123456Ss]liminginittab文件剖析在inittab中中,所有條條目采取以以下格式::id:run-levels:action:processid:條目的標(biāo)標(biāo)識(shí)符,包包含兩個(gè)字字母或數(shù)字字run-levels:指定運(yùn)行行級(jí)別,可可以指定多多個(gè)action:指定運(yùn)行行狀態(tài)process:指定要運(yùn)運(yùn)行的可執(zhí)執(zhí)行程序的的完整路徑徑liminginittab文件剖析action常用取值如如下:initdefault:指定系統(tǒng)統(tǒng)缺省啟動(dòng)動(dòng)的運(yùn)行級(jí)級(jí)別sysinit:在與控制制臺(tái)通信時(shí)時(shí)執(zhí)行process中指定定的命令wait:執(zhí)行process中指定定的命令,,并等其結(jié)結(jié)束再運(yùn)行其他命命令once:執(zhí)行process中指定定的命令,,不等待其其結(jié)束ctrlaltdel:按下Ctrl+Alt+Del時(shí)執(zhí)執(zhí)行process指定的命令liminginittab文件剖析action常用取值續(xù)續(xù):powerfail:當(dāng)出現(xiàn)電電源錯(cuò)誤時(shí)時(shí)執(zhí)行process指定的的命令,不等等待其結(jié)束束powerokwait:當(dāng)電源恢復(fù)復(fù)時(shí)執(zhí)行process指定定的命令respawn:一旦process指定的命命令中止,,便重新運(yùn)行該命令令liminginittab文件剖析指定系統(tǒng)默默認(rèn)運(yùn)行級(jí)級(jí)別為3,,如果想系系統(tǒng)啟動(dòng)后后自動(dòng)運(yùn)行XWindow,,則將上面面的3改為為5啟動(dòng)腳本/etc/rc.d/rc.sysinit,,完成系統(tǒng)統(tǒng)服務(wù)程序序啟動(dòng),如系統(tǒng)統(tǒng)環(huán)境變量量設(shè)置、設(shè)設(shè)置系統(tǒng)時(shí)時(shí)鐘、加載載字體、檢查查加載文件件系統(tǒng)、生生成系統(tǒng)啟啟動(dòng)信息日日志文件等。。liminginittab文件剖析判斷默認(rèn)運(yùn)運(yùn)行級(jí)別,,調(diào)用/etc/rc.d/rc腳

溫馨提示

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

評(píng)論

0/150

提交評(píng)論