簡介:
指定文件系統格式前需要分區,
分區概念,對理解操作系統啟動很有必要,分區是硬盤被系統使用的前置條件。
記錄並且歸納了一下,可能存在Windows和Linux系統一些概念的混淆,歡迎指正
1,系統啟動過程簡介
BIOS在知道了哪些硬件基本信息后開始讀硬盤,
首先讀取MBR(Master Boot Record,即主引導記錄)
然后從MBR中了解操作的位置從而加載操作系統。
而這個MBR的內容是在分區操作的時候確定的。
MBR的在硬盤的位置和格式是固定的
(即硬盤上第0磁道的第一個扇區)。
補充內容:Linux系統啟動過程詳情
硬盤首扇區:即主引導扇區

主引導扇區:
每塊硬盤(不是每個分區)都只有一個主引導扇區,
即該硬盤0號柱面,0號磁頭的第一個扇區,大小為512字節。
主引導扇區包含的
MBR(硬盤主引導記MBR占446bytes)、
DPT(分區表DP占64bytes)、
MN(硬盤有效標志Magic Numbe占2byte。
AA和55被稱為幻數(Magic Number),
BOIS讀取MBR的時候總是檢查最后是不是有這兩個幻數,
如果沒有就被認為是一個沒有被分區的硬盤),
這3個區域是操作系統無關的,在每塊硬盤上都存在;
MBR是一段可執行程序,由各個操作系統寫入不同的代碼。
MBR的存儲空間限制為446字節,
MBR所做的唯一的事情就是裝載第二引導裝載程序。
Windows產生的MBR裝載運行PBR;
GRUB產生的MBR裝載運行grldr
MBR:它是一段程序,長度為446字節,作用是加載bootloader的。
2,為什么要分區
2.1,對數據隔離,方便格式化和數據安全

主要方面: 系統需要重裝首先系統分區需要進行格式化, 所在分區數據需要提前處理 次要方面: 讀取越頻繁,磁盤越容易受損, 把讀寫頻繁的目錄掛載到一個單獨的分區 關於Linux分區,比較贊成單獨分區的列出來(按優先級排列): 1.根目錄(/),必須掛載到分區! 2.家目錄(/home):非常建議掛載的單獨分區! 3./SWAP(交換分區/虛擬內存):根據本機內存決定若本機實體內存較大, 而且系統應用環境對內存需求不高 (如本機內存有4G,而只是用於日常練習),可以不需要該分區。 若本機內存不能滿足需求,建議設置SWAP分區用戶文件所在目錄 4./var和/tmp:對於負載較重的服務器, 應該掛載到單獨分區 /var主要存放變更頻繁的數據,如日志文件等/tmp主要存放臨時文件,5./usr或者/usr/local:需要編譯大量軟件, 希望重裝系統后不再重新編譯時,建議掛載到單獨分區 6./boot:現在一般不需要掛載到單獨分區
2,2,效率,分區是基於物理硬盤的柱面,柱面之間切換消耗大

效率(機械硬盤):
主要方面:分區將數據集中在某個磁柱的區段,
當有數據要讀取自該分區時, 硬盤只會搜尋相應區段,
有助於數據讀取的速度與效能的提升!
另一方面,磁盤不同區域(內圈與外圈,)的讀取速度是不同的,
磁盤越大,差別越明顯,
通常將讀寫頻繁的目錄掛載到讀取速度更快的區域
(總體來說,是推薦外圈),
不常使用和變更的數據放在稍慢的區域將是一個比較好的選擇。
關於外圈與內圈:外圈有更強的數據吞吐能力,
即單個大文件讀寫速度更快。內圈有更短的尋道時間,
即多個小文件讀寫速度更快。
但就一般情況下我們所用的硬盤而言,
在系統啟動方面,
速度提升一倍帶來的收益比尋道速度提升一倍帶來的收益更大。
(畢竟不能像固態硬盤一樣將尋道速度提升幾百倍而引起質變)
3,分區過程:
3.1磁盤結構圖
相關概念:
盤面:一個硬盤有多張盤片疊成,不同盤片有編號,盤面可雙面讀寫
磁道:每張盤片上的存儲顆粒成環形一圈圈地排布,每一圈稱為磁道,有編號
每條磁道上都有一圈存儲顆粒, 扇區:每512*8(512字節,0.5KB)個存儲顆粒作為一個扇區, 扇區是硬盤上存儲的最小物理單位
簇:N個扇區可以組成簇,N取決於不同的文件系統或是文件系統的配置,簇是此文件系統中的最小存儲單位
柱面:所有盤面上的同一磁道構成一個圓柱,稱為柱面,柱面是系統分區的最小單位
磁頭:一般盤面上下各有一個磁頭,兩個磁頭可以同時讀寫,多個盤面對應多個對磁頭
3.2,磁盤的第一個扇區特別重要,因為磁盤的第一個扇區記錄了兩個重要的信息:
1、主引導分區(BMR):可以安裝引導加載程序的地方,有446bytes。 2、分區表:記錄整塊硬盤分區的狀態,有56bytes。
3.3,分區表的特點
分區表只有64bytes,並且規定:
用16字節來描述一個分區的信息,那么最多只能4個分區。
那么想要實現多個分區怎么辦:
就只能將一個分區定義為擴展分區,
通過擴展分區指向一個磁盤位置,
再把這塊空間分成多個邏輯分區,
從而構成多個分區。
同時又有規定:
一個盤4個分區最多只能有一個擴展分區,
不是擴展分區的都叫主分區
簡單來說擴展分區和邏輯分區特點和關系:
分區(主和擴展分區)之間是互相獨立(意思根據柱面來划分各自的區域)
擴展分區所指向的一系列邏輯分區,
邏輯分區之間是關聯的
(意思是互相連接的,后一個邏輯分區相對前一個邏輯分區串聯起來)
補充:分區的具體划分過程
以上是主分區,擴展分區,邏輯分區,這些概念都是根據硬盤特征來划分的。
4,下面介紹根據操作系統的對應關系划分:系統分區,活動分區,啟動分區
啟動分區: 存放操作系統文件的的分區,
比如你裝了2個系統: win7+linux那么你就2個啟動分區。 裝的是windows的話就看windows文件夾(system32文件)存放在那個區,哪個區就是你的啟動分區,默認裝C盤,你也可以裝F盤等。 裝的是Linux的話就看 / 分區裝在哪,哪就是啟動分區。 系統分區: 存放Ntldr程序或者Grub程序的分區, windows通常裝在C盤,linux通常裝載/boot分區 活動分區: 活動分區是主分區,活動分區是系統分區,
每次PC啟動時, 一塊硬盤只能有一個活動分區, 如果要啟動windows就將windows的系統分區設為活動分區, 計算機就會去那里裝載引導程序(Ntldr或者Grub)並執行, 如果要啟動Linux就將Linux的系統分區設為活動分區。
補充:活動分區,系統分區,啟動分區

