磁盤分區及開機引導


一.磁盤組成

磁盤主要由盤面(也叫盤片)、磁頭臂(也叫機械手臂)、讀寫頭(也叫磁頭)與轉軸組成,盤面又可以分為磁道、柱面,扇區

磁盤的基本構成如下:

 

盤面:磁盤是由一疊磁盤面組成

磁頭(Heads):每個磁頭對應一個磁盤面,負責該磁盤面上的數據的讀寫。

磁頭臂:磁頭臂具有伸展性,負責讀寫頭在盤片上進行讀寫操作

轉軸:讓盤面轉動

在盤面上,整個盤面上面好像有多個同心圓繪制的餅形圖,如圖所示

磁道(Track):當磁盤旋轉時,磁頭若保持在一個位置上,則每個磁頭都會在磁盤表面划出一個圓形軌跡,這些圓形軌跡就叫做磁道。

扇區(Sector):磁盤上的每個磁道被等分為若干個弧段,這些弧段便是磁盤的扇區,每個扇區可以存放512bytes的信息,在向磁盤讀取和寫入數據時,要以扇區為單位

柱面(Cylinders):所有盤面上的同一個磁道構成了一個柱面,柱面是分割磁盤的最小單位

磁盤總容量=盤面數量×每個盤面上的磁道數量×每個磁道上的扇區數量×扇區大小=Heads×Track×Sectors/Track×512bytes

二.最重要的第一個扇區

磁盤的第一個扇區最重要,他記錄了整塊磁盤最重要的信息,分別是:

主引導分區(MBR):在這里安裝引導加載程序,共446bytes,當系統開機時會主動讀取這個區塊的內容,這樣系統才會知道程序放在哪里且該如何開機

分區表(partition table):記錄整塊磁盤的分區狀態,有64bytes

三.磁盤分區表

柱面是磁盤分區的最小單位,因此給柱面編號。在分區表的64bytes容量中,分為四組記錄區,每組記錄區記錄了該區段的起始和結束柱面編號。磁盤分區表的作用圖如下:

因此這四個分區又叫做主分區或擴展分區。

在linux中,這四個分區分別叫做/dev/sda1、/dev/sda2、/dev/sda3、/dev/sda4

在windons中,叫做C,D,E,F

 

如果我們想分出超過4個分區怎么辦?這個時候就要用到邏輯分區的概念,先上一張圖

這里我們只用到了兩個分區表記錄,並且有一個擴展分區,在擴展分區里面又分出了多個邏輯分區

在linux中,這些分區叫/dev/sda5,/dev/sda6…最多可以有11個邏輯分區(5到15號),不使用2,3,4的原因是因為他們需要留給主分區或者擴展分區使用

注意:

主分區與擴展分區只能有4個

擴展分區最多只能有一個

邏輯分區是擴展分區切割得到的

主分區和邏輯分區可以被格式化,擴展分區不能被格式化

四.開機流程與主引導分區

 1.BIOS:開機首先執行的程序,他會根據用戶的設置去取得能夠開機的硬盤,並且到該硬盤的第一個扇區讀取第一個扇區的MBR位置

2.MBR:執行引導加載程序(Boot loader),讀取系統內核文件

3.內核文件:開始操作系統的功能

Boot loader是由操作系統安裝在MBR上面的一套軟件,可以提供菜單(完成多重引導),載入內核文件,轉交其他loader

注意:Boot loader的轉交其他loader功能可以實現多重引導,也就是說,引導加載程序不僅可以安裝在MBR上外,還可以安裝在每個分區的引導扇區上,loader會做的事情就是把控制權交給系統內核或者其他loader

五.Grub

我們通常所說的Grub其實也是一種loader

裝載GRUB和操作系統的過程,包括以下幾個操作步驟

裝載記錄:

基本引導裝載程序所做的唯一的事情就是裝載第二引導裝載程序。(grub太大,只能寫一部分在MBR中)

裝載Grub:

這第二引導裝載程序實際上是引出更高級的功能,以允許用戶裝載一個特定的操作系統。

裝載系統:

如linux內核。GRUB把機器的控制權移交給操作系統。
不同的是,微軟操作系統都是使用一種稱為鏈式裝載的引導方法來啟動的,主引導記錄僅僅是簡單地指向操作系統所在分區的第一個扇區。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM