Virtual Windows XP
From Wiki.cyring.fr
| Contents | 
Prerequisite
This HowTo has been written using ArchLinux x86_64 Kernel 3.6.5
The following packages are mandatory
- pacman -S fuse qemu-kvm libvirt chntpw
- pacman -S base-devel
- pacman -S yaourt
- yaourt hivex 
You may also installed the following ones
- pacman -S sudo wget libcdio 
Convert VHD To KVM
- qemu-img convert -f vpc -O raw "Virtual Windows XP.vhd" v2WinXP.img 
- wget http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-0.1-30.iso 
- iso-read -i virtio-win-0.1-30.iso -e WXP/X86/VIOSTOR.SYS -o VIOSTOR.SYS 
- iso-read -i virtio-win-0.1-30.iso -e WXP/X86/VIOSTOR.INF -o VIOSTOR.INF 
- sudo mount -o loop,offset=32256 v2WinXP.img /mnt 
- cp VIOSTOR.SYS /mnt/WINDOWS/system32/drivers/ 
- cp VIOSTOR.INF /mnt/WINDOWS/inf/ 
- mkdir ~/tmp/config 
- cp /mnt/WINDOWS/system32/config/* ~/tmp/config/ 
- wget http://code.cyring.fr/FTS/Source/VM/WinXP/virtio_keys1.reg 
- wget http://code.cyring.fr/FTS/Source/VM/WinXP/virtio_keys2.reg 
- wget http://code.cyring.fr/FTS/Source/VM/WinXP/virtio_keys3.reg 
- wget http://code.cyring.fr/FTS/Source/VM/WinXP/virtio_keys4.reg 
- hivexregedit --merge ~/tmp/config/system virtio_keys1.reg 
- hivexregedit --merge ~/tmp/config/system virtio_keys2.reg 
- hivexregedit --merge ~/tmp/config/system virtio_keys3.reg 
- hivexregedit --merge ~/tmp/config/system virtio_keys4.reg 
- chntpw -e ~/tmp/config/system << EOF 
- > cd ControlSet001 
- > cd Services 
- > cd Processor 
- > ed Start 
- > 4 
- > q
- > y
- > EOF
- cp ~/tmp/config/system /mnt/WINDOWS/system32/config/ 
- sudo umount /mnt 
Import into the registry
Download registry files @ code.cyring.fr/FTS
Editing Registry
- chntpw -e ~/tmp/config/system 
Commands
cd ControlSet001 cd Control cd CriticalDeviceDatabase nk pci#ven_1af4&dev_1001&subsys_00021af4 cd pci#ven_1af4&dev_1001&subsys_00021af4 nv 1 Service ed Service viostor nv 1 ClassGUID ed ClassGUID {4D36E97B-E325-11CE-BFC1-08002BE10318} cd .. cd .. cd .. cd Services nk viostor cd viostor nv 4 Type ed Type 00000001 nv 4 Start ed Start 00000000 nv 4 ErrorControl ed ErrorControl 00000001 nv 4 Tag ed Tag 00000033 nv 2 ImagePath ed ImagePath System32\DRIVERS\viostor.sys nv 1 Group ed Group SCSI miniport nk Parameters cd Parameters nv 4 BusType ed BusType 00000001 nk PnpInterface cd PnpInterface nv 4 5 ed 5 00000001 cd .. cd .. nk Security cd Security nv 3 Security cd .. cd Enum nk SCSI cd SCSI nk Disk&Ven_Red_Hat&Prod_VirtIO&Rev_0001 cd Disk&Ven_Red_Hat&Prod_VirtIO&Rev_0001 nk 4&1618751f&0&000 cd 4&1618751f&0&000 nv 1 DeviceDesc ed DeviceDesc Lecteur de disque nv 1 LocationInformation ed LocationInformation Bus Number 0, Target ID 0, LUN 0 nv 4 Capabilities ed Capabilities 96 nv 4 ConfigFlags ed ConfigFlags 0 nv 7 HardwareID ed HardwareID SCSI\DiskRed_Hat_VirtIO__________0001 SCSI\DiskRed_Hat_VirtIO__________ SCSI\DiskRed_Hat_ SCSI\Red_Hat_VirtIO__________0 Red_Hat_VirtIO__________0 GenDisk --q nv 7 CompatibleIDs ed CompatibleIDs SCSI\Disk SCSI\RAW --q nv 1 ClassGUID ed ClassGUID {4D36E967-E325-11CE-BFC1-08002BE10318} nv 1 Service ed Service disk nv 1 Driver ed Driver {4D36E967-E325-11CE-BFC1-08002BE10318}\0002 nv 1 Class ed Class DiskDrive nv 1 Mfg ed Mfg (Lecteurs de disque standard) nv 1 FriendlyName ed FriendlyName Red Hat VirtIO SCSI Disk Device nk Device Parameters nk LogConf cd .. cd .. cd .. cd PCI nk VEN_1AF4&DEV_1001&SUBSYS_00021AF4&REV_00 cd VEN_1AF4&DEV_1001&SUBSYS_00021AF4&REV_00 nk 3&13c0b0c5&0&30 cd 3&13c0b0c5&0&30 q y
Define a new VM
- Arch : i686
- Processor : 1 core
- Memory : 1024 MB
- HDD : VirtIO, raw, "v2WinXP.img"
- CDROM : IDE, raw, "virtio-win-0.1-30.iso"
- NIC : Bridge, virbr0
 
Start the VM

Tips: remove the previous driver to get the mouse back in work.
