3

I want to copy all my files from my NTFS Windows XP drive to a folder on my new NTFS Windows 7 drive, including Program Files, etc. just in case I need them.

  • I have an external drive I can use as an intermediate stage, but I don't trust it. So I want a way that includes a checksum or other error detection/correction.
  • There's plenty of room on all the drives, so I don't need to waste time compressing files.
  • I (think I) want all the NTFS metadata preserved as much as possible, as long as this doesn't prevent me from accessing files in the new environment or whatever. I want datestamps, etc. preserved, at least.

Is there a way to create a disk image that's error-resistant? Should I use an archive format and just bundle up the entire drive?

6 Answers 6

2

In windows, I like to use md5summer to generate a file of md5 checksums for files in a directory structure. Then, after the transfer, I can make sure that everything transferred correctly. Of course, if down the road a disk error occurs, this doesn't provide any data recovery/error correction, but at least I can easily detect if there was a problem with a transfer of any particular file.

1

I needed to do something similar and there is a tiny 50KB tool that exceeded my all expectations: strarc. It's similar to tar on Linux, and creates a single file that can later be extracted similarly on some other PC. Contrary to regular Windows Explorer's speed of copying giant drives of small files that take days this tool was consistently doing it at max speed of my drive and copied over 1TB in couple of hours (make sure you disable your anti virus software, which will make it run much slower). In my case I was moving all folders from C:\ to C:\ so I had to preserve all junctions and unlike robocopy this tool does it right:

To backup entire C:\ drive to a file:

strarc -cjd:C:\ D:\backup.bak

To recreate C:\ on another PC (as long as all Users/Windows/Program files folders do not exist):

strarc -xd:C:\ D:\backup.bak

Supposedly this tool is able to backup a complete running Windows system (see 3.6). As a side note, the tool is free (even though it was originally made for commercial use) and full source code is available.

0

What you want is a program called TeraCopy. It integrates into Windows and not only does it do all file operations quicker, it has a lot of extra features. One of them is checking to make sure each file was copied successfully. It will do a comparison between the source and the destination each file it copies. When the whole copy process is done it will show you all (if any) files that failed to copy along with the reason for it.

If you really want to go the "image file" route, you can just RAR or ZIP everything up. Do a md5 of the archive. Copy to the external, md5. Copy to final destination, md5. If the md5 values are the same at all points you can be reasonably sure that everything is intact.

2
  • 1
    Do you know if TeraCopy can output whatever it uses to do the comparison for later, for example months or years later, verification that the copied data is still uncorrupted?
    – pcapademic
    Jan 13, 2010 at 9:32
  • I've bundled them up in a .7z, but it doesn't preserve the creation date, setting everything to today.
    – endolith
    Jan 13, 2010 at 15:41
0

Much better solution:

So I was copying all files with 7zip archives, in the hopes that I could continue running these applications with the same data files in Windows 7, and it kept failing on CRC errors (apparently my disk is dying as well as the video card). Unfortunately, it also looks like Windows 7 64-bit is incompatible with all kinds of stuff I need to run. So I was getting frustrated and apprehensive.

However, it turns out there's an "XP mode" that will run applications inside a virtual machine to keep them compatible. Not only that, but there's a utility for converting your entire hard disk into a virtual hard disk for using inside this virtual machine! So not only can I copy all the files over to the new machine as a disk image, I can actually run my old apps inside the virtual machine if they aren't compatible with Windows 7, and not miss a beat.

  1. Run havdetectiontool to see if your processor supports it
  2. Enable virtualization in processor if not already enabled
  3. Install WindowsXPMode_en-us and then Windows6.1-KB958559-x64
  4. in the real XP machine, run Disk2vhd and copy your hard disk onto an external drive image (check the "fix HAL" option)
  5. Copy the drive image onto the Windows 7 machine.
  6. Go to Windows Virtual PC
  7. At the top, there is button for Create virtual machine, click it
  8. On the Add a virtual hard disk page, Use an existing virtual hard disk and select the drive image

Now your previous Windows XP installation is virtualized inside the Windows 7 installation, and you can attach USB devices and everything. You can also mount the virtual disk when the virtual PC is turned off, and move all the documents from it to the main hard drive, and then still see them all in the shared drives inside the virtual PC.

0

You can clone the drive with DriveImage XML.

As the name indicates, the drive image is saved XML file. you can use DIXML to explore the image and extract files separately from the image or restore it in all its beauty should the need arise.

alt text

DriveImage XML is freeware.

-1

You can use ddrescue which is the same as dd but it will try and rescue data if a read error occurs. ddrescue is a linux program you might be interested in if you know a but of linux http://www.forensicswiki.org/wiki/Ddrescue.

1
  • That will create an image of the drive, though. How would I mount such an image in Windows? Why do a disk image if all three drives are NTFS? Drive images aren't error-resistant.
    – endolith
    Jan 12, 2010 at 19:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .