WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-users

RE: [Xen-users] Importing Windows XP installation

To: "Dustin\.Henning" <Dustin.Henning@xxxxxxxxxxx>
Subject: RE: [Xen-users] Importing Windows XP installation
From: "flinco\@libero\.it" <flinco@xxxxxxxxx>
Date: Wed, 25 Jun 2008 10:48:42 +0200
Cc: xen-users <xen-users@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Wed, 25 Jun 2008 01:49:47 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
Few days ago I followed a two step procedure:
- first (on Windows) I created a VMWare image of WinXp partition using "VMWare 
converter"
- then (on Linux) I converted the VMWare image into a qemu image with the 
following commands:
vmware-vdiskmanager -r win_xp.vmdk -t 0 win-xp-flattened.vmdk
qemu-img convert win_xp-flattened.vmdk win_xp.img

Then I transferred the image on /dev/sda4:
dd if=win_xp.img of=/dev/sda4

It works and I can boot properly.
But now I must face other problems:
- I know I must reactivate WinXP; to reactivate I need it recognize a NIC but 
it doesn't.
In win_xp.vhm I set:
vif = [ 'type=ioemu, mac=00:XX:XX:XX:XX:XX, bridge=xenbr0, model=rtl8139' ]
This because (in Safe Mode I discovered that a RTL8139 NIC driver is already 
installed even if the actual installed NIC is a RTL8111/8168B.
I discovered some warnings in xend.log. I don't know if they are related with 
NIC problem but googling around I found no posted solution. My xend.log is the 
following:

[2008-06-25 09:25:09 4472] INFO (SrvDaemon:338) Xend Daemon started
[2008-06-25 09:25:09 4472] INFO (SrvDaemon:342) Xend changeset: unavailable.
[2008-06-25 09:25:09 4472] INFO (SrvDaemon:349) Xend version: Unknown.
[2008-06-25 09:25:09 4472] DEBUG (XendDomainInfo:132) 
XendDomainInfo.recreate({'max_vcpu_id': 3, 'cpu_time': 237303954195L, 
'ssidref': 0, 'hvm': 0, 'shutdown_reason': 0, 'dying': 0, 'online_vcpus': 4, 
'domid': 0, 'paused': 0, 'crashed': 0, 'running': 1, 'maxmem_kb': 4294967292L, 
'shutdown': 0, 'mem_kb': 1940044L, 'handle': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0], 'blocked': 0, 'name': 'Domain-0'})
[2008-06-25 09:25:09 4472] INFO (XendDomainInfo:149) Recreating domain 0, UUID 
00000000-0000-0000-0000-000000000000. at /local/domain/0
[2008-06-25 09:25:09 4472] DEBUG (XendDomain:443) Adding Domain: 0
[2008-06-25 09:25:09 4472] DEBUG (XendDomain:379) number of vcpus to use is 0
[2008-06-25 09:25:09 4472] INFO (SrvServer:180) unix 
path=/var/lib/xend/xend-socket
[2008-06-25 09:25:09 4472] DEBUG (XendDomainInfo:1040) 
XendDomainInfo.handleShutdownWatch
[2008-06-25 09:25:09 4472] WARNING (XendAPI:672) API call: VBD.set_device not 
found
[2008-06-25 09:25:09 4472] WARNING (XendAPI:672) API call: VBD.set_type not 
found
[2008-06-25 09:25:09 4472] WARNING (XendAPI:672) API call: VM.get_auto_power_on 
not found
[2008-06-25 09:25:09 4472] WARNING (XendAPI:672) API call: VM.set_auto_power_on 
not found
[2008-06-25 09:25:09 4472] WARNING (XendAPI:672) API call: debug.get_all not 
found
[2008-06-25 09:25:09 4472] WARNING (XendAPI:672) API call: 
console.get_other_config not found
[2008-06-25 09:25:09 4472] WARNING (XendAPI:672) API call: 
console.set_other_config not found
[2008-06-25 09:25:09 4472] WARNING (XendAPI:672) API call: VIF.get_network not 
found
[2008-06-25 09:25:09 4472] WARNING (XendAPI:672) API call: VIF.set_device not 
found
[2008-06-25 09:25:09 4472] WARNING (XendAPI:672) API call: VIF.set_MAC not found
[2008-06-25 09:25:09 4472] WARNING (XendAPI:672) API call: VIF.set_MTU not found
[2008-06-25 09:25:09 4472] WARNING (XendAPI:672) API call: 
session.get_all_records not found
[2008-06-25 09:25:09 4472] WARNING (XendAPI:672) API call: event.get_record not 
found
[2008-06-25 09:25:09 4472] WARNING (XendAPI:672) API call: event.get_all not 
found
[2008-06-25 09:25:09 4472] INFO (XMLRPCServer:149) Opening Unix domain socket 
XML-RPC server on /var/run/xend/xen-api.sock; authentication has been disabled 
for this server.
[2008-06-25 09:25:09 4472] INFO (XMLRPCServer:149) Opening Unix domain socket 
XML-RPC server on /var/run/xend/xmlrpc.sock.

