A couple of weeks ago I picked up a couple of Western Digital 2000JB drives at Fry’s for about $80 after rebate (200GB, 7200 RPM, 8MB cache). I already encased one into an external housing for various purposes. The second I set aside for putting in my home firewall/server machine, which I’m rebuilding out of my old DEC/Compaq dual-PII/233 desktop workstation; getting rid of the old P90, switching from FreeBSD to Debian Linux, trying to clean some old cruft up in general.
After cleaning out a few colonies of dust bunnies from the case and installing the new drives, I booted from CD and installed Debian woody. Created an ext3 filesystem across the entire big drive, mounted it, and started copying 60 gigs of MP3s over…only to realize that the total space on the drive was 137GB.
Numerous web searches revealed that there is an IDE limitation where older drives used 28-bit(!?!) addressing. It appeared that I might have to buy a new motherboard, an Ultra133 IDE controller, or possibly write off the last 63 gigs of space. Due to my desire not to spend much money on this project I think number three was my preferred option, but I there was some hope in more recent Linux kernels that had support for the new 48-bit(!?!) addressing standard for REALLY BIG IDE DRIVES.
Yay, it works! Turns out that Debian woody ships with kernel 2.4.18, and the patches didn’t go in until 2.4.19. I installed an SMP 2.4.26 image from backports.org, rebooted, and it recognized the full drive capacity right off the bat.
So, in short, don’t run out and buy new hardware if you can’t fully read your new drive. It might just take a simple kernel upgrade.