Is there any way to force a certain CHS drive geometry in modern Linux?
9
votes
1
answer
1308
views
I've got some really, *really* old IDE hard drives, like a Conner CP3024 drive which is a whopping 21 megabyte in size. I've been trying to rescue it, but there seems to be some strangeness with the disk geometry.
The data sheet for the drive says you should set the CHS drive geometry to 615/4/17 in the BIOS, which is some kind of "virtual" geometry, which uses some feature Conner calls "Universal Translate Mode". But this is not the *physical* geometry of the drive, which you get when you let the BIOS auto-detect or query the drive with hdparm, which shows up as 636/2/33.
The problem comes when attempting to read the drive. For some reason the drive thinks it's in the virtual geometry mode, and will throw read errors for every sector number above 17. I finally fixed this by using a really old version of a Linux distro, where you can pass
=615,4,17
as a boot parameter and force Linux to obey a certain drive geometry.
This feature seems to have been removed as Linux moved over to libata - and I can't find any way to do the same under a modern Linux kernels. Does an alternative way to override drive geometry exist?
Asked by ymgve
(191 rep)
Jan 16, 2021, 08:11 AM
Last activity: Jul 7, 2023, 03:52 AM
Last activity: Jul 7, 2023, 03:52 AM