I don't understand why xend executable doesn't find VBD.xxx, VIF.xxx and some 
other functions. I would also remark that this log is printed after 
"/etc/init.d/xend start" but BEFORE starting any guest domain.
I would like, if possible, to achieve a set up which avoids these warnings.

For the record I'm using all original Fedora 8 stuff (xen-3.1.2 with kernel 
2.6.21.7) with no change to any config script.

Other problem:
I get last stable WindowsXenPV driver from http://www.meadowcourt.org
I booted HVM win_xp and I installed them in Safe Mode. Then XP recognized some 
new hw but it also shows two SCSI "Xen Block Device Driver" with yellow 
exclamation marks. I thing there's some misconfiguration in the storage 
emulation section of win_xp.hvm:

disk = [ 'phy:/dev/sda4, ioemu:hda,w','phy:/dev/sr0,ioemu:hdc:cdrom,r' ]

Thanks to all the people who gave me some help and to all of them which  will 
help me in the future!

Lorenzo

>         I think there is also a fixmbr command from the recovery console.
> That might be necessary in your virtual machine as well.  However, I think
> your problem may be that there is no partitioning on the virtual disk you
> are trying to boot Windows from.  In that case, "CHKDSK C:" will probably
> fail (does not check RAW drives or something), and fixmbr won't do you any
> good (beyond possibly getting you a new error about cannot find ntldr).
>         In PV, whatever you attach (/dev/VG_Guests/win_xp_sp3 in this case)
> is passed on to Windows as a drive, so your dd command would in real life be
> the equivalent of doing this: (dd if=/dev/sda1 of=/dev/sdb) and then moving
> the drive identified as sdb to another computer to boot it.  I don't think
> fixmbr and fixboot will make such a drive bootable since it isn't
partitioned.
>         What you should probably do is create /dev/sda4 and the fdisk
> /dev/sda4 to create a partition table on it where there is a new partition
> identical in size to sda1 (if you need to use LVM for this particular setup,
> and I don't believe you do, you would fdisk /dev/VG_Guests/win_xp_sp3, and I
> don't know if that is directly possible or not).
>         Once that is done (and this is an assumption based on several
> messages I have seen from the past week), I guess you can use kpartx or
> something to make the partitions on the /dev/sda4 partition show up in
> /dev/mapper, then you can use your dd command to copy your windows partition
> onto the partition you created on your new Windows virtual drive (dd
> if=/dev/sda1 of=/dev/mapper/????).  You would then use kpartx again to
> remove the partition(s) on /dev/sda4 from /dev/mapper.  Assuming you pulled
> this paragraph off, you would then have Windows in an NTFS partition on your
> virtual drive, but it still wouldn't be bootable.
>         At this point, fixmbr and fixboot in the virtual machine might work,
> but I would skip that and try this (assuming you are NOT using LVM):
> dd if=/dev/sda of=/dev/sda4 bs=446 count=1
> That will copy the boot sector of your real machine to the boot sector of
> your virtual drive without overwriting the partition table you created on
> said virtual drive.  In this case, that probably means booting with
> grub/lilo and loading the Windows boot information from wherever it is
> stored on the new virtual sda1 (that is identical to your existing sda1, so
> wherever installing linux moved it to on the original sda1), but regardless,
> it would (hopefully) be identical to what your system is currently doing,
> and I assume your system currently boots to Windows when you tell it to.
>         All of this is probably an exercise in futility, though, because you
> are probably still going to have to reactivate, and that is assuming that
> you can even get Windows to boot and get all of the necessary drivers to
> install.  You may be able to take care of the driver business with some
> Physical to Virtual conversion tool (or all of the drivers may even
> automatically install if the i386 folder is stored on the partition, and
> since they didn't send you a cd, it might be), and you may not be concerned
> about activation, but know you aren't out of the water just because you see
> the WindowsXP splash screen.  Good luck to you,
>         Dustin
>
>
> -----Original Message-----
> From: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
> [mailto:xen-users-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of flinco@xxxxxxxxx
> Sent: Thursday, June 19, 2008 03:48
> To: tical.net
> Cc: xen-users
> Subject: Re: [Xen-users] Importing Windows XP installation
>
> I wrote "same size of sda1" for brevity but that's not exactly true:
> sda1 37.19 GiB
> sda4 40.94 GiB
> I think that more than 3 GiB are enough to cover the LVM overhead.
> Anyway waiting for further hints I will try to pass "CHKDSK C:" on the
> Recovery Console (booting from CD).
>
> Thanks
>
> Lorenzo
>
>> If /dev/sda1 and /dev/sda4 are exactly the same size, surely the overhead
of
>> LVM makes the logical volume a little smaller than /dev/sda1.  Can you
>> remake /dev/sda4 as something slightly bigger than /dev/sda1 and retry the
>> whole operation?  Without knowing any more than I do about the underlying
>> tech used to boot HVM, I'm imagining that something (windows bootloader,
>> qemu?) thinks your partition is invalid because it can't see the end of it
>> (because the partition is truncated).
>>
>> -Ray
>>
>>
>>
>> On Thu, Jun 19, 2008 at 3:08 AM, flinco@xxxxxxxxx <flinco@xxxxxxxxx>
wrote:
>>
>> > Hi,
>> >
>> > I'm using a little workstation with the following configuration:
>> > - CPU Intel Q6600
>> > - 2 GB DDR3 SDRAM
>> > - 250GB SATA2 HD
>> >
>> > - Win XP SP3 32bit on /dev/sda1 (NTFS)
>> > - Fedora 8 32bit on /dev/sda2 (ETX3)
>> > - Extended /dev/sda3 with:
>> >  + a shared /dev/sda5 (NTFS)
>> >  + 2 GB linux swap /dev/sda6
>> >
>> > I would like to know if it is possible to take the pre-installed WinXP
>> > installation (sda1) and to run "as it is" on a xen paravirtual domain. I
>> > would like to do this way because I cannot make a new installation of
>> > Windows (I'm doing this on my office machine that runs a XP downgraded
from
>> > Vista, and there's no XP recover/install CD).
>> >
>> > It's my first time with xen and (para)virtualization.
>> > I followed Xen User Manual and "How to Install Windows on Xen 3.0".
>> > To be able to experiment without damaging the original XP installation I
>> > made a primary unformatted /dev/sda4 (same size of sda1) where I created
a
>> > Volume Group called VG_Guests. Then I filled VG_Guests with a Logical
Volume
>> > I called win_xp_sp3.
>> > I tried to copy the physical partition sda1 into the logical volume
>> > win_xp_sp3 (dd if=/dev/sda1 of=/dev/VG_Guests/win_xp_sp3).
>> >
>> > I use the following win_xp_sp3.hvm:
>> >
>> > #====================================================
>> > import os, re
>> > arch = os.uname()[4]
>> > if re.search('64', arch):
>> >    arch_libdir = 'lib64'
>> > else:
>> >    arch_libdir = 'lib'
>> >
>> > kernel = "/usr/lib/xen/boot/hvmloader"
>> > builder='hvm'
>> > memory = 768
>> > name = "win_xp_sp3"
>> > #vcpus=1
>> > #acpi=1
>> > #apic=1
>> > pae=1
>> > cpus = "2,3"
>> > vif = [ 'type=ioemu, mac=00:1A:4D:5C:69:7B, bridge=xenbr0' ]
>> > disk = [
>> >
'phy:/dev/VG_Guests/win_xp_sp3,ioemu:hda,w','phy:/dev/sr0,ioemu:hdc:cdrom,r'
>> > ]
>> > device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'
>> > cdrom="/dev/sr0"
>> > boot="dc"
>> > #snapshot=1
>> > #sdl=1
>> > vnc=1
>> > vncviewer=1
>> > #vncviewer=0
>> > #nographic=0
>> > #serial='pty'
>> > ne2000=0
>> > #usb=1
>> > #usbdevice='tablet'
>> > audio=1
>> > #localtime=1
>> > #full-screen=1
>> > #stdvga=0
>> >
>> > I can boot from cdrom, but I cannot boot the copied XP, because
paravirtual
>> > system hangs after showing "Booting From Hard Disk".
>> > Then I tried booting a "non genuine" XP CD to access the Recovery
Console;
>> > i run FIXBOOT C: but the system still doesn't boot.
>> >
>> > There's something else I can try?
>> >
>> > Thanks
>> >
>> > L.B.
>> >
>> >
>> >
>> > _______________________________________________
>> > Xen-users mailing list
>> > Xen-users@xxxxxxxxxxxxxxxxxxx
>> > http://lists.xensource.com/xen-users
>> >
>>



_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users