為什麼 fdisk 在柱面和扇區之間轉換單位時有差異?

為什麼 fdisk 在柱面和扇區之間轉換單位時有差異?

我們對虛擬磁碟重新分割以增加 LVM 實體磁碟區的大小。

這就是我們最初執行此操作的方式:

$ fdisk /dev/sdb
# delete partition
fdisk> d
? 1
# create new partition
fdisk> n
? p
? 1
first cylinder? [ENTER]
last cylinder? [ENTER]
# set LVM type
fdisk> t
? 8e
fdisk> w

這導致LVM不被Linux識別。我很疑惑,看了看備份。分區表都是從 1 開始的,所以這看起來不是問題。但是,如果我將單位(fdisk 命令u)從柱面變更為磁區,我注意到備份從磁區 13 開始,但新分割區從磁區 128 開始。

當我們更正分區的開頭時,一切都很順利。

我無法理解單位轉換的差異。有人可以幫我理解嗎?

答案1

fdisk 是一個舊工具,預設使用舊式柱面模式。這將根據以下計算偽造的硬碟韌體提供的柱面/磁軌/磁頭資料。大多數工具(自從 LBA 分區的存在以來)與它沒有任何關係。

您可以使用指令切換到基於磁區的模式u

您的分割區表可能是由另一個工具產生的(可能是安裝程式的重新分割功能),該工具預設使用這種基於磁區的分割區。

Gpart、parted 等許多工具在這方面做得更好,儘管它們都沒有舊 fdisk 那樣純粹、乾淨的精度。

相關內容