10 years ago
Given the fact that the Advanced Disk Format disks (ECC bits are to be found at an interval of 4Kbytes instead of 512 bytes) emerge fast enough into the market I thought that this tutorial may start becoming useful as I had to search a lot around the Net in order to find the fix for this problem
The drive lies the BIOS and the operating system that it has 512 bytes per sector for backward compatibility purposes (many BIOS-es will refuse to "see" a drive with different geometry).
In order to run the drive at an optimal speed the partitions should start at multiples of 4096 bytes (otherwise it may take two spins instead of one in order to read the ECC bits for the sector that is read, which may cause performance loss).
The best way to overcome this problem is to use parted.
Parted aligns the partitions automagically only if you start it with the following option:
# parted --align opt /dev/sdX (where X varies according to your HDD)
After being started with the above switch parted will align all the partitions created in such a way that every partition on the drive will start from a cylinder that is divisible by 4096. This will make all the ECC bits of a sector available to the drive in the same spin of the drive.
Of course you may also use the fdisk utility but it will require some good maths and patience, thus I don't recommend using fdisk. cfdisk is strictly "forbidden" if you want optimal positioning of the partitions as it does not know about the new disk format.
After creating the partitions you may check the right alignment by using parted's command (inside parted run: align-check opt Y); where Y is the number of the partition you want to check if it is correctly aligned.