Disk /dev/hdb: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 4032 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 * 1 184 370912+ 83 Linux
/dev/hdb2 185 368 370944 83 Linux
/dev/hdb3 369 552 370944 83 Linux
/dev/hdb4 553 621 139104 82 Linux swap
Sector size: 512 bytes
64 Heads: there are 64/2=32 platters in the disk, each platter has 2 heads. Think head as a surface.
63 sectors: Each head is divided in to 63 sectors
621 cylinders: There are 621 of concentric tracks/cylinders on each head. Each track has 63 sectors as indicated above.
A cylinder is a vertical slice of a track on all heads. Cylinder size = #Heads * #sectors * 512 = 64*63*512 = 4032*512 = 2064384 bytes
Disk are allocated from low cylinders to high cylinders.
Start/End unit is cylinder.
Block size is 1024 bytes.
Blocks per cylinder is 2064384/1024 = 2016
The "+" sign in "370912+" means the number 3780912 is not accurate. The actual blocks should be a little more. To calculate the actual one, just do 370912/2016=183.98, and then rounded it up to get 184. So the first partition has 184 cylinders.
Another example:
Disk /dev/sda: 250.0 GB, 250059350016 bytes
64 heads, 32 sectors/track, 238475 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 81 82928 83 Linux
/dev/sda2 82 2082 2049024 83 Linux
/dev/sda3 2083 238475 242066432 83 Linux
Cylinder size = 64*32*512=1048576 (1MB)
Blocks per cylinder = 1MB/1024=1024
I didn't find about the block size in fdisk manual nor fdisk -l shows the block size.
ReplyDeleteHow did you determine the block size ?
Is there any way to see the block size ?