Summary:

I had a Windows XP system with several 250GB hard drives attached to a Promise Ultra100 TX2 controller (originally packaged with a drive from Western Digital). I was using the driver automatically detected by Windows XP when I first installed the controller card. Upon installing Service Pack 2 (SP2), Windows became unable to correctly access data beyond 128GB on the drives. No obvious errors were reported, but mysterious file corruption soon became apparent. Writing additional data to one of the drives in this state corrupted the file system. Installing a newer driver for the Promise controller card from the Western Digital web site was required to allow Windows to correctly address the entire disk, but the file system had already been corrupted.

I'm posting this in detail so that Google may be kind to the next person who has this problem.


Here are some e-mails that I wrote that describe the problems I encountered in more detail:

Subject: XP SP2 install causing file corruption?
Date: September 26, 2004

I've had a weird and frustrating data loss on my home computer this weekend, which appeared after I (finally) installed SP2. I figured I'd post it here in case anyone has a clue what happened.

- - - - -

The machine was running XP Pro, with all updates pre-SP2. The OS is installed on the original 80GB drive connected to the motherboard's IDE controller. It also has three 250GB drives (two from WD, one from Maxtor) connected to a Promise Ultra100TX2 pci ide controller card (which came bundled with one of the WD drives). All seemed to be fine with this setup, UNTIL I installed SP2 on Friday. I subsequently found that two of the 250GB drives seemed to have rampant file corruption. The folders and files appeared as before in Windows Explorer, but many files either couldn't be read at all, or contained data that appeared to belong to a different file on the same drive. Note that all the partitions are NTFS.

Interestingly, upon booting from a Knoppix CD and mounting the drives, all the files seemed to be intact and readable. Back in XP, however, the individual files were garbled or unreadable (although the directory structure was still there!). I uninstalled SP2, but the situation remained unchanged.

Although I didn't intentionally write anything to either of the troubled disks, after a while Windows no longer recognized one of them as formatted at all (and at that point, neither could Knoppix). So I've now got one drive seemingly void of data. On the other, Windows can still browse the directories, apparently intact, but many individual files are corrupt. All appear intact when the drive is mounted under the Knoppix boot.

I've spent the weekend trying to establish what happened and recover if possible, but I'm pretty much Google'd out at this point. I would think that having an NTFS partition that appears corrupted when read from XP, but appears intact when mounted under Linux, should be a clue to what could be occuring ... any ideas?


Subject: RE: XP SP2 install causing file corruption?
Date: September 29, 2004

I figured I'd post a follow-up on how this issue was resolved (so that future generations may benefit, or something like that):

Windows had some historic limitation on the hard drive size it could address. Apparently, XP was limited to 128GB prior to SP1. Hard drive manufacturers refer to this as the 137GB limit, given their marketing-speak use of decimal "gigabytes" (since 128*1024^3 = 137*1000^3). Anyway, when I installed SP2, it didn't play nicely with the existing driver for the Promise drive controller card, and Windows silently reverted to the old addressing mode that can't see above 128GB. Amusingly, this caused disk accesses to be modulo 128GB (!!!).

As a result, I saw all manner of peculiar behavior on the two drives that were nearly full (and hence had data stored beyond 128GB). Files and directory structures that lay within the first 128GB appeared intact, while attempts to read those stored beyond that point would end up returning data from the first half of the disk, mostly giving garbage but sometimes giving meaningful data, just from the wrong file.

The Windows tools (Disk management, Explorer ...) still reported the drives as being the expected 233GB size, so it was not at all obvious what was going on here. Also, removing SP2 didn't restore the previous functionality (I think it actually clobbered the previous driver for the mass storage controller, and didn't change it back during the uninstall). Installing a different driver for the Promise controller card finally got things working again. By that point, one of the drives had already been corrupted and could no longer be recognized as formatted (I had written to it before realizing what was happening, and this evidently clobbered some NTFS data structures). I ended up buying a license for a data recovery tool (File Scavenger from Quetek.com) which was able to recover most of the files in spite of the damage to the file system metadata.

I would have hoped that the Windows Disk Management tool, at least, would have given an indication that something was amiss when it saw a 233GB partition allocated on what it addressed as a 128GB drive. It didn't. Silent failures across the board, manifested only as mysterious file corruption. Tally up another 20 wasted hours and $40 to the Windows Total Cost of Ownership (and I still have to reinstall SP2) ...