Ways to Copy the Contents of One
Hard Disk to Another
Last updated: 12/11/02
3. Use a Backup
Program. There was a time when we followed Microsoft's recommendations
for moving a Windows-based hard disk to a new hard disk drive. We
would use Microsoft Backup, which comes with Windows, and backup the
drive over the network to one of our file servers or to a scratch drive,
installed an abbreviated version of Windows on the new drive, and do
a restore. This often resulted in Windows registry problems when
Windows merged the old registry with the new one. As disk drives,
programs, and data got larger it also became very time consuming and
error prone. Other backup programs worked better, but the size
of the backups were a real problem. Tape drives were even slower
and the tapes were often unreliable. Backups are still valuable
in cases where the original drive fails, but for moving data from one
good drive to another the image copy method is the best choice.
Copy All of the Directories and Files. In
the old days of MS-DOS operating system, Windows 3.x, and Windows for
Work Groups 3.x, one used the the DOS xcopy command and it worked
quite well. The command is:
a:\> xcopy c:\*.* d:\*.* s/h/e/v
The flags copy subdirectories and their contents, hidden and system files,
empty directories, and verifies the data. In this example, the command
is issued from a boot floppy. There are other variations of the command. The
C: drive is the existing drive and the D: drive is a newly formatted drive
that has had the DOS system files transferred to it so that it is bootable. Prior
to formatting the D: drive, if it is new, it has to be partitioned with
the DOS fdisk command to create a Primary DOS partition and any desired extended
DOS Partitions (and logical drives D:, E:, etc. assigned). The Primary
DOS partition has to be made active. More on this later... To format
the Primary partition and move the system files in one operation, use:
A:\>format C: /s
Or format it without the /s flag and use,
to move the system files to it.
All versions of Windows 95 and 98 eliminated the capability of using xcopy
to reliably copying the Windows directory (folder) and system files from one
hard disk drive to another. The DOS version of the xcopy command could
no longer copy system files. When run from a DOS Window in Windows (running
in the Normal Mode), the xcopy (xcopy32) command could copy system files, but
since some files are in use while Windows is running and cannot be copied,
this procedure does not work.
Nick Rage sent me the following via E-Mail on11/20/02. His procedure
uses xcopy32 in a DOS window in Windows 9x running in the Safe Mode. I
tried it with a clean install
of the Windows 98 Upgrade and it worked! I did not have to SYS the
drive and did not use the /s flag when formatting it. Where he says, "7.
Get a dos prompt box..." he means open a DOS Window in Windows running
in the Safe Mode.
Here's one method that I have used with great success over the years
to copy one hard disk to another.
1. Make windows startup disk using the feature found in Control Panel
- Add\Remove - Startup Disk, and set it aside, you'll need it.
2. Clean up temp files and other extraneous stuff ie.. Temporary internet
files, history, cookies, windows\temp folder, etc..
3. Turn off virtual memory and disable screensaver and power management
Steps 2 & 3 aren't strictly required.. but works for me.
4. Shut down system and connect new(?) drive. Connect as master on
secondary ide if possible. You may have to disconnect CDROM.
5. Insert Startup Disk in floppy drive. Start up PC. Make any necessary
changes to CMOS setup (autodetect drives usually works best). Make
sure floppy drive is 1st in boot sequence. Exit setup. Continue boot
from floppy. Partition new drive. Reboot. Format new drive.
6. Remove startup disk and reboot system into safe mode.
7. Get a dos prompt box. (I know, I KNOW!!..Windows will bark and mutter
about corrupt video or some such, go ahead it's OK.) Maybe this is
a good place for disclaimers!!
8. Get to c: prompt.
9. Now to the good stuff..the command that has worked for me hundreds
(yes, I've done it quite a bit!) of time IS...
xcopy32 c:\*.* d:\*.* /s /e /r /v /k /f /c /h
We even made it easy to remember.. SERVe Kentucky Fried Chicken Hot!
Also this assumes 2 drives with 1 partition each. Adjust recipe to
suit. But you get the idea. I'm sending this info as a note to the
attached article (very well presented i might add). I'm just sharing
something from my experiences that might help someone over a hump.
Nick, Thank you very much for taking the time to write-it-up. Larry
I still think copying an image is a better procedure as files in some applications
may cause problems, etc.; however, this procedure may get the job done in a
I thought I saw an error when it was copying. To make a log, the screen
output can probably be redirected to a file by using something like:
xcopy32 c:\*.* d:\*.* /s /e /r /v /k /f /c /h > c:\log.txt
I haven't tried that yet.
Windows Me changed the xcopy command so that it can copy hidden and system
files from a DOS prompt using a Windows
Me Startup floppy. Microsoft
Knowledge Base Article Q289483, Switches That You Can Use with Xcopy and Xcopy32
In Windows Millennium Edition
(Me) only, an /h switch is added to the xcopy and the xcopy32 commands.
This switch copies hidden and system files in MS-DOS mode. However, the
Xcopy files are not automatically included on the Windows Me boot disk.
One does not use the SYS command for Windows Me like previous
versions of DOS and Windows. It is not available from the DOS prompt. However,
xcopy will copy the system files and thereby make the hard disk bootable. I
found that various combinations of flags listed in the Knowledge Base article
would not work together as they should. The following command does
work as far as copying the system files:
a:\> xcopy c:\*.* d:\*.* s/e/h
The v flag is not available in the Win Me version of xcopy.
As stated in the Knowledge Base article, xcopy is not part
of a Standard Win Me Startup floppy. It can be copied to a Windows
Me Startup floppy from a hard disk that has Windows Me installed with the
Windows Explorer or:
This copies three files: xcopy.exe, xcopy32.exe, and xcopy.mod
(xcopy.exe calls xcopy32.exe).
I attempted to copy the file in the primary partition on
my hard disk to a newly formatted hard disk using this procedure. It
took a whole afternoon and didn't work. The primary partition was about
four GBytes and had about 9,345 files after I aborted a couple of xcopy attempts
and cleaned-up the disk some discovered by watching the process how much
junk in the form of unnecessary files Microsoft now puts on a hard disk when
If anyone can get Nick Page's procedure to work with Windows
Me, I'd appreciate the details.
Seagate has a utility called FileCopy in its DiscWizard
Program Suite that, "manages the
transfer of data from the old drive, which becomes the slave, to the
new drive, which becomes the master. Even hidden files are transferred.
FileCopy also solves the logistical issue of reversing the positions
when you replace a functioning, existing drive with a new drive." I
have not tried it. If you run across another program that really
works, I'd appreciate hearing about it.
This article assumes that the partitions and drives are
not compressed. If Windows 9x/Me C: drive has only a few files on it,
the drive is probably compressed and most of the files are in a compressed
volume, which is often the H: drive. Visit our forums if
you would like to learn how to work with compressed drives.
< Back to the First Page
Please see our Contact page
if you have any comments or corrections that would make this article better. Please use our Forums if you need help with a computer or network problem.