For what ever reason the disk access system on Vista and Windows 7 is completely fucking broken. Under certain circumstances of driver (and/or hardware) if you copy across a network, or even off a USB connected drive the performance is completely shit. This is 100% due to the upper layer code, because using lower primitives, the performance is spectacular.
So, why do I care? We have a Netgear ReadyNAS with 40Gb of photos that have been backed up over time (from XP) and Susi’s laptop died, so we got a new one (nice new Dell for $800) and found that trying to copy them back would have taken longer than the heat death of the universe.
Did all the Googling, did all the “fixes” (which mostly related to networking) but none of it resolved the underlying issue.
I thought – fuck this – time to go down the Unix path. So, looked at Rsync and found that Windows7 and Vista have a commandline tool called ‘robocopy’. It’s basically a poor mans copying tool with archiving and/or mirroring capabilities. It’s pretty cumbersome to use but not a real stretch for me, however I did come across as part of the whole investigation a GUI to use robocopy with – called RichCopy
It works great. Copied the 40Gb at 150Mb/sec rather than the 3kb/sec I was getting. This might not work for everybody, but it certainly resolved the issues I was having.