Here is a P2V challenge I could use some advice with.
I have a source Windows 2003 physical machine that was upgraded several years
ago from Windows 2000. So its system is at C:\WINNT instead of C:\Windows. The
target is a RHEV VM.
Booting the source machine from the virt-p2v CD and trying virt-p2v-server fails
apparently because the Windows directory is c:\WINNT.
What about the old-fashioned way - provision a new VM and use Microsoft ntbackup
to backup the system drive and system state on the physical and restore to bare
virtual metal on the newly provisioned VM? Well , that also blows up because
Windows 2003 installs into C:\Windows and doesn't give an option to put it
anywhere else. So the target VM has an existing installation in C:\Windows
while the source physical machine uses C:\WINNT. So then the system state
restore doesn't work right and the resulting VM ends up a horrible mess.
OK, so how do you build a new Windows 2003 system using C:\WINNT instead of
C:\Windows? Microsoft has a KB article with some suggestions. The 2003 setup
program will prompt for an alternate directory if it sees another installation
on the target disk. So the trick is, format the target disk with NTFS, create a
\Windows directory on the target disk, then run the 2003 setup program. It will
find the \Windows directory and then prompt for an alternate directory. Build a
fresh install into C:\WINNT and then the system state restore should work
properly.
Wonderful, how to create that \Windows directory? Microsoft documents several
suggestions including using an automated answer file on a floppy, or booting an
old DOS flopppy or Windows 98 CD and formatting and creating the directory on
the target disk by hand before doing the 2003 installation. None of these work.
DOS and Windows 98 have no clue about virtio disks. I'm not sure how to go
about making a floppy image with the answer file we need.
If this were all physical, the easiest way would take the target disk, plug it
into a Windows system, format it and create the directory, then put the disk
back in the target server, do the build into \WINNT, and then ntbackup restore.
But I don't see any option for RHEV to allow the virtual equivalent. RHEV
seems to go to lots of trouble to marry virtual disks to the VMs that create
them and doesn't allow the flexibility to move those virtual disks around.
This is a bummer.
I see a few options:
1 - Modify virt-p2v-server to also allow migrations with C:\WINNT - or even
better, to parse boot.ini on the source physical machine to find the right
Windows directory.
2 - A hack; Build a 2003 VM in the standard way in \Windows. Now build Windows
2003 again on the same virtual disk, this time into \WINNT. Boot the \WINNT
copy, edit boot.ini to remove references to \Windows if present, delete the
\Windows tree by hand. Reboot, test, and now ntbackup-restore.
3 - Preload the virtio block driver into the source physical machine. Grab a
reputable disk image copier with the ability to store disk images on a network
share someplace. Boot the source machine from CD and make an image of its C
drive. Make an ISO file out of that CD, boot the target VM from the ISO and
copy the image onto the target virtual disk.
4 - I wonder if a Fedora live CD/ISO has the ability to format and write to NTFS
partitions? BTW, for any Fedora people reading this, I'm **BEGGING** you -
get rid of the elaborate Gnome graphics background pictures! Do you have any
idea how long that fancy background picture takes to paint when looking at the
console of a Fedora VM inside RHEV Manager, inside a Windows RDP session, across
a slow Internet link???
- Greg Scott
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://listman.redhat.com/archives/libguestfs/attachments/20111228/a13720be/attachment.htm>