LBA 和扇區大小

LBA 和扇區大小

即使磁碟機格式化為 4K 磁區,LBA 是否始終將磁區指定為 512 位元組?因為我讀到您應該格式化分割區邊界,以便 4K 簇與 4K 磁區對齊。我假設如果磁碟格式化為 4K 磁區,但 LBA 每 512 位元組分配一次,就會出現此問題。是這個原因嗎?另外,邏輯驅動器幾何結構與物理驅動器幾何結構不同的原因是為了保持與舊標準的向後相容性和 CHS 的限制嗎?如果驅動器報告的幾何結構不準確,為什麼分割區仍然需要從磁區 63 開始(如果它不再總是正確的柱面)?

簇是否與分割區的開頭或磁碟的開頭對齊?

答案1

  • 即使磁碟機格式化為 4K 磁區,LBA 是否始終將磁區指定為 512 位元組?

是的,世界上很多程式碼都是在 512 位元組扇區獨佔統治的時代寫的。此程式碼無法處理任何其他磁區大小,因此 BIOS/磁碟硬體始終模擬 512 位元組磁區,而不管實際磁區大小如何。否則,95% 的作業系統根本無法從此類磁碟啟動。

  • 另外,邏輯驅動器幾何結構與物理驅動器幾何結構不同的原因是為了保持與舊標準的向後相容性和 CHS 的限制嗎?

CHS 尋址系統存在邊界。 1 ≤ S ≤ 63、0 ≤ H ≤ 255(有時 0 ≤ C ≤ 1023)。這就是邏輯幾何存在並不同於物理幾何的原因。

  • 如果驅動器報告的幾何結構不準確,為什麼分割區仍然需要從磁區 63 開始(如果它不再總是正確的柱面)?

從 Windows Vista 開始,FDISK在 LBA 磁區 2048(1M 對齊)上建立第一個分割區。它可能有任何 CHS 座標;他們不再重要了。

在Windows XP 和先前的版本中,第一個分割區是在CHS 磁區(C=0、H=1、S=1)上建立的,該磁區通常會對應到LBA 磁區63(如果該磁碟的邏輯幾何結構每磁軌有63 個磁區)。某些 USB 隨身碟的邏輯幾何結構為每個磁軌 32 個虛擬磁區,因此第一個分割區從 LBA 磁區 32 開始。無論如何,所有這一切都與實際的磁碟幾何結構、效能原因等無關——這是一個純粹的傳統,在 Vista/Windows 7 中終止。

  • 簇是否與分割區的開頭或磁碟的開頭對齊?

簇始終與分割區的開頭對齊。因此,如果分割區是在 Vista 之前建立的FDISK且本身未對齊,則它們可能在磁碟上未對齊。

答案2

LBA 本身可以適用於任何扇區大小,但自 PC 啟動以來,硬碟磁碟區大小一直是 512 字節,並且所有硬體和軟體都按照該假設進行了硬編碼。因此,該驅動器將在外部顯示為 512 位元組扇區驅動器,而不是等待新系統和作業系統支援 4K 扇區。

自 2003 年推出 LBA48 以來,CHS 就已經消亡。在這種情況下,所有硬體和作業系統都已更新(Windows 98 新增了對 LBA 的支援)。

即使使用 CHS,實體磁碟機特性也與 CHS 值不符。說實話,從來沒有硬碟有 255 個磁頭。驅動器的控制器會在內部將 CHS 值轉換為 LBA。

分區不必從 63 扇區開始——這是一個舊的 DOS 限制。 DOS要求分割區不能分割柱面邊界,而CHS有63個柱面磁區。 Microsoft 一直到 Windows XP 都決定保持與 DOS 的相容性(可以在 FAT32 分割區上雙重啟動 Windows 98、ME 和 XP)。直到4K扇區出現,這才沒有問題。

最後,回答您的問題:簇與分割區的開頭對齊,而不是與磁碟對齊。這就是為什麼分區在扇區邊界上正確對齊很重要的原因。

相關內容