分區表消耗32K資料?

分區表消耗32K資料?

我創建了一個 100MB 大小的文件,並使用losetup將其分配給/dev/loop0.

因此,我用來fdisk建立一個空的 DOS 分割區表,以及一個跨越整個磁碟的新分割區。

對我來說不尋常且無法理解的一件事是,上述分區從第 63 扇區開始;這意味著分區表佔用62個扇區,即31Kb。

我的印像是,有關分割區條目的所有資料都記錄在主開機記錄(磁碟機的第一個磁區)中,因此只有磁碟的前 512 位元組應該是越界的。

檢查驅動器,第一個扇區之後的扇區並未完全填充空值,因此顯然我缺少一些有關分區表的細節。

fdisk 列印(顯示類型 = 磁區):

      Device Boot     Start        End     Blocks   Id  System
/dev/loop0p1   *         63     192779      96358+  83  Linux

答案1

MBR 分區格式已有三十年歷史,並且由於歷史原因而變得怪異。

當時,計算機需要知道硬碟的幾何形狀。數據在硬碟上是如何組織的?從三個維度來看:氣缸、磁頭和扇區

磁軌、柱面、扇形、磁頭

(圖表由獅子金布羅

幾何形狀儲存為當時足夠大的最大值:8位元用於磁頭數量(1-255),6位元用於磁軌上的磁區數量(1-63),10位元用於數量每個磁頭的磁軌數,即柱面數(1-1023),一個磁區包含512 位元組。如今電腦不需要知道磁碟的實際幾何形狀(這些數字甚至沒有意義),但格式仍然保留,並且使用 MBR 分割區的磁碟具有以 CHS 格式表示的大小,但重要的是三個數字的乘積等於磁區總數。

分割區開始的起始位址以CHS格式表示,且許多較舊的作業系統不支援跨越不同磁軌的分割區,即分割區必須在柱面邊界上對齊。這意味著第一個分區有 63 個扇區的倍數。

有 31 kB 的空間未用於分區內容。它可用於引導程式。

現代的GPT分區格式,這是具有 >1 TB 磁碟的較新 PC 的標準,喜歡在 1 MB 邊界上對齊分割區,因此在第一個分割區開始之前大約有 1023 kB 可用空間。同樣,這可以由引導程式使用。現代作業系統也會在 1MB 邊界上對齊 MBR 分割區,從而放棄 CHS 相容性,並確保分割區位於具有 4 kB 磁區(= 8 個 512 kB 傳統磁區)的磁碟機上的磁區邊界上。在磁區邊界上對齊分割區(例如磁碟使用的實際磁區大小,即其首選傳輸大小)有助於提高效能。

相關內容