为什么即使块设备的物理扇区大小为 4096,fdisk 仍然喜欢 512 字节的扇区大小?

Mar*_*tin 11 fdisk

我有一个 4096 字节扇区的磁盘:

# cat /sys/class/block/sda/queue/physical_block_size
4096
#
Run Code Online (Sandbox Code Playgroud)

出于某种原因,fdisk更喜欢使用 512 字节扇区显示有关磁盘的信息:

Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Disk model: ST500DM002-1BD14
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x000d98d6

Device     Boot Start       End   Sectors   Size Id Type
/dev/sda1        2048 976773167 976771120 465.8G 83 Linux

Run Code Online (Sandbox Code Playgroud)

出于好奇,为什么fdisk更喜欢使用 512 字节的扇区大小?我正在使用fdisk版本2.33.1

Ste*_*itt 20

因为您的磁盘公布了 512 字节的逻辑扇区大小:

Sector size (logical/physical): 512 bytes / 4096 bytes
Run Code Online (Sandbox Code Playgroud)

您应该能够确认这一点:

Sector size (logical/physical): 512 bytes / 4096 bytes
Run Code Online (Sandbox Code Playgroud)

结果是扇区被寻址为 512 字节扇区,而不是 4096 字节扇区,因此fdisk操作前者(并检查与后者的对齐)。

  • 也称为 512e,因为该驱动器模拟 512 字节扇区大小以与旧操作系统兼容,即使它确实使用 4k。 (14认同)