Partition

比較相同磁碟上的 2 個分區

  • October 7, 2015

我有 2 個物理上相同的磁碟。每個有 1 個分區:

| Disk     | FS   | Size     | Comment                          |
|----------+------+----------+----------------------------------|
| /dev/sdb | NTFS | 468.8 GB | Partition created long           |
|          |      |          | ago with Partition magic, Win XP |
|----------+------+----------+----------------------------------|
| /dev/sdc | ext4 | 458.5 GB | Partition created last           |
|          |      |          | week with Linux fdisk v. 2.21.2  |
|----------+------+----------+----------------------------------|

以下是他們每個人的 fdisk 資訊:

數據庫

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x3765c6b7

  Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *          63   976768064   488384001    7  HPFS/NTFS/exFAT

sdc

Disk /dev/sdc: 500.1 GB, 500107862016 bytes
81 heads, 63 sectors/track, 191411 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe84f8200

  Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048   976773167   488385560   83  Linux

儘管它們是相同的,但 fdisk 給出了不同的資訊:

| Disk | heads | cylinders |
|------+-------+-----------|
| sdb  |   255 |     60801 |
| sdc  |    63 |    191411 |

問題

  1. 為什麼會存在這種差異?
  2. 為什麼 sdb1 以 #68064 結束,而 sdc 以 #73167 結束?

末尾的空間:976773167 - 976768064 = 5103 個塊

開頭的空間:63 - 2048 = -1985 個塊

總計:5103 - 1985 = 3118 個區塊

sdc1 必須還有 3118 個塊。而實際上分區更小。為什麼?

  1. 我聽說最好從塊#2048 開始分區,然後是 63。所以,sdc 文件系統必須執行得更快,然後是 sdb。這是真的嗎?
  1. 圓柱/磁頭/扇區定址已經過時了,但一些舊的磁碟工具仍然預設使用它,Linuxfdisk在仿真中支持它。它給出的 CHS 值並不涉及磁碟的任何物理現實,而是基於(我猜)目前分區表的猜測。他們可能可以安全地忽略。
  2. 預設情況下,sdc1 一直執行到磁碟的末尾fdisk;sdb1 停在某個地方,最後留下空閒空間,用於一些可能難以理解的目的(也許 Windows 使用這個?)同時,sdc1 從扇區 2048 開始,這意味著它是 1MB 對齊的;這確保了現代磁碟上的良好性能,並且還導致在引導載入程序的第一個分區之前有足夠的空間,如果需要的話,GPT 等等。sdb1 使用較舊的標準作為第一個啟動分區,它仍然適用於現代硬體,但可能會導致對齊問題和引導載入問題。

sdb1 掃描比 sdc1 大的原因,即使後者的扇區長度更長?如果你從文件系統檢查器中得到這些數字,我猜這是由於不同的 FS,並且程式碼對它們的處理方式不同。(例如,NTFS FS 程式碼報告的可能更像是原始分區大小,而 ext* 正在減去文件系統成本。)這裡沒有更多細節,很難說。 3. 分區起始扇區是否重要取決於您的設置。只要所有內容都是 512 字節對齊的,舊磁碟就可以了;較新的切換到 4k 物理扇區,因此他們希望事情與該粒度保持一致(如果不這樣做,則會造成嚴重的性能損失)。從 1M 開始允許更輕鬆地使用一些不同的(主要是 Linux/Unix)設備映射器技術,這些技術在設備的開頭增加了磁碟成本,同時仍確保 4k 對齊。很難說這對你的情況是否重要,但 1M 對齊可能是一種很好的形式。

引用自:https://unix.stackexchange.com/questions/234556