Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
Chimp_On_Stilts
Aug 31, 2004
Holy Hell.
I used Windows' built-in backup features to keep regular, incremental backups of my old PC on an external HDD. Now I want to get my photos and stuff out of the backup - a typical use case.

When I attempt to load the backup via Win7's built-in 'Restore Files' tool, it claims to have encountered a CRC error (0x80070017). At the same time, I can manually dig through the backup files and can find files in perfectly good condition - even if some are corrupt, not all are and I want to recover what I can. (FWIW, I have yet to actually find a corrupt file as I dig around manually.)

I appear to have the exact same error as this guy.

System Info
Win7 Home Premium (both new and old system)
All backups made entirely with Windows' built in backup utils
Windows Event Viewer lists the error as "The device, \Device\Harddisk1\DR1, has a bad block."

Attempted Solutions
chkdsk reports no errors
Reboot, replug, all the usual "my external HDD is being weird" stuff

Possible Solution 1
Can I either fix the CRC error, or force 'Restore Files' to restore what it can, ignoring all CRC errors?

Possible Solution 2
Can I unarchive these backup .zip files outside of the 'Restore Files' utility, keeping the old folder structure?

Context: The backups are in .zip format, each archive being around 200MB. Each .zip contains the full directory path of the backed up files. For example, if I have a photo foo.jpg then the containing .zip would contain the full original path - 'D:\My Photos\Photo Category 1\Photo Subcategory 1\...\foo.jpg'. This means if I simply unzip all these archives I will have thousands of folders containing this path, one for every 200MB of files. Un-sharding these directories would be painful.

Furthermore, all files over 200MB are broken into 200MB chunks. I do not know how to un-chunk them. Do you?

Adbot
ADBOT LOVES YOU

Mo_Steel
Mar 7, 2008

Let's Clock Into The Sunset Together

Fun Shoe
e:

Factory Factory posted:

Don't do that, skip chkdsk. First run CrystalDiskInfo standard edition. Post a screenshot ITT. If it reports Caution or Bad for any drive, and I'm betting it will, you need to backup whatever you still can ASAP.

Whoops, not sure how I forgot to put that in right away. :doh: Yes, check for any hardware problems with the HDD using CrystalDiskInfo first and if it doesn't report Good you should stop using the backup drive until you can get another HDD to transfer the files to.

----

You could try using a recovery program like Recuva to recover the backup files to another drive and then try restoring files from the new backup location using Windows Backup & Restore, though I'm not sure how well Recuva works on CRC errors.

What command-line arguments did you run chkdsk with? /r is used to repair bad sectors and /x is useful because it forces the volume to dismount:

code:
chkdsk f: /x /r
Just replace "f:" with whatever your drive letter is.

Mo_Steel fucked around with this message at 20:42 on Aug 12, 2014

Factory Factory
Mar 19, 2010

This is what
Arcane Velocity was like.
Don't do that, skip chkdsk. First run CrystalDiskInfo standard edition. Post a screenshot ITT. If it reports Caution or Bad for any drive, and I'm betting it will, you need to backup whatever you still can ASAP.

Chimp_On_Stilts
Aug 31, 2004
Holy Hell.
Here is a screenshot from that tool.

Sorry for the slow reply, I took the time to make a backup of the disk first.

Meanwhile, now that I have a backup and I've established that the drive is wonky, how do I un-archive my data?

Factory Factory
Mar 19, 2010

This is what
Arcane Velocity was like.
Depends, what tool did you use to make the backup?

That drive's dead all right - and you have data loss. It has to be replaced.

Chimp_On_Stilts
Aug 31, 2004
Holy Hell.
To back up the external drive I simply dumped all the data into Google Drive.

Meanwhile, I am now trying to solve the original problem: the data on that hard disk is a backup from my old machine. I want to un-archive that data. See the OP.

Factory Factory
Mar 19, 2010

This is what
Arcane Velocity was like.
Right...

You have data loss. The backup is corrupted. There is no way to fix the CRC errors, because those are just telling you that the backup is corrupted. Any affected .zips will be totally unusable because of how archive files are structured.

You will have to go through the zips one by one. At the very least, you can make it a bit easier by using a tool like 7-zip that lets you easily extract to a particular folder. After that, you can attempt to recover bits and pieces from the corrupted archives with a tool like ZIP Repair.

Chimp_On_Stilts
Aug 31, 2004
Holy Hell.
Gotcha. I'll try scripting some fancyness with 7zip+Python to dump the directories I want, it should actually be a fun little project.

Any opinion on why chkdsk comes back with no errors but the utility you suggested does? I spend nearly all my time on Unix-like systems, so I don't know Windows' utilities very well.

Lastly - thanks Factory Factory. You've been a SH/SC superstar for years :)

Adbot
ADBOT LOVES YOU

Factory Factory
Mar 19, 2010

This is what
Arcane Velocity was like.
Chkdsk is mainly for finding filesystem errors. You can force it to find bad sectors, but it will only find sectors that haven't already been reallocated, and finding them will trigger the drive to reallocate them anyway. Crystal Disk Info just reports the drive's SMART information - i.e. self-monitoring - which includes a record of how many reallocations there have been.

chkdsk is fsck, and I had you run smartctl --all

  • Locked thread