Linux啓動管理器

轉自:

http://blog.csdn.net/trendgrucee/article/details/8298708

一、hd0表示什麼

答:一塊硬盤最多隻能有四個主分區。其中一個可以爲擴展分區(主分區的特殊形式),擴展分區中可以有60個邏輯分區。linux表示分區,與順序和類型有關。

/dev/sda1爲第一主分區
/dev/sda2爲第二主分區
/dev/sda3爲第三主分區
/dev/sda4爲第四主分區
/dev/sda5爲第一邏輯分區
/dev/sda6爲第二邏輯分區
……
不管有幾個主分區,邏輯分區都是從/dev/sda5開始的。也就是說,第一個邏輯分區是/dev/sda5。
而四個主分區,可能只有一個,或二個。而且不一定是從/dev/sda1開始的。

一般以前的DOS和windows系統(2000/XP/2003,不包括windows7),使用自帶的分區工具,只能分一個主分區和一個擴展分區(內含多個邏輯分區)所以,默認情況下(不是一定,可以改變的),C盤爲/dev/sda1,D盤爲/dev/sda5,E盤爲/dev/sda6……

其中/dev/sda爲第一塊硬盤
/dev/sdb爲第二塊硬盤(如果有的話),分區表示法後面的數字一樣。

grub是linux系統的啓動管理器,也是根據分區順序表示,但有不同。是以0開始的,不是以1開始的。
(hd0,0)爲第一主分區
(hd0,1)爲第二主分區
(hd0,4)爲第一邏輯分區(通常爲D盤)
(hd0,5)爲第二個邏輯爭區(通常爲E盤)
……
(hd0)爲第一個硬盤
(hd1)爲第二個硬盤

grub2是新的啓動管理器,表示方法與grub有些微妙但很重要的不同
(hd0,1)爲第一主分區
(hd0,2)爲第二主分區
(hd0,5)爲第一邏輯分區(通常爲D盤)
(hd0,6)爲第二個邏輯爭區(通常爲E盤)
……
(hd0)爲第一個硬盤
(hd1)爲第二個硬盤
注意,grub與grub2表示的分區方法不同
 


linux下,只有第一主分區、第二主分區、第三主分區、第四主分區、第一邏輯分區、第二邏輯分區、第三邏輯分區……



以下爲常見的G版XP系統,快速分四個分區方式,在linux系統中和grub的表示法(但不保證準確)
C 盤/dev/sda1 (hd0,0)
D盤/dev/sda5 (hd0,4)
E盤/dev/sda6 (hd0,5)
F盤/dev/sda7 (hd0,6)

二、Linux系統啓動的基本過程和步驟

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系統保留分區的作用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章