I was using Windows XP as the guest operating system in a virtual machine (VM) on VMware Workstation 7.1, running on Ubuntu 10.04 (Lucid Lynx). I had developed a customized WinXP installation in that VM. Now I wanted to install that same tweaked version in physical form, as a dual-boot option on that computer. I did not want to go through all of the time-consuming steps that had been required to create that tweaked installation. I hoped, instead, that it would be possible somehow to convert the VM to a physical installation. This post describes what I tried and learned in that effort.
The fact that both the VM and the physical dual-boot installation would be on the same computer did not necessarily make things easier. VMware VMs used virtual hardware that did not match my physical hardware. In other words, simply making an image of the VM and restoring it to the physical machine would run into the same problems as if I made an image on one physical computer and restored it on another. That's not to say it couldn't be done. It would just require more than a simple image-and-restore procedure.
There seemed to be a couple of different ways to go. Through a search, I found that VMware itself offered a virtual-to-physical (V2P) conversion procedure. This would permit conversion of the .vmdk file directly to a physical installation. That procedure was quite complex, however, and that meant there could be quite a few ways in which it might not go exactly according to plan. There was also the problem that, according to the detailed description, they had not actually tested it on Windows XP. It seemed that it might be worth investing the time in this procedure if I were going to do this frequently. A quick glance suggested that many of the steps would only be hard or time-consuming the first time around. For my purposes, though, I was not sure that this would be much faster than just reinstalling Windows from scratch, and it would probably be less reliable.
What looked more promising was to try the Universal Restore feature of Acronis True Image 2011 (ATI). Universal Restore was available through the Plus Pack that had to be purchased in addition to ATI itself. The combination of ATI and Plus Pack, together, would cost around $80 unless you got it on sale. The general concept seemed to be that you would install ATI, install the Plus Pack, create a bootable ATI CD (or USB drive) that would automatically include the Universal Restore capability (provided you did install the Plus Pack first), use that to make an image of the VM, and then restore that image to the physical machine. So this is what I decided to try.
When I started poking around the Acronis website in search of guidance on the details of the Universal Restore process, I came across a link to a search of the Acronis KnowledgeBase. This turned up more than a thousand entries. A quick scan of some of the first search results suggested that some of those entries existed because people had run into problems in the Universal Restore process. It seemed I would need to brace myself for a somewhat finicky and potentially time-consuming effort. I decided to go ahead with it, though. Unlike the VMware V2P process, I knew that I had used Acronis many times in recent years, and I figured I would probably be using this procedure again, or something related to it. So it would hopefully be a productive time investment.
The Universal Restore process was emphatically a restore process. The instructions I planned to follow began with the assumption that I already had an Acronis image of the VM that I wanted to convert to a physical installation. I thought, at first, that making an image of a virtual machine would be a matter of setting up VMware Workstation so that it would boot from the Acronis CD or USB drive (or, conceivably, from an ISO). I had already worked through that setup process in another post. So now I just had to insert my Acronis CD, boot the VM, and make the backup image on a Windows-compatible (e.g., NTFS) partition. The VM booted, saw the CD, and Acronis started. In my tweaked Windows installation, I had put the paging file on a separate virtual partition, so I didn't include that in the backup.
For the destination of my backup, unfortunately, I had a problem. Within this virtual world, Acronis didn't see my "network" drives -- that is, the physical drives located within this same computer that VMware treated as though they were on a network. I bailed out of the backup process and went into Acronis's Tools & Utilities > Add New Disk. But that didn't provide a solution either. My searches didn't lead to an answer. A seemingly off-target post gave me the idea that maybe the solution was to install Acronis inside the VM and then try to do the backup there. So I did that, and it worked. I saved the system backup to a separate NTFS formatted drive, so that it would be visible to my Acronis CD.
I rebooted the system with the Acronis CD in the drive, and went into Acronis. I selected Recover > My Disks > Browse and went to the image I wanted to restore. I chose the Universal Restore option and, hoping that Acronis had already loaded itself into memory, I took out the Acronis CD and inserted my motherboard's driver installation CD. Then I told Acronis to Add Search Path for the CD drive. I told it to restore both drive C and the MBR and Track 0. I designated the new partition where I wanted this to be restored to. I named that same disk as the target for the MBR recovery. I went ahead and the recovery process got underway. After a while, I got an error message,
Device driver 'PCID\VEN_1002&DEV_4390&SUBSYS_B0021458&REV_00' for 'Microsoft Windows XP Professional' cannot be found.So, oops, apparently Acronis was looking for the drivers that it did include on its own Universal Restore CD, not for the motherboard drivers. It seemed that I should have left the Acronis CD in the drive for the time being. The dialog did not give me a "retry" option, so it looked like this restoration might be toast. I reinserted the Acronis CD, clicked Cancel, and started over. But after I re-entered the target location and other options, it froze. I punched the computer's reset button and re-restarted. So then it went ahead and did the recovery. But then it wound up at the same error message. A search for that device driver name produced only four webpages, none in English, but a search for the vendor suggested that Acronis wanted the ATI driver, which I guessed meant the video driver. So apparently it had not necessarily been a mistake to leave the motherboard's driver CD in the drive, first time around.
My hunch as to the nature of this problem was that simply pointing the installer to the CD drive was not specific enough; it was not going to search all of the subdirectories on the CD to find what it needed. I put the motherboard CD back in the drive. I decided, this time, to click the "Ignore" button on the dialog, so it would move on past this error and show me what came next. Boom! It immediately said, "Recover operation succeeded." I wasn't sure it had needed or even looked at the motherboard CD at all. I took out the CD, closed Acronis, and the system rebooted. I turned off the power before it got itself fully back up again and disconnected the hard drive that contained my original dual-boot installation of Windows XP, so that now it would have to boot from the newly restored Windows XP partition or nothing. And the answer was: nothing. I got "Error loading operating system."
I did a search and found that, for Patrink Zink, the solution was just to do a cold reboot. Another thread emphasized connecting the new drive to the same SATA port as the previous program drive. Another thread made me wonder whether it would have helped to create the target partition in Acronis rather than using GParted. Yet another thread said something about drivers. I figured that was the answer. Apparently whatever I had done with the Acronis CD was a flop. Just out of curiosity, I booted from the Windows XP installation CD and went into the Recovery Console. I got there by pressing F8 a bunch of times before the "Error loading operating system" message could come up. Normally, that would have put me into WinXP's Safe Mode, but apparently Safe Mode was not interested in helping me out. In Recovery Console, I poked around enough to verify that something resembling a Windows operating system had indeed been installed on the drive. I typed "chkdsk /r" and let that run. Then I typed "fixboot" and then "fixmbr." Then I tried rebooting from the hard drive. No joy; still "error loading operating system."
I started over again with the Acronis CD. Following the Acronis guide page, I looked for hard drive controller drivers or chipset drivers. There was a GSATA folder in the BootDrv folder of the motherboard driver CD, so I designated that as the place for Acronis to look for what it wanted. But Acronis said "No items to display" when I went to that folder, making me think that it was not finding the right drivers there. I went into the Chipset folder on the CD, but same thing there. After checking about 20 folders and finding that none of them had any items that the CD wished to display, I went back to the BootDrv\GSATA folder and designated that, and then proceeded with the recovery process. It gave me the same error (above). When it was done, I rebooted. This time, instead of giving me an "Error loading operating system" message, the cursor just sat there after the "Boot from CD/DVD" line.
I gave it five or ten minutes and then shut the machine down. I unplugged the new drive and reconnected the old one. But then -- what's this? It froze after "Boot from CD/DVD" even though the new drive wasn't connected! I shut the machine down again, and this time I also disconnected the other hard drive, where I had stored the Acronis backup. So now only the old Windows program drive was connected. That worked: I now got the GRUB2 menu, and the choice of going into Ubuntu or WinXP. I tried starting the machine again, this time with only the new Windows program drive connected, using the same SATA cable as I had just used with the old drive. But it was no use: I got "Error loading operating system" again.
It occurred to me that this was a basic bootup problem, and for that purpose I could try the approach mentioned on another thread. I had already installed WinXP on this computer, but only in a basic form; I was going to all this trouble because I didn't want to spend the time and effort to install all my Windows programs and configure them. So far, that decision wasn't paying off. But I thought perhaps I could copy the needed files from that existing basic Windows installation to my newly created Windows installation from the VM. So I put the system back the way it was originally, without the new drive, and booted into Ubuntu. I connected the new drive as an external USB drive and ran a file-comparison utility to see what was different between the files in the basic Windows XP installation and this new one. (The utility I used was Beyond Compare.) I really couldn't identify anything that I should be copying over from one to the other.
Collegedropout said that WinXP could have boot problems when the BIOS was set to recognize hard drives as "Auto." The solution, s/he said, was to change it to "Large." I tried that, and rebooted with only the new WinXP drive connected. In my system's BIOS, this setting was located under Standard CMOS Features. I had to hit Enter at each hard drive and then change Access Mode to Large. This did not affect the problem, so I changed it back.
I was tempted to set up the Ubuntu dual-boot on the new drive and see if the Ubuntu bootloader would make any difference, but I decided there was probably no way around it: I was going to have to figure out what they were talking about, when they referred to "chipset drivers." I went into Device Manager to get the properties for the SATA hard drive controller (Start > Run > devmgmt.msc), but I didn't see it. I did have the option of putting in a service request to Acronis, but at this ponit I decided I had invested enough time in this experiment. I decided to just install WinXP manually on the new drive, and to see if I could return Acronis True Image Home 2011 and/or its Plus Pack for a refund.