版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、引導(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ǔ)是“bootstrap Operation System loader”的簡(jiǎn)稱,即“自舉操作系統(tǒng)載入器”。 何謂“自舉”,Merriam-Webster在線字典注釋4的說(shuō)法,首次使用bootstrap(自舉)這個(gè)詞是在1926年。它的來(lái)源確實(shí)是一個(gè)試圖通過(guò)拉自己的鞋帶(bootstrap),從而將自己舉高。這也是“自力更生”(pull y
2、ourself up by your bootstraps)這一諺語(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è)位置: Master Boot Record(主引導(dǎo)記錄),位于磁盤(pán)的0柱面0磁道的0扇區(qū)。這是一個(gè)特殊的位置,當(dāng)系統(tǒng)啟動(dòng)的時(shí)候,BIOS會(huì)自動(dòng)讀取
3、此處。IDE硬盤(pán),軟盤(pán),SCSI硬盤(pán)等都有MBR。 另外一個(gè)位置位于每個(gè)分區(qū)的第一個(gè)扇區(qū)。,系統(tǒng)引導(dǎo)流程,系統(tǒng)引導(dǎo)流程,bootloader的種類,有許多,稍微列舉幾個(gè) System Commander一個(gè)多重系統(tǒng)引導(dǎo)程序 NTLDR (windows)用的引導(dǎo)程序 LILO(LInux LOader)一個(gè)過(guò)時(shí)的Linux引導(dǎo)程序 GRUB (GRand Unified Bootloader) 一個(gè)時(shí)下非常流行的Linux引導(dǎo)程序,系統(tǒng)引導(dǎo)流程,使用GRUB而不使用LILO的原因: GRUB支持1024柱面以后的扇區(qū)的讀取。 GRUB安裝,使用比LILO更為靈活,方便,簡(jiǎn)單。,系統(tǒng)引導(dǎo)流程,G
4、RUB的簡(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/hda3Linux Swap /dev/hda4Extended Partition /dev/hda5NTFS,系統(tǒng)引導(dǎo)流程,假設(shè)當(dāng)前的配置文件 default=0 timeout=10 title RedHat (2.4.22-3Thiz) root
5、(hd0,0) kernel /vmlinuz-2.4.22-3Thiz ro root=LABEL=/ initrd /initrd-2.4.22-3Thiz.img title Windows root (hd0,4) chainloader +1,系統(tǒng)引導(dǎo)流程,default標(biāo)示了當(dāng)用戶不做任何操作的情況下,將選擇哪一個(gè)操作系統(tǒng)。title依次編號(hào),從0開(kāi)始。 timeoutGRUB將會(huì)等待用戶作一些操作,如果超過(guò)了時(shí)間,用戶依舊沒(méi)有動(dòng)作,那么將自動(dòng)進(jìn)入default所指定的那個(gè)操作系統(tǒng)。timeout的時(shí)間單位為秒。設(shè)置時(shí)間為-1,表示無(wú)限等待,直到用戶作出選擇。 title開(kāi)機(jī)用戶選
6、擇操作系統(tǒng)時(shí),所能看到標(biāo)題,選擇了相應(yīng)的title后,將會(huì)執(zhí)行該title到下一個(gè)title間所有g(shù)rub命令。如果是最后一段title,就一直執(zhí)行到文件結(jié)尾。當(dāng)執(zhí)行完每段title后grub會(huì)自動(dòng)執(zhí)行boot命令。,系統(tǒng)引導(dǎo)流程,root (hd0,0) GRUB命令:root 作用:掛載boot目錄所在的分區(qū)。 hd0是根據(jù)/boot/grub/device.map所映射出來(lái)的。 逗號(hào)后面的0就是hda1的分區(qū)號(hào)1減1所得到的結(jié)果。 如果是(hd0,1),那么就是將結(jié)果hda2的分區(qū)號(hào)2減1所得到的結(jié)果。其余依次類推。,系統(tǒng)引導(dǎo)流程,kernel /vmlinuz-2.4.22-3Thiz
7、 ro root=LABEL=/ GRUB命令:kernel 作用:掛載Linux的內(nèi)核映像文件。 /vmlinuz-2.4.22-3Thiz為L(zhǎng)inux內(nèi)核映像文件 ro以只讀方式掛載,防止在初始化時(shí)破壞了系統(tǒng)根分區(qū)。 root=LABEL=/ 以卷標(biāo)方式掛載真正的根分區(qū)。 root=/dev/hda2 與卷標(biāo)具有同樣的效果,掛載真正的根分區(qū)。,系統(tǒng)引導(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è)卷標(biāo)名 r
8、ootthizserver root# e2label /dev/hda2 / 鍵入命令后加一個(gè)分區(qū),可以查看當(dāng)前的卷標(biāo)名。,系統(tǒng)引導(dǎo)流程,取消一個(gè)分區(qū)的卷標(biāo)名,就給該分區(qū),賦2個(gè)雙引號(hào),里面為空。 rootthizserver root# e2label /dev/hda2 “” rootthizserver root# e2label /dev/hda2 給該分區(qū)負(fù)一個(gè)卷標(biāo)名。卷標(biāo)名可以隨意取,只要在使用的時(shí)候,調(diào)用了正確的卷標(biāo)名即可。 rootthizserver root# e2label /dev/hda2 realroot rootthizserver root# e2label
9、/dev/hda2 realroot,系統(tǒng)引導(dǎo)流程,initrd /initrd-2.4.22-3Thiz.img GRUB命令:initrd 作用: 1.掛載初始化RAM Disk,主要用于加載沒(méi)有編譯進(jìn)內(nèi)核的文件系統(tǒng)的驅(qū)動(dòng)程序。 2.可以用gzip來(lái)解壓初始化RAM Disk,會(huì)發(fā)現(xiàn)里面有一個(gè)簡(jiǎn)單的文件系統(tǒng)和文件系統(tǒng)的驅(qū)動(dòng)。,系統(tǒng)引導(dǎo)流程,RAM Disk的制作: mkinitrd命令 rootthizserver root# mkinitrd /boot/initrd-2.4.22-3Thiz.custom.img 2.4.22-3 mkinitrd后面需要跟上2個(gè)參數(shù)。 第一個(gè)是生成初
10、始化RAM Disk的具體位置以及文件名,文件名可以隨便取,但是我們也要做到規(guī)范。initrd告訴別人是什么文件,然后跟上版本號(hào),最后可以跟上一些自己的個(gè)性化名,最后加上.img收尾,告訴別人這是loop文件。,系統(tǒng)引導(dǎo)流程,第二個(gè)參數(shù)是你所要生成的初始化RAM Disk的內(nèi)核版本號(hào),這個(gè)版本號(hào)必須符合/lib/modules目錄下的版本號(hào)。 當(dāng)前內(nèi)核版本號(hào)可以通過(guò)uname -r查看 rootthizserver root# uname -r 2.4.22-3Thiz,系統(tǒng)引導(dǎo)流程,GRUB對(duì)于Windows的引導(dǎo): root (hd0,4) 掛載windows系統(tǒng)盤(pán)所在的那個(gè)分區(qū),最容易判
11、斷的是,該分區(qū)下有NTLDR這個(gè)文件。 chainloader +1 把引導(dǎo)權(quán)從MBR手中轉(zhuǎn)移到hda5這個(gè)分區(qū)的第一個(gè)扇區(qū),由該扇區(qū)里的引導(dǎo)程序來(lái)繼續(xù)執(zhí)行引導(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)。,系統(tǒng)引導(dǎo)流程,命令c 進(jìn)入GRUB的純命令模式,將出現(xiàn)grub的提示符,該模式下可以直接鍵入GRUB命令,最后鍵入boot,來(lái)完成引導(dǎo)。 我們所需鍵入的那些命令就是grub.conf中title下的那些命令。,系統(tǒng)引導(dǎo)流程,命令e 對(duì)光標(biāo)行進(jìn)行編輯。我們首先看見(jiàn)的是title,選擇了一個(gè)title后,按e,表示編輯該title,
12、會(huì)把該title下的grub命令顯示出來(lái)。,系統(tǒng)引導(dǎo)流程,命令e 對(duì)選中的GRUB命令行進(jìn)行編輯。對(duì)于編輯完該命令行后,可以按ESC放棄保存并退出或者按Enter保存并退出。當(dāng)編輯完后,要按編輯完的方案啟動(dòng),按b。,系統(tǒng)引導(dǎo)流程,d 刪除光標(biāo)所在行。 o 在光標(biāo)下插入新行。 O 在光標(biāo)前出入新行。 注意GRUB中不允許存在空行。,系統(tǒng)引導(dǎo)流程,/boot/grub目錄下的其他文件。 stage1 該文件就是裝載在MBR里的一個(gè)文件,即前述的bootstrap stage*1_5 這些都是GRUB的文件系統(tǒng)的驅(qū)動(dòng),正是它們,能使GRUB支持各種文件系統(tǒng),使stage1能夠順利的裝載stage2。
13、 stage2 GRUB通過(guò)stage2來(lái)加載內(nèi)存和初始化RAM Disk。前述的GRUB命令行都是由該程序提供的。,系統(tǒng)引導(dǎo)流程,內(nèi)核實(shí)例,liming,init 的工作,init啟動(dòng)后讀取inittab文件,執(zhí)行缺省運(yùn)行級(jí)別,從 而繼續(xù)引導(dǎo)過(guò)程。在UNIX系統(tǒng)中,init時(shí)第一個(gè)可 以存在的進(jìn)程,它的PID恒為1,但它也必須向一個(gè) 更高級(jí)的功能負(fù)責(zé):PID為0的內(nèi)核調(diào)度器(Kernel scheduler),從而獲得CPU時(shí)間。,liming,inittab 文件剖析,Red Hat也支持7-9的運(yùn)行級(jí)別,但他們是作為由管理員定義的、非標(biāo)準(zhǔn)的狀態(tài)得以支持的。,liming,inittab
14、文件剖析,運(yùn)行級(jí)的切換: 1. 查看當(dāng)前的運(yùn)行級(jí) 2. 運(yùn)行級(jí)的切換 # init 0123456Ss 或 # telinit 0123456Ss,liming,inittab 文件剖析,在inittab中,所有條目采取以下格式: id:run-levels:action:process id:條目的標(biāo)識(shí)符,包含兩個(gè)字母或數(shù)字 run-levels:指定運(yùn)行級(jí)別,可以指定多個(gè) action:指定運(yùn)行狀態(tài) process:指定要運(yùn)行的可執(zhí)行程序的完整路徑,liming,inittab 文件剖析,action常用取值如下: initdefault:指定系統(tǒng)缺省啟動(dòng)的運(yùn)行級(jí)別 sysinit:在與控
15、制臺(tái)通信時(shí)執(zhí)行process中指定的 命令 wait:執(zhí)行process中指定的命令,并等其結(jié)束再 運(yùn)行其他命令 once:執(zhí)行process中指定的命令,不等待其結(jié)束 ctrlaltdel:按下CtrlAltDel時(shí)執(zhí)行process指定 的命令,liming,inittab 文件剖析,action常用取值續(xù): powerfail:當(dāng)出現(xiàn)電源錯(cuò)誤時(shí)執(zhí)行process指定的 命令,不等待其結(jié)束 powerokwait:當(dāng)電源恢復(fù)時(shí)執(zhí)行process指定的 命令 respawn:一旦process指定的命令中止,便重新 運(yùn)行該命令,liming,inittab 文件剖析,指定系統(tǒng)默認(rèn)運(yùn)行級(jí)別為3
16、,如果想系統(tǒng)啟動(dòng)后 自動(dòng)運(yùn)行X Window,則將上面的3改為5 啟動(dòng)腳本/etc/rc.d/rc.sysinit,完成系統(tǒng)服務(wù)程序啟 動(dòng),如系統(tǒng)環(huán)境變量設(shè)置、設(shè)置系統(tǒng)時(shí)鐘、加載 字體、檢查加載文件系統(tǒng)、生成系統(tǒng)啟動(dòng)信息日 志文件等。,liming,inittab 文件剖析,判斷默認(rèn)運(yùn)行級(jí)別,調(diào)用/etc/rc.d/rc腳本,執(zhí)行相 應(yīng)運(yùn)行級(jí)別目錄中的服務(wù)程序,完成相應(yīng)運(yùn)行級(jí) 別的初始化設(shè)置,liming,inittab 文件剖析,/etc/rc.d/init.d 該目錄下包含各個(gè)運(yùn)行級(jí)別的服務(wù)程序腳本,liming,inittab 文件剖析,/etc/rc.d/rc0123456.d 分別存放對(duì)應(yīng)于運(yùn)行級(jí)別的服務(wù)程序腳本的符號(hào) 鏈接,鏈接到init.d目錄中的相應(yīng)腳本,liming,添加自啟動(dòng)程序,ln -s chkconfig ntsysv tksysv,liming,添加自啟動(dòng)程序,liming,添加自啟動(dòng)程序,liming,initt
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公室員工培訓(xùn)效果反饋流程制度
- 銀行第二存款人制度
- 2026年及未來(lái)5年市場(chǎng)數(shù)據(jù)中國(guó)時(shí)尚培訓(xùn)行業(yè)市場(chǎng)深度研究及投資戰(zhàn)略規(guī)劃報(bào)告
- 配備足量的清潔工具(掃帚、拖把、清潔劑等)并建立工具領(lǐng)用登記制度
- 通信檔案三合一制度
- 綜合資質(zhì)考試題目及答案
- 運(yùn)輸車隊(duì)司機(jī)獎(jiǎng)罰制度
- 人體胚胎發(fā)育:哲學(xué)課件
- 前端頁(yè)面布局設(shè)計(jì)技巧及案例展示
- 財(cái)務(wù)支出制度
- 繪本:我喜歡書(shū)
- 2023健康住宅建設(shè)技術(shù)規(guī)程
- 漢聲數(shù)學(xué)繪本《數(shù)是怎么來(lái)的》
- 統(tǒng)編版中外歷史綱要下冊(cè) (全球聯(lián)系的初步建立與世界格局的演變) 課件
- GB/T 26471-2023塔式起重機(jī)安裝、拆卸與爬升規(guī)則
- GB/T 26126-2018商品煤質(zhì)量煤粉工業(yè)鍋爐用煤
- GB/T 14048.2-2020低壓開(kāi)關(guān)設(shè)備和控制設(shè)備第2部分:斷路器
- GA 801-2014機(jī)動(dòng)車查驗(yàn)工作規(guī)程
- 消防應(yīng)急照明與疏散指示系統(tǒng)調(diào)試記錄
- 中藥藥理學(xué)(全套課件)
- 電子層和電子亞層20100324課件
評(píng)論
0/150
提交評(píng)論