活動分區
在分區表中,16個字節的最前面含有80標志的分區信息所定義的分區
系統分區
系統分區是指包含啟動 Windows 所需的、特定於硬件的文件
(例如 Ntldr、Boot.ini 和 Ntdetect.com)的磁盤卷。
在動態磁盤上,這稱為系統卷。
系統分區必須是被標記為活動的主分區
啟動分區
啟動分區是指包含 Windows 操作系統文件
(默認情況下位於 WINDOWS 文件夾中)
及其支持文件(默認情況下位於 WINDOWS\System32 文件夾中)的磁盤卷。
在動態磁盤上,這稱為啟動卷。
有且只能有一個系統分區,但是在多重啟動系統中,每個操作系統都有一個啟動分區。
系統分區具備引導功能,一般就是活動的主分區,啟動分區則可以是主分區或邏輯分區(主要看該分區是否存放Windows目錄)。
關於上面三種分區個人理解就是:補充
活動分區在分區表中指定,活動分區指向的一定同時是系統分區(擁有啟動系統的啟動程序),真正存放操作系統的是啟動分區。
單系統,三者一般是同一個分區,啟動分區可能是單獨分區,
多系統每個啟動分區感覺是單獨一個分區
(啟動分區可以是邏輯分區)

活動分區是基於主分區的,
磁盤分區中的任意主分區都可以設置為活動分區。
如果電腦上4個主分區都安裝了不同的系統,
那被標記為活動分區的主分區將用於初始引導,
即啟動活動分區內安裝的系統。
主分區最多可以創建4個,
我們需要使用擴展分區打破4的限制。
在磁盤上可以創建多個邏輯分區而創建的這些邏輯分區都被稱為擴展分區,
您可以用主分區和邏輯分區中儲存數據,
但是不能用擴展分區儲存,
因為擴展分區是我們對邏輯分區的總稱,只是一中稱呼。
感覺dbr是Windows的中的dos系統的引導程序,更像是系統分區引導的一種(補充知識點)。
補充:主引導扇區(MBR),分區表(DPT)及活動分區(DBR)
補充:硬盤基本知識(磁道、扇區、柱面、磁頭數、簇、MBR、DBR)
5,物理扇區和邏輯扇區(相對扇區)
物理扇區包括:柱面、磁頭、扇區,這三個都有按數字編號, 柱面號和磁頭號從0開始,扇區號從1開始,(0,0,1) 相對扇區(也叫邏輯扇區):只有一個數字編號,從0開始。 安裝的操作系統類型的不同而划分方法不同(windows和Linux還有Mac), 一般都是windows系統,又叫DOS扇區 邏輯0扇區對應的物理扇區編號是柱面號0、磁頭號1、扇區號1,(0,1,1),之后往下推。 補充: 0柱面0磁頭對應的那一圈扇區內的數據預定給bios讀取和操作系統種類無關。 0柱面1磁頭開始對應的扇區即邏輯扇區,操作系統可讀取。 硬盤的尋址,首先在同一個柱面內開始, (柱面包括一疊盤面的同軸磁道,每個盤面有兩個磁頭) 第0個磁頭讀完所在磁道所有扇區后 第1個磁頭繼續 第2個磁頭繼續 。。。 直到所有的盤面讀完 即柱面讀完。
6,