@WDIO,
Based on the level of detail available (which is enough to understand the overview, though not the
fine details), then IMHO your thoughts are basically correct about what happened:
WDIO wrote:
Then I had the erroneous thought that "these are sata drives and are hot swappable" WRONG!
The devil is in the detail... At a
hardware level, when connected to a hot-swap compatible controller (e.g. AHCI / RAID or equivalent, with an appropriate driver), then yes, SATA drives
are hot-swappable. The mistake was omitting the OS considerations which are also necessary. In your case, there was still a mounted filesystem on the 640GB disk when you removed it, and there would have been metadata from the filesystem cached in RAM.
WDIO wrote:
So I unplugged the 640 and connected the 500gb
At some point after this, it is likely that cached filesystem metadata from the 640GB drive (held by Windows in RAM), was then de-staged onto the 500GB drive, probably when you shutdown & restarted Windows.
WDIO wrote:
When it restarted chkdsk launched and it began " deleting index" (I think that was the message), now all of the data on the 500gb drive is gone except for a common folder between the two drives called "upped to server"
The original data on the 500GB disk actively erased, but chkdsk did exactly what it is designed to do, which is to fix a broken / inconsistent / corrupted filesystem to make it usable (i.e. internally consistent) - and if that means that some of the files become inaccessible, then that is just the price you have to pay, to have a filesystem which is usable..
WDIO wrote:
Can someone tell me what happened?
See above for my guess, based on what you've described. There might be more clues if you paid for a forensic investigation of the filesystem, but I don't see that being a useful way to spend your money at this point.
WDIO wrote:
Its like it compared the master file table of the 640 to the 500 and deleted everything that didn't match.
You're not far from what I've described above - I believe you've ended up with part of the 640GB disk's MFT written to the 500GB disk, but without the matching files on the 500GB disk, of course. Then, because the filesystem wasn't left in a consistent state, chkdsk (actually autochk) ran during the Windows boot, to try to make the fileystem
usable, but you've lost access to the files which were originally on the disk. The damage had already been done before chkdsk ran, by Windows overwriting filesystem information on the 500GB disk when it was swapped-in and then doing a shutdown, as Windows didn't know that the 640GB disk had been swapped-out.
On a Linux/Unix-based OS, normal sys admin procedures would be to unmount the filesystem(s) on the first disk, then swap the disks, then mount the new filesystem(s) on the second disk, which prevents this type of problem. Unfortunately Windows hides these details about what goes on under the covers with filesystems, so although I've seen at least one "unmount" utility written for Windows, typical users aren't warned that you'd need to use it, in your situation with a Windows "Local" disk (i.e. no Eject option in the explorer context menu).
Assuming you want to try to recover the original files fropm the 500GB disk, IMHO the short version is: Don't do anything to that 500GB disk and consider whether you want to use the services of a DR company, or want to try to perform a DIY recovery with its associated risks (for which you'll need to use a "raw" recovery approach, since the MFT is likely useless for finding any of the files which were originally on that disk).