Model: ATA ST320LT007-9ZV14 (scsi)
Disk /dev/sda: 38913,80,62
Sector size (logical/physical): 512B/4096B
BIOS cylinder,head,sector geometry: 38913,255,63.  Each cylinder is 8225kB.
Partition Table: msdos

Number  Start        End          Type      File system  Flags
 1      0,32,32      35899,54,58  extended
 5      0,65,1       9790,192,1   logical   ext4
 6      9790,224,34  35899,54,58  logical   ext4
 2      35899,54,59  38913,70,4   primary   ntfs         boot

Model: ATA ST320LT007-9ZV14 (scsi)
Disk /dev/sda: 625142448s
Sector size (logical/physical): 512B/4096B
Partition Table: msdos

Number  Start       End         Size        Type      File system  Flags
 1      2048s       576720895s  576718848s  extended
 5      4096s       157288447s  157284352s  logical   ext4
 6      157290496s  576720895s  419430400s  logical   ext4
 2      576720896s  625141759s  48420864s   primary   ntfs         boot

CxHxS = 38913 x 255 x 63 = 625137345, which is not the same as 625142448s.

The same situation appears on my usb flash drive. Can anybody explain this?


The drive is just making up the CHS information for legacy compatibility. Your drive doesn't really have 255 heads. All modern software uses linear sector numbers and ignores the CHS information. You should do the same. The drive only supplies it because it has to. Modern drives don't even have the same number of sectors on each track. It has been this way since 2003 or so when 48-bit LBA was introduced.

  • It is said that this CHS info is emulated for compatibility.Limited size is okay. But I suggest that there shouldn't be any error. – Determinant Mar 3 '12 at 4:36
  • The end of /dev/sdb2 is 38913,70,4 which implies there may be 38914 cylinders while CHS total info says 38913. – Determinant Mar 3 '12 at 4:40
  • There may not be any valid values of CHS that perfectly report the size of the disk. The number of actual sectors per track need not be constant. – David Schwartz Mar 3 '12 at 4:46
  • Does the emulation just abstract the CHS from the actual physical structure? – Determinant Mar 3 '12 at 4:49
  • Generally it divides the number of logical sectors by 255x63 and rounds down to the nearest integer. It then specifies that number of cylinders, 255 heads, and 63 sectors (the maximum number for each of these values). That's exactly what happened in your case. 625,142,448/(255x63)=38,913.3176 and 38,913x(255x63)=625,137,345. This is the best the drive can do. – David Schwartz Mar 3 '12 at 4:57

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.