| The View from the Corner | |
|---|---|
| The View from the Corner for Feb 08, 2005 | Back to View Index |
"BIBO (BIOS In, BIOS Out)" by Troy H. Cheek on Feb 08, 2005
I get pretty technical this week. If you want funny, you might want to just skip this article and tune back in next week.
As I mentioned last week, the harddrive on my main computer system went bye-bye. Well, to be more accurate, the second harddrive (a 200GB Seagate Baracuda ST3200822A) which was purchased for extra storage a year or so back suddenly became unreadable. Windows 2000 setup didn't even see the drive to attempt to repair the previous install there. It didn't even recognize it as formatted, for that matter, which is pretty darn bad.
I don't often hype commercial software, but I'll make an exception in this case. Go to runtime.org to check out GetDataBack for NTFS. This program let me access all the data I actually needed to recover and much of the data that I simply wanted to recover. It took about an hour and a half to scan the drive. Judging by the results, something overwrote a big chunk of the directory structure and possibly other system areas. Most of the files were still intact and were accessable. According to this utility, almost all 139GB of this drive's capacity was recoverable.
So I "recovered" by using GetDataBack to copy files a few GB at a time to the little 40GB main drive, which I then reviewed and either tossed or copied to DVD+R or CD-R, depending. Once I had everything I wanted, I decided to try partitioning the drive again to see if it was still usable. Windows disk management recognized the drive and was willing to partition it up to its full 139GB capacity.
Wait a minute. 139GB? This is a 200GB drive. What the Hell(tm)?
I did some web searching and discovered that there's something called the LBA which determines how many sectors you can access on a harddrive. A 28-bit LBA lets you access enough sectors to give you about 139GB of storage capacity. I checked the BIOS setup screen and, sure enough, it saw the harddrive as an LBA drive with a capacity of 136GB (or 139GB in harddrive manufacturer GBs). Which confused me because I clearly remembered partitioning this thing as one big 200GB drive D: a year ago.
I did some more searching. On this computer, I use Windows 2000. It turns out that ealier versions of Win2K only supported a 28-bit LBA and drives up to 139GB or so. Later revisions supported more bits and larger drives. My original Win2K installation CD is patched to service pack level 1 or 2. I forget exactly which. At some point prior to buying the drive, I had updated to service pack level 3 or 4. Using the supplied DiscWizard utility, I had no problem partitioning the full 200GB capacity of the drive.
Since then, of course, I've re-installed Windows a few times. At some point, I stopped applying the new service packs immediately after I re-installed. I never got around to applying them to this latest install, it seems.
I had a 200GB drive hooked to a computer running an operating system which believed that the largest possible drive was only 139GB. A drive onto which I had been copying pretty much every file I'd ever owned during a massive reorganization effort. What I think happened was that I was downloading more files and finally reached the 140GB point. Something tried to stuff a 29-bit sector number into a 28-bit counter. You'd think that would toss back an error message or something, but all that happens is that the extra bit gets lost. That leaves a normal-looking 28-bit sector number which points back into that lower 139GB.
Points back into that part of the drive which already has data stored on it. My new files overwrote old information and didn't even cause an error until it started messing up the directory entries and vital Windows files.
I updated my Win2K to the latest service pack level, fired up the Seagate DiscWizard, and suddenly the computer saw the drive as 200GB again. I partitioned it as two drives. Drive D: is the first partition and has about 135GB. The second partition with the remainder of the drive capacity has no drive letter and is invisible to Windows for the most part. I figure that with this setup, there's no way I can accidentally write more than 139GB of data to the drive and overwrite anything vital again.
According to some websites I've read, I could use the full capacity of the drive as long as I didn't do something stupid like not applying the latest service pack the next time I re-install Windows 2000. Or I might need to run DiscWizard again just to make sure that Windows knows how to access the entire drive. The point being that while my BIOS might not see the entire drive, Windows can access it just fine once it loads. Windows can only use it as extra storage, it says in some places.
According to some other websites I've read, I can't use the full capacity of the drive regardless of what I do. According to those sites, the BIOS controls how the computer talks to harddrives and if the BIOS only sees 139GB, then you can only access 139BG, even if Windows might think otherwise. According to those sites, even if I hadn't regressed to an earlier Windows revision, I still would have borked the drive when I reached the 140GB. Or even if it works, it's not recommended because it's a kludge that might quit working at any time.
So, I have several possibilities.
1) I can flash my BIOS with a newer version that understands larger drives. I've got an old Shuttle AK11r3 motherboard which apparently doesn't support larger drives even with the latest BIOS revision. I'm not entirely sure because it's so old that even the manufacturer doesn't know anymore. But the latest BIOS version is dated long before 200GB drives came onto the market, so it's doubtful.
2) I can buy a new motherboard with a new IDE controller which will support Really Big Drives. Unfortunately, I'm not sure there are any which support Really Big Drives and use my old SDRAM and support my old Socket A CPU. I might as well buy a whole new system.
3) I can buy a new drive controller card instead of just using the one built into my motherboard. This might also let me use RAID sometime in the future.
4) I can just use 135GB of the drive for now and make a decision about the rest at some nebulous point in the future when I run out of storage space.
I think I'll go with 4 for now. If you have any suggestions, please write in.
Copyright 2005 by Troy H. Cheek. Reprint with prior written permission only. Comments and questions to
| Back to top | Back to View Main |
| Send feedback to | Back to Cheek.Org |
| This page last updated on Feb 08, 2005 by Troy H. Cheek | |
|---|---|