I have a disk with 4096 byte sectors:

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

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.


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

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).

  • 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 6 at 15:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.