Lots of Physical->VirtualBox migrations

Discussions about using Windows guests in VirtualBox.
Post Reply
wayne47
Posts: 1
Joined: 9. Feb 2009, 04:03

Lots of Physical->VirtualBox migrations

Post by wayne47 »

We have a LOT of physical machines that are kept for the sole reason that they need to run a few apps that can not be reinstalled. Everything from Win95 on up. No commonality, some use RAID, some are notebooks, some IDE. some SCSI, etc. What I'm really, really hoping for is some method to boot a working, random, windows box and image it's drive over to Virtualbox, while making no changes on the original box. I doubt that I'll be able to get any form of Unix/Linux to be able to read some of these so a dd solution is not viable, even if Windows would boot it (which, apparently, it will not since the VM is totally different hardware).

I can not find ANY information on how to do this. I'm presuming that there exists a pair of client/server programs where one fires up the server on the host machine and the client on the ancient box, plug in IP addresses and let things gronk overnight, resulting in a properly converted bootable VM on the host. But, if so, Google isn't finding it.

Pointers?
TerryE
Volunteer
Posts: 3572
Joined: 28. May 2008, 08:40
Primary OS: Ubuntu other
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Ubuntu 10.04 & 11.10, both Svr&Wstn, Debian, CentOS
Contact:

Post by TerryE »

Wayne, Welcome to our forum. You might want to scan the Forum Posting Guide. This contains some useful tips on how to search for VBox knowledge, etc..
What I'm really, really hoping for is some method to boot a working, random, windows box and image it's drive over to Virtualbox, while making no changes on the original box.
If you don't want to change your HDD then you need to boot an OS which will not require write access to the HDD. There are some proprietary tools that will do this for the windows market or most Linux LiveCDs will do likewise. The modern Linux LiveCD will happily boot from CDROM and understand both FAT and NFTS formats. The can image the HDD and copy a compressed version over the network or (in the case of a PC newer than perhaps 5 -8 years, to a USB HDD). These images can then be converted into VDI format. This takes care of the physical issue of cloning the media. Getting the OS to run is a completely different issue. This process is known as physical-to-virtual or P2V, and the main difficulty here is that Windows is specifically designed to be installed on a single fixed hardware configuration, and if you move it to another configuration such as a virtual one then you need to start patching the driver chains which on W9x OSs involves loading new driver sets and changing the ini files. On NT class OSs you need to get into loading (OS specific) drivers and patching registries. All a bit of black magic. An addition issue on XP and later OSs is the MS activation software that can detect hardware changes and disable the OS on most non-enterprise versions.

Hence this whole issue is an art more than a science. There is no single simple approach. Unfortunately enabling business continuity for legacy applications does not appear to be a priority for Microsoft. Take one example that I know where a major manufacturer had a $2M precision PNC machine that was controlled by a Win3.11 PC running the PNC software. The supplier did not have a new version of the PNC control application that ran on current H/W. A bit of a problem, eh?
Read the Forum Posting Guide
Google your Q site:VirtualBox.org or search for the answer before posting.
zinetwin
Posts: 5
Joined: 10. Feb 2009, 19:03

Zenith infotech

Post by zinetwin »

Zenith Infotech has an approach that uses storagecraft to take full and incremental backups and then migrates them to virtualbox using a custom harddrive in virtualbox that's an .xml script. I have tried to reverse engineer it and haven't gotten far. It seems like a proprietary process but it does work very well, provided the backup images are solid. From what I have seen it takes the .spi images and uses that .xml script to direct virtualbox to those backup chains and somehow gets it to work.
http://www.storagecraft.com/products/Sh ... ectServer/
http://www.zenithinfotech.com/
Here's an example of one of those .xml scripts that acts as the hdd.

Code: Select all

<SBHardDisk xmlns="http://www.innotek.de/VirtualBox-SBHardDisk" version="1.4" Signature="58a42e28" InitializePartitionTableFromXml="true" InitializeWithStandardMBR="true" SectorSize="512" SectorsPerTrack="63" Heads="255">
  <Volume  PasswordType="None" VolumeOffset="32256" VolumeLength="52526605824" MakeActive="true">
    <SparseFile filePath="C:\Sparse\guestmachine\Real\guestmachine_C_{d2002f5b-2935-4d4c-bd1c-ad82185dadd1}.SPWB" useExistingFile="true" deleteOnClose="false" makeSPIOnClose="false"/>
    <SPFImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001.SPF"/>
    <SPIImages>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I493-CD-CW.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I525-CD.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I620-CD.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I715-CD.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I810-CD.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I905-CD.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I906.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I907.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I908.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I909.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I910.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I911.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I912.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I913.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I914.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I915.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I916.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I917.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I918.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I919.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I920.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I921.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I922.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I923.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I924.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I925.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I926.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I927.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I928.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I929.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I930.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I931.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I932.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I933.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I934.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I935.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I936.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I937.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I938.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I939.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I940.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I941.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I942.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I943.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I944.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I945.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I946.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I947.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I948.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I949.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I950.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I951.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I952.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I953.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I954.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I955.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\C_VOL-B001-I955_Migration_{97e0ce74-7c24-4412-8321-b539a9665d5b}.spi"/>
    </SPIImages>
  </Volume>
  <Volume  PasswordType="None" VolumeOffset="52526638080" VolumeLength="239791587840" MakeActive="false">
    <SparseFile filePath="C:\Sparse\guestmachine\Real\guestmachine_D_{22c490f4-f7a9-4dbb-abf4-0e60d0a9ee27}.SPWB" useExistingFile="true" deleteOnClose="false" makeSPIOnClose="false"/>
    <SPFImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001.SPF"/>
    <SPIImages>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I493-CD-CW.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I525-CD.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I620-CD.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I715-CD.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I810-CD.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I905-CD.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I906.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I907.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I908.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I909.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I910.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I911.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I912.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I913.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I914.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I915.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I916.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I917.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I918.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I919.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I920.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I921.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I922.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I923.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I924.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I925.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I926.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I927.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I928.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I929.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I930.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I931.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I932.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I933.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I934.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I935.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I936.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I937.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I938.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I939.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I940.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I941.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I942.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I943.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I944.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I945.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I946.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I947.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I948.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I949.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I950.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I951.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I952.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I953.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I954.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I955.SPI"/>
      <SPIImage filePath="D:\BACKUP\46E232C5A2AC43E6-guestmachine\D_VOL-B001-I955_Migration_{97e0ce74-7c24-4412-8321-b539a9665d5b}.spi"/>
    </SPIImages>
  </Volume>
</SBHardDisk>
Like I said, I can't figure it out.
alini76
Posts: 1
Joined: 25. May 2011, 10:41
Primary OS: MS Windows XP
VBox Version: OSE self-compiled
Guest OSses: Fedora, Oracle Linux

Re: Lots of Physical->VirtualBox migrations

Post by alini76 »

Hi !

Please ! What documentation are you referring to?
I want to implement something to be able to start a SPFImage on VirtualBox from code.
Where is this XML?

Thank you,
Alin
Post Reply