11

I have a disk with 4096 byte sectors:

# cat /sys/class/block/sda/queue/physical_block_size
4096
#

For some reason, fdisk prefers to show the information about the disk using 512 byte sectors:

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

Just out of curiosity, why does fdisk prefer to operate with 512 byte sector sizes? I'm using fdisk version 2.33.1.

Martin
  • 7,516

1 Answers1

20

Because your disk advertises a 512-byte logical sector size:

Sector size (logical/physical): 512 bytes / 4096 bytes

You should be able to confirm this:

$ cat /sys/class/block/sda/queue/logical_block_size
512

The consequence is that sectors are addressed as 512-byte sectors, not 4096-byte sectors, so fdisk manipulates the former (and checks alignment with the latter).

Stephen Kitt
  • 434,908
  • 14
    Otherwise known as 512e because the drive emulates a 512 byte sector size for compatibility with older operating systems, even though it really uses 4k. – psusi Apr 06 '21 at 15:32