2013年8月14日 星期三

GPT

GUID Partition Table (GPT) 是一種新的硬碟分割表,擺脫 MBR 分割表 2.2TB 的限制,使用 GUID (Globally Unique IDentifier) 來表示分割的用途。

MBR 分割表使用 32-bit logic block addressing (LBA),所以有 512 bytes x 232 = 2.2 TB 的限制,除非改用較大的 logic block (也就是 sector 大小)。而 GPT 使用 64-bit LBA,大大地擺脫這個限制。

雖然 GPT 是 UEFI 的一部分,但可以獨立使用。64-bit 的Windows Vista/7/8 支援 GPT,並且必須是 UEFI 模式開機。而 Linux 支援 GPT,可用 Legend BIOS 開機;UEFI 開機的話,需要 64-bit Linux。
圖片來自 Wikipedia

GPT 的結構如圖,LBA 0 放 MBR,以便於跟 MBR 相容,當作 MBR 硬碟使用。接下來 LBA 1 放 GPT Header,內含指示分割表 (Partition Entry Array) 在哪裡,通常是 LBA 2。然後從 LBA 2 開始就是分割表,至少預留 16,384 bytes。每個 Partition Entry 預設為最小的 128 bytes,可有 16,384 ÷ 128 = 128 entries,用來表示 128 個分割。

如果 sector 大小是 512 bytes,16,384 bytes 需要 32 sectors,所以分割表佔 LBA 2 到 LBA 33,分割就從 LBA 34 開始。但實際上為了對齊,可能預留更大的分割表空間,例如從 LBA 40 (對齊 4KB sector)、LBA 63 (對齊 cylinder boundary)、或 LBA 2048 (對齊 1 MiB) 開始。在硬碟的最後面,會有 GPT Header 跟分割表的備份。

參考:
  1. GUID Partition Table
相關文章:

沒有留言:

張貼留言

SIP header Via

所有 SIP 訊息 都要有 Via,縮寫 v。一開始的 UAC 和後續途經的每個 proxy 都會疊加一個 Via 放傳送的位址,依序作為回應的路徑。 格式 sent-protocol sent-by [ ;branch= branch ][ ; 參數 ...] s...