Following from the last item about MS Virtual Server and backing it up I thought it might be a good idea to talk about how a physical MS 2003 Server can be migrated to MS Virtual Server. Equally this guide can be used to migrate physical to physical, physical to virtual and virtual to physical. From the stats on the last article it seems that MS Virtual Server is a popular topic amongst techies.
Follow up:
Included in this article is a link to a virtual boot floppy disk for your virtual server. Feel free to open it up using WinImage or mount it on an existing Virtual Server to see what’s in it and make sure it doesn’t do something nasty like “format c: /y”
Also, it would be nice if you linked here if you are using it or this document to further expand on Physical to Virtual migration (P2V). This is a burgeoning topic and I think it’s something that most techies will hit across at least once in their life.
In this article I am using Altiris as the imaging software (you can use ghost or whatever you are familiar with) and I assume you know how to use your imaging software particularly how to edit an imaged hard disk. If you don’t know how, drop a comment here and I’ll elaborate.
The big problem with moving an image of a hard disk that was on a physical server to a virtual server is the infamous blue screen of death on boot. The OS you are copying is configured to run on certain hardware, you copy it to new hardware, in this case a Virtual Server, and it promptly crashes out as soon as it tries to load drivers, the hal etc. etc.
To get around this we are going to utilise a dumb version of the hal.dll and ntoskrnl.exe that Windows itself uses when first installing on a machine. These files are hardware agnostic and are just enough to get a boot.
In brief terms we are going to:
1. Copy these files to the image
2. Add a nifty executable from Microsoft called DevCon (a command line device manager)
3. Set up our server to boot from the prepared floppy boot disk
4. Use DevCon to remove all hardware
5. Reboot to allow hardware to be detected
6. Use ordinary device manager to rescan for hardware changes
7. Finish up
The boot floppy disk has a modified boot.ini which looks like this
[boot loader]
timeout=-1
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=" STEP 1 " /fastdetect /KERNEL=VMOSKRNL.EXE HAL=VMHAL.DLL /SAFEBOOT:MINIMAL /sos /bootlog /noguiboot
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=" STEP 2 " /fastdetect /SAFEBOOT:MINIMAL /sos /bootlog
Obviously if you partitions are different or you are using SCSI rather than IDE then amend accordingly.
It appears that one of the hotfixes makes some changes to the ntfs.sys or one of its reliant DLLs in ordinary 2003 server.
I have found that using SP1 files from an SP1 CD works ok.
Re the hall versus hal, mea culpa and fixed, thanks.
When doing step 1 in the directions, the new Virtual computer does not post all the way to get to the logon screen. It stops at a file called "acpitabl.dat" and then the computer is in rebooting loop. ANyone else encounter this on a a 2003 R2 P2V attempt? THanks for all replies.
Dan
Any idea?
thank a lot for your help
Fabrizio
For P2V Microsoft have released System Center Virtual Machine Manager (SCVMM)
It requires a bit of setup but it will P2V on the fly without needing to shutdown the server
John
sorry for my late answer, I was on tour :-)
I am using a windows Server 2003 R2 (SP1). Without any patch.
I agree on VMM, but the project I am in charge of, is try to understand if it is possible to make P2V without any tool. And also V2P ...
to explain you, we have a lot of two node cluster, and we have to patch it. The problem is that we have a maintenace window (3 hours) every 6 months. So with OS patches + other Software patches the maintenance windows is becoming too short.
we are trying to se if it is possible to capture one node in a VM (P2V), boot it like a VM on the same node, patch it and then redeploy it on the physical Hardware (V2P).
We are not sure it is possible to make a process like this without using a tool to make P2V and V2P. So we are doing some test.
Thank's a lot for your help
Fabrizio