Linux系統啓動過程大致按照如下步驟進行(這是一個簡述):
第一階段:BIOS啓動引導階段;
在該過程中實現硬件的初始化以及查找啓動介質;
從MBR中裝載啓動引導管理器(GRUB)並運行該啓動引導管理
第二階段:GRUB啓動引導階段;
裝載stage1
裝載stage1.5
裝載stage2
讀取/boot/grub.conf文件並顯示啓動菜單;
裝載所選的kernel和initrd文件到內存中
第三階段:內核階段:
運行內核啓動參數;
解壓initrd文件並掛載initd文件系統,裝載必須的驅動;
掛載根文件系統
第四階段:Sys V init初始化階段:
啓動/sbin/init程序;
運行rc.sysinit腳本,設置系統環境,啓動swap分區,檢查和掛載文件系統;
讀取/etc/inittab文件,運行在/et/rc.d/rc<#>.d中定義的不同運行級別的服務初始化腳本;
打開字符終端1-6號控制檯/打開圖形顯示管理的7號控制檯
同時在上述過程中各階段所需要讀取的文件和操作的對象:
BIOS啓動引導階段 GRUB啓動引導階段 內核階段 /init/sysinit階段
==================================================================================================
None /boot/grub/grub.conf /boot/vmlinuz-<version> /etc/rc.d/rc.sysinit
/boot/grub/stage1_5 /boot/initrd-<version> /etc/inittab
/boot/grub/stage2 /etc/rc.d/rc<#>.d
/etc/rc.d/init.d/*
三、主引導記錄MBR
什麼是MBR
硬盤的0柱面、0磁頭、1扇區稱爲主引導扇區,NANDFLASH由BLOCK和Sector組成,所以NANDFLASH的第0 BLOCK,第1 Sector爲主引導扇區,FDISK程序寫到該扇區的內容稱爲主引導記錄(MBR)。該記錄佔用512個字節,它用於硬盤啓動時將系統控制權交給用戶指定的,並在分區表中登記了的某個操作系統區。
MBR的組成
一個扇區的硬盤主引導記錄MBR由如圖6-15所示的4個部分組成。
·主引導程序(偏移地址0000H--0088H),它負責從活動分區中裝載,並運行系統引導程序。
·出錯信息數據區,偏移地址0089H--00E1H爲出錯信息,00E2H--01BDH全爲0字節。
·分區表(DPT,Disk Partition Table)含4個分區項,偏移地址01BEH--01FDH,每個分區表項長16個字節,共64字節爲分區項1、分區項2、分區項3、分區項4。
·結束標誌字,偏移地址01FE--01FF的2個字節值爲結束標誌55AA,如果該標誌錯誤系統就不能啓動。
0000-0088 |
Master Boot Record 主引導程序 |
主引導 程序 |
0089-01BD |
出錯信息數據區 |
數據區 |
01BE-01CD |
分區項1(16字節) |
分區表 |
01CE-01DD |
分區項2(16字節) |
|
01DE-01ED |
分區項3(16字節) |
|
01EE-01FD |
分區項4(16字節) |
|
01FE |
55 |
結束標誌 |
01FF |
AA |
圖6-15 MBR的組成結構圖
MBR中的分區信息結構
佔用512個字節的MBR中,偏移地址01BEH--01FDH的64個字節,爲4個分區項內容(分區信息表)。它是由磁盤介質類型及用戶在使用 FDISK定義分區說確定的。在實際應用中,FDISK對一個磁盤劃分的主分區可少於4個,但最多不超過4個。每個分區表的項目是16個字節,其內容含義 如表6-19所示。
表6-19 分區項表(16字節)內容及含義
存貯字節位 |
內容及含義 |
第1字節 |
引導標誌。若值爲80H表示活動分區,若值爲00H表示非活動分區。 |
第2、3、4字節 |
本分區的起始磁頭號、扇區號、柱面號。其中: 磁頭號——第2字節; 扇區號——第3字節的低6位; 柱面號——爲第3字節高2位+第4字節8位。 |
第5字節 |
分區類型符。 00H——表示該分區未用(即沒有指定); 06H——FAT16基本分區; 0BH——FAT32基本分區; 05H——擴展分區; 07H——NTFS分區; 0FH——(LBA模式)擴展分區(83H爲Linux分區等)。 |
第6、7、8字節 |
本分區的結束磁頭號、扇區號、柱面號。其中: 磁頭號——第6字節; 扇區號——第7字節的低6位; 柱面號——第7字節的高2位+第8字節。 |
第9、10、11、12字節 |
本分區之前已用了的扇區數。 |
第13、14、15、16字節 |
本分區的總扇區數。 |
四、Win7系統保留分區的作用