Monday, August 13, 2012

p2v physical to virtual migration notes

i am in the process of migrating several windows xp and windows server 2003 systems from their physical hardware to a virtual platform.

i am running the microsoft sysinternals tool, disk2vhd, on the source system as it is runing, disk2vhd makes use of shadow copy in order to create a hard drive image of the running system and its in use files, very handy for systems which you cannot take offline for too long at all!

i am porting the resultant vhd files to mac pro hardware running mac osx and virtual box virtualization software. i have run across a non boot issue, the system will try to boot but freeze upon attempting to load acpitabl.dat! the fix i am finding so far, is to restore c:\windows\system32\hal.dll and c:\windows\system32\ntoskrnl.exe, i am using the windows server 2003 r2 install cd to get the files.

here are the steps i took:

1) boot off of the windows server installation disc
2) press R to access the recovery console
3) select the system folder on the system disk, in most cases this will be 1
4) enter the local administrator's password
5) go to the disc drive, in my case it is an e:\ drive so i would type e: then press enter
6) go to the I386 folder on the disc, in my case i would type cd e:\i386 then press enter
7) restore hal.dll by typing this and pressing enter: expand hal.dl_
8) type y and press enter to tell the system it is okay to replace hal.dll
9) restore ntoskrnl.exe by typing this and pressing enter: expand ntoskrnl.ex_
10) type y and press enter to tell the system it is okay to replace ntoskrnl.exe
11) reboot!

this seems to do the trick for me, i do want to mention that i have been having the most success using virtual box's ide hard drive mode as well.


vhd format may cause issues with corruption in cases where data is being written to a vhd file and the file itself has not been able to grow itself properly. i ran across this issue with a windows 2003 server that had been running great for several months after porting it from the physical machine it once lived on. to resolve this, i converted the vhd file to a vdi format file, i used the VBoxManage tool that comes with oracle's virtual box to perform the conversion, in my case the command was:

1) open terminal up and change directories to the location you have stored your vhd file like cd /VirtualMachines/HardDisks/vhd-clonethese/
2) assuming the file you would like to convert is myvirtualharddrive.vhd you would issue the command VBoxManage clonehd --format VDI myvirtualharddrive.vhd  myvirtualharddrive.vdi
3) after waiting awhile the file will convert and you will have a nice and safe vdi format virtual hard drive file to load up into your virtual server