Linux IDE-drivrutin hämtar geometrin och hårddiskkapaciteten (och många andra saker) genom att använda ett ATA IDENTIFY-anrop. Tills nyligen trodde inte drivrutinen på det returnerade värdet från lba_capacity om det var mer än 10 % större än kapaciteten beräknad genom C*H*S. Nyare Quantum Bigfoot 12 GB-hårddiskar returnerar emellertid C=16383, H=16, S=63, vilket ger totalt 16514064 sektorer (7,8 GB) men rapporterar lba_capacity som 23547888 sektorer (det vill säga 11,2 GB, C=23361).
Nyare Linuxkärnor (2.0.34pre14, 2.1.90) känner till detta och beter
sig rätt. Om du har en äldre Linuxkärna och inte vill uppgradera, och
kärnan bara ser 8 GB av en mycket större hårddisk, kan du testa att
ändra rutinen lba_capacity_is_ok
i
/usr/src/linux/drivers/block/ide.c
till någonting likt
static int lba_capacity_is_ok (struct hd_driveid *id) {
id->cyls = id->lba_capacity / (id->heads * id->sectors);
return 1;
}
För en mer försiktig patch, se 2.1.90.