I've seen demos showing how to perform a backup and restore using Vista's Complete PC Backup and Complete PC Restore so I know it does work. I wanted to move one of my Vista installs to a newer, larger disk drive. The older disk utilities I have (Partition Magic 7 and Ghost v??) are not Vista compatible and complain about errors in the partition.
I figured I'd try using the Complete PC Backup and Complete PC Restore functions in Vista. I created a complete backup to an external USB drive. When I booted via the Vista DVD and chose Repair, then Complete Restore it wouldn't recognize the USB drive. I probably need to find drivers to be able to do this.
I took the easy way out and pulled the drive from the external case and put it inside the PC, and tried to restore but it gave me the following error:
Windows Complete PC Restore operation failed.
Error details: There are too few disks on this computer or one or more of the disks is too small. Add or change disks so they match the disks in the backup and try the restore again. (0x80042401)
Since the new drive was unpartitioned, I tried creating a partition (larger than the old drive), formatted it and then tried the restore again. Same error.
Okay, maybe the problem is that it's not finding a copy of Vista already on the new drive. I did a quick partial install (up to the point of the first reboot of copying files) and then tried a restore. The new install shows on the Repair screen, but it still won't restore it from the backup on to the new drive (exact same error).
I did some more research and testing. The belief online is that mixing different drive types (e.g. IDE, Ultra/ATA, SATA) will not work [Note - this is a misconception; see sidebar added 2007-March-30]. Here's some more of my test results:
Restoring the backup image of a Western Digital Caviar 20GB (IDE) to a Western Digital Protege 20 GB (IDE) drive works fine.
I started the process of moving the 20 GB drive to an 80 GB Ultra/ATA drive via Acronis True Image Home v10 (the only version that officially supports Vista). I wanted to test backing up and then restoring the 80 GB Utlra/ATA drive to a 160 GB Ulta/ATA. I ran out of time before I to leave for the office and couldn't complete this test. So I decided to try some tests in MS Virtual PC 2007 at the office. I figured VPC can only create one "type" of disk of various sizes so that would help rule out drive type issue and allow me to test a small drive to large drive restore.
Using Virtual PC 2007 (VPC), I did the following:
Restoring from a 60 GB VHD to a 120 GB VHD - it fails with the same error (0x80042401) Note - Complete PC Restore didn't even recognize the 120 GB drive since it didn't have a partition. I had to create a partition and format it first. Probably could have just partitioned it.
Next, I copied the existing boot drive (64 GB VHD) to a new 64 GB VHD via file copy outside of VPC and then tried to restore to this new VHD. It worked because in this case it was truly an identical drive.
Next, I created a blank 64 GB VHD to use for the restore and this time I just created a partition but didn't format it. Restore didn't even see the destination drive. I had to partition and format it.
So with these results, it appears that Complete PC Restore will only restore to an identical or nearly identical drive.
I uncovered another caveat regarding drive letters which also explains why I couldn't restore to a drive without any existing partitions. If the drives are lettered as such:
Volume 0 - destination drive - D:
Volume 1 - drive with backup file - C:
Volume 2 - DVD drive - E:
Complete PC Restore will not "see" the D: drive and will only offer to restore from C: to C:, which won't run. Similarly, if a drive does not contain a partition, Restore will not see it and only offer the C: to C: procedure. The only way I got it to work is if the new drive (i.e. restore destination) is labeled as C:.
I still need to figure out how to restore from a USB connected external drive.
My conclusion is that Complete PC Restore is useless if you can't restore to your original drive. Getting an identical spare *might* work, but I wouldn't bet the business on it. Also, don't try to use Complete PC Backup/Restore to move you a larger drive.
How to Create a Log file
*New*
Boot from the Vista DVD
Go to Repair Computer -> Command Prompt
Go into Regedit
Under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Windows NT\CurrentVersion\
Create the key: Asr
Under Asr create the key LogFileSetting
Under LogFileSetting create the dword EnableLogging with the value 1
Under LogFileSetting create the string LogPathName (string) with a value such as D:\Asr.log
- you should specify a physical drive (e.g. I used the drive you are going to restore from) not the ramdrive (X:) so that the log is saved after reboot.
Exit Regedit
From the Repair menu launch Complete PC Restore
Attempt the Complete PC Restore
When you get the error, check the logging path to be sure the
Asr.log file exists. I did that by going back to the Command
Prompt and getting a directly listing before rebooting.
A Possible Fix
In my test case above where the restore failed from the 60 GB virtual drive to the 120 GB virtual drive, my log contained the following:
[INFO ] Checking if SIF disk #2 is intact with Phy disk #0
[INFO ] 0x3e0 - ** Disk is intact
[FUNCT] 0x3e0 - EXIT - AsrpAssignBySignature [0x0]
[FUNCT] 0x3e0 - ENTER - GetSystemPartition
[FUNCT] 0x3e0 - EXIT - GetSystemPartition [0x0]
[FUNCT] 0x3e0 - ENTER - AsrpAssignSystemDisk
[INFO ] 0x3e0 - This is a BIOS system. Assigning system disk to
rdisk(0).
[FUNCT] 0x3e0 - ENTER - AsrpAssignDiskToRdisk0
[FUNCT] 0x3e0 - ENTER - DiskBuildDevicePartitionPath
[FUNCT] 0x3e0 - EXIT - DiskBuildDevicePartitionPath [0x0]
[FUNCT] 0x3e0 - ENTER - DiskBuildDevicePartitionPath
[FUNCT] 0x3e0 - EXIT - DiskBuildDevicePartitionPath [0x0]
[INFO ] 0x3e0 - RDisk(0) = Device number #0
[ERROR] 0x3e0 - diskassign.cpp#305 [0x55]: The physical system disk has already been assigned
In this case the restore failed because the original data disk at backup time becomes system disk during the restore. In other words, the data Disk #2 in backup became Disk #0 in restore. Disk #0 (rdisk 0)
should be assigned to system disk.
The workaround is to clean up rdisk 0 in WinRE then do restore. The steps:
Boot from the Vista DVD
Go to Repair Computer -> Command Prompt
Execute diskpart- In diskpart, execute Sel disk 0 (this assumes disk 0 is rdisk 0. Note disk number changes every time you reboot. Be careful not to clean up any disks you want to keep.)
- Execute clean
- Exit to leave diskpart
After performing the clean command on the destination disk, I was able to restore from the 60GB backup image to the 120 GB drive without error.
What the clean command does per Technet: "Removes any and all partition or volume formatting from the disk with focus. On master boot record (MBR) disks, only the MBR partitioning information and hidden sector information are overwritten. On GUID Partition Table (GPT) disks, the GPT partitioning information, including the Protective MBR, is overwritten. There is no hidden sector information."
Diskpart commands explained on Technet.
Note - Complete PC Backup utilized Volume Shadow Copy service which is more popularly known for Previous Versions which allows you to designate disk space in Windows 2003 Server and Vista for backup copies (versions) of files.
Steve, a member of the TechRepulic website (under the userid steve6375) also had this to add:
Issues with Complete PC Backup and recovery partitions
Running CompletePc Backup starts the Volume Shadow Copy service. This service can greatly reduce the free space on your hard drive volumes.
Not only this but problems come when your PC has been made with a Recovery partition (winRE) by your OEM PC builder. This hidden recovery partition will always be included in the CompletePC backup image.
The Shadow Copy service creates a LOT of new files in the Recovery volume as well. If the original size of the Recovery Volume has not been made large enough for these shadow files, CompletePC Backup will error out and fail.
e.g. say you have a 600MB hidden OEM recovery partition. If you try to do a CompletePC backup it will fail due to lack of space for the shadow copies! There is then no way to use CompletePC backup to back up your system.
The problem gets worse if you make a CompletePC backup and then change your computer name. When you next do another CompletePC backup a completely new VHD image is created and a second shadow files set. So unless the Recovery partition is big enough, the CompletePC Backup will fail even if it is 900MB.
From experiments, if you change the computer name once and have made two CompletePC backups (one b4 and one after), you need to start with a recovery partition of 1.2GB (with approx 600MB unused space).
Thiti V. Sintopchai, a member of the Microsoft Technet Forums encountered the following error:
There are too few disks on this computer or one or more of the disks is too small...
Here's how he got around the issue:
1. Choose Command Prompt in the Windows Recovery Environment menu
2. Run diskpart, the disk utility. The goal is to create disk partitions/volumes structure that resemble the backup image. While I was inside DiskPart environment, I used the following commands:
a) list disk to see the list of hard drives recognized by Windows
b) The drive I wanted to recover was identified as Drive 0 (zero) so I used the command select disk=0 to make the drive active.
c) Then I used the command create partition primary size=40960 to create a 40GB partition on that drive.
d) I used list partition to see the list of partitions on that drive
e) The partition I just created was identified as Partition 0 (zero) so I used the command select partition=0 to make the partition active.
f) I used the command format fs=ntfs label="System Drive" quick to format the partition, then I used list volume to see the list of volumes recognized by the system.
g) The volume I just created was identified as Volume 1 so I used the command select volume=1 to make the volume active. Then I used the command assign letter=C to assign the C drive letter, which corresponds to the one in the backup image.
f) I then use exit to quit DiskPart and another exit to quit the Command Prompt.
3. Complete PC Restore now worked.
Send us your comments and feedback: