-
引入:
在linux系統中,每個設備都被當成一個文件來對待。
幾乎所有硬件設備都在/dev這個目錄下。
需要掌握的是磁盤的設備文件名:IDE接口的為/dev/hd[a-d],SATA的為/dev/sd[a-p]。
那么分區后的設備文件名呢?
-
磁盤的第一個扇區
- 磁盤數據的寫入在盤片上,盤片的單位是扇區(512bytes),整塊磁盤的第一個扇區最重要,它記錄了兩個重要的信息:
1.主引導分區(MBR):稍后談,446B
2.分區表:記錄硬盤分區狀態,64B。
- 將硬盤的柱面標號,每個分區分配一段連續的柱面。
- 64B的分區表划為4個部分(僅有4個喲),每個部分16B,記錄四段【起始柱面號碼與結束柱面號碼】。四個部分中最多有3個主分區,一個拓展分區。
- 所謂的“分區”操作實際上只是針對分區表進行設置。主分區表記錄的是主分區的柱面信息,拓展分區表記錄的是邏輯分區的柱面信息。拓展分區表所占空間大小是64B減去主分區表大小。
e.g.假設現在給一塊IDE磁盤/dev/hda分區,決定分為2個主分區(primary),4個邏輯分區(logical)。
第一個扇區的64B分區表可以分為:16B主分區 1、16B主分區2、32B拓展分區。
主分區1記錄的主分區1對應文件名/dev/hda1,主分區2記錄的主分區2對應文件名/dev/hda2,拓展分區記錄的邏輯分區1對應文件名/dev/hda5,拓展分區記錄的邏輯分區2對應文件名/dev/hda6,拓展分區記錄的邏輯分區3對應文件名/dev/hda7,拓展分區記錄的邏輯分區4對應文件名/dev/hda8.
- 邏輯分區個數有上限,IDE59;SATA11。
- 分區完成后,只能夠再整合邏輯分區內的兩個或多個分區,不能將主分區與邏輯分區整合。
- 每個分區都有自己的啟動分區。
-
開機流程(較第一篇隨筆中提及的詳細點的):
- BIOS讀完CMOS里的參數后,開始找硬盤(或是其他存儲設備),找到后,讀取第一個扇區的446B的MBR。BIOS結束工作。
- MBR內存儲着基本引導加載程序Boot loade(CentOS的引導加載程序是grub軟件)r。引導加載程序開始工作。引導加載程序在安裝操作系統時獲得。
- MBR的引導加載程序可以提供多個菜單,例如:菜單一:直接加載XX內核文件,菜單二:將引導加載工作交給XX分區的啟動扇區,菜單三:將引導加載工作交給XX分區的啟動扇區。(XX內填什么,在安裝操作系統時設置)。菜單一必不可少,如果只有菜單一,就直接加載內核。
- 多個內核文件必須放在不同的分區中。