Migrate a Windows Server virtual machine from an XCP-ng host to a Proxmox VE cluster.
Avoid the boot crash caused by leftover XCP-ng drivers after a standard virt-v2v conversion.
Move a large production Windows VM with minimal downtime using a streamed disk export.
| marcpope/xen2proxmox | 123satyajeet123/bitnet-server | adeilsonrbrito/cross-model-consult | |
|---|---|---|---|
| Stars | 0 | 0 | 0 |
| Language | Shell | Shell | Shell |
| Setup difficulty | hard | easy | moderate |
| Complexity | 4/5 | 2/5 | 3/5 |
| Audience | ops devops | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires SSH access to the XCP-ng host, root on Proxmox, and a cleanly shut down source VM.
This tool moves Windows virtual machines from one virtualization system, XCP-ng or XenServer, over to another one called Proxmox VE, using a single command. It solves a specific and painful problem: a normal conversion tool called virt-v2v can move the files over, but it misses some Windows registry cleanup that XCP-ng leaves behind, and without that cleanup the migrated Windows machine crashes on startup no matter which storage setup you try. The README explains the problem in detail. XCP-ng installs special drivers into Windows so it can talk to that specific virtualization platform. When you move the machine somewhere else, those drivers try to load anyway and crash the boot process. Worse, one of those drivers is registered as a filter across two entire driver classes, so once it is disabled, everything that depends on those classes also fails to start, including the disk controller itself. There is also damage to a core disk driver's registry settings that is easy to miss just by looking at it. To fix all this, the script runs directly on the target Proxmox machine. It installs the tools it needs, connects to the old XCP-ng host over a secure connection, exports the virtual disk without needing extra storage space on the old host, converts it with virt-v2v, and then does the registry repair work itself using Python-based registry editing tools. After that it creates the new virtual machine on Proxmox with a deliberately cautious first boot: the network is left disconnected and the disk is attached in a simple mode, so nothing can go wrong on the first startup. Once you confirm it boots correctly, you can turn the network back on and later switch to faster drivers. The original virtual machine is never changed or deleted, so if something goes wrong you can simply power it back on. The author reports testing this on Windows Server 2019 and a real 192 gigabyte disk migration that took about 45 minutes. This tool is specifically for Windows machines, Linux virtual machines do not need any of this. It is released under the Apache 2.0 license.
A script that migrates Windows virtual machines from XCP-ng or XenServer to Proxmox VE in one command, fixing driver problems the normal conversion tool misses.
Mainly Shell. The stack also includes Shell, virt-v2v, Python.
Use, modify, and redistribute freely as long as you keep the copyright and license notice.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.