Migration of Windows VMs

I have two working Windows Server that are a host (Host was converted to Incus without my knowledge). I need to migrate them to a different host. I ran:

  • incus copy <Container/VM name> <Remote>

One of the copies due to ZFS pool not found, even though I can log in. This I suspect do to the lxc to incus script running on a pool that was not properly setup

- incus export <Container/VM name> /.tar

- scp /.tar

- incus import /<Container/VM name> <Container/VM name>

It hangs at 100% for an extremely long time (Basically as long as I am logged in) and nothing happens.

I assume I am not running the proper commands to migrate/copy these Windows Server VMs to a different host? Or maybe something got messed up due to the upgrade from LXC to INCUS (I prefer a clean install rather than in place upgrade)

The copy should be the better approach.

It would be useful to see incus config show NAME and incus config show --expanded NAME on the source to be able to understand what config is local to the instance and what comes from profiles, also see all the storage pool names.

You’ll either want the storage pool names and profile content to match up on target or will need to supply a bunch of extra options to incus copy to fill in the gaps.

Update, I managed to get the server that did not have issues with the ZFS pool, copied over to the new host. Once copies, here is the configs so far:

sudo snap install distrobuilder --classic
sudo apt install libwin-hivex-perl spice-client-gtk virt-viewer wimtools
incus config device add phs-win-hasa-t vtpm tpm

incus config show --expanded phs-win-hasa-t
architecture: x86_64
config:
limits.cpu: “8”
limits.memory: 16GiB
volatile.cloud-init.instance-id: cb4a39d7-0523-4b06-b455-5bc8f8983355
volatile.eth1.host_name: macfa82596b
volatile.eth1.hwaddr: 00:16:3e:cd:ce:bc
volatile.eth1.last_state.created: “false”
volatile.eth2.host_name: macd61f00b5
volatile.eth2.hwaddr: 00:16:3e:c0:36:ca
volatile.eth2.last_state.created: “false”
volatile.last_state.power: RUNNING
volatile.last_state.ready: “false”
volatile.uuid: 50542f3a-2442-4d1c-8574-4817f35b9cdf
volatile.uuid.generation: 50542f3a-2442-4d1c-8574-4817f35b9cdf
volatile.vsock_id: “4275794086”
devices:
eth1:
name: eth1
nictype: macvlan
parent: ens1f0np0
type: nic
eth2:
name: eth2
nictype: macvlan
parent: ens1f1np1
type: nic
install:
boot.priority: “10”
source: /home/phs_admin/winserver16.lxd.iso
type: disk
root:
path: /
pool: default
size: 1TiB
type: disk
vtpm:
type: tpm
ephemeral: false
profiles:

  • windows
    stateful: false
    description: “”

When I run:
incus start phs-win-hasa-t --console=vga

It hangs on the Zabbly screen and never starts up when it was previously running and could log in with no issues prior to the copy.

incus start phs-win-hasa-t --console=vga
incus start phs-win-hasincus console phs-win-hasa-t --show-log
BdsDxe: loading Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)/Scsi(0x1,0x1)
BdsDxe: starting Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)/Scsi(0x1,0x1)
BdsDxe: failed to start Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)/Scsi(0x1,0x1): Time out
BdsDxe: loading Boot0008 “Windows Boot Manager” from HD(2,GPT,33BAA512-4CF2-42DA-B85B-8D96DEAC62EA,0xE1800,0x32000)/\EFI\Microsoft\Boot\bootmgfw.efi
BdsDxe: starting Boot0008 “Windows Boot Manager” from HD(2,GPT,33BAA512-4CF2-42DA-B85B-8D96DEAC62EA,0xE1800,0x32000)/\EFI\Microsoft\Boot\bootmgfw.efi
!!! X64 Exception Type - 0E(#PF - Page-Fault) CPU Apic ID - 00000000 !!!
ExceptionData - 0000000000000009 I:0 R:1 U:0 W:0 P:1 PK:0 SS:0 SGX:0
RIP - 000000007F812A9A, CS - 0000000000000038, RFLAGS - 0000000000010206
RAX - 000000007F7ECB98, RCX - 00000000001B7DF0, RDX - 0000000000000000
RBX - 00000000001B7DF0, RSP - 00000000001B7D50, RBP - 00000000001B7D70
RSI - 0000000000000000, RDI - 00000000001B7DF0
R8 - 0000000000000000, R9 - 00000000000001FF, R10 - 0000FFFFFFFFF000
R11 - 00000000001F6044, R12 - 00000000001B7EC0, R13 - 8000000000000002
R14 - 0000000000000400, R15 - 0000000000000044
DS - 0000000000000030, ES - 0000000000000030, FS - 0000000000000030
GS - 0000000000000030, SS - 0000000000000030
CR0 - 0000000080010033, CR2 - 000000007F814180, CR3 - 000000007FA01000
CR4 - 0000000000040668, CR8 - 0000000000000000
DR0 - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
DR3 - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
GDTR - 000000007F7DC000 0000000000000047, LDTR - 0000000000000000
IDTR - 000000007F0D2018 0000000000000FFF, TR - 0000000000000000
FXSAVE_STATE - 00000000001B79B0


I just reread your post, so unlike normal LXC/Incus containers, with VMs the storage pools need to be the same? Are you referring to the Incus storage pools (IE: default) or the ZFS storage pool (IE: dpool)?