Errors when moving VMs to another project

I have a VM in the default project, which runs fine. If I stop it and move it to another project called “Proxmox”, the VM no longer starts. It shows this error message:

Unable to locate matching firmware: [{Code:/nix/store/cxm4xcn3cgq9np2qs76ls6a4dh2rh6vq-incus-ovmf/OVMF_CODE.4MB.fd Vars:/nix/store/cxm4xcn3cgq9np2qs76ls6a4dh2rh6vq-incus-ovmf/OVMF_VARS.4MB.ms.fd} {Code:/nix/store/cxm4xcn3cgq9np2qs76ls6a4dh2rh6vq-incus-ovmf/OVMF_CODE.fd Vars:/nix/store/cxm4xcn3cgq9np2qs76ls6a4dh2rh6vq-incus-ovmf/OVMF_VARS.ms.fd}]

The strange thing is that the firmwares are available in the directory:

$ ls /nix/store/cxm4xcn3cgq9np2qs76ls6a4dh2rh6vq-incus-ovmf
OVMF_CODE.4MB.fd OVMF_CODE.fd OVMF_VARS.4MB.fd OVMF_VARS.4MB.ms.fd OVMF_VARS.fd OVMF_VARS.ms.fd seabios.bin

Now, If I try to move the VM back to default, I get the following error:

Error deleting storage volume: Failed to remove '/var/lib/incus/storage-pools/default/virtual-machines/Proxmox_Proxmox3': remove /var/lib/incus/storage-pools/default/virtual-machines/Proxmox_Proxmox3: device or resource busy

After that, the VM is visible in both projects, “default” and “Proxmox”, but only is missing the block device in “Proxmox”. I can delete the instance in the “Proxmox” project. The version in the “default” project runs fine again.

I can repeat the whole thing getting exactly the same result.

$ incus version
Client version: 6.21
Server version: 6.21

$ incus config show Proxmox3 --project default
architecture: x86_64
config:
limits.cpu: “4”
limits.memory: 6GiB
volatile.cloud-init.instance-id: f5c27a6b-6c5c-4efe-ad75-3fac7d353513
volatile.eth0.host_name: tapf91ac964
volatile.eth0.hwaddr: 10:66:6a:d5:11:d4
volatile.last_state.power: RUNNING
volatile.last_state.ready: “false”
volatile.uuid: 6df2d229-c8ed-49c5-b8a7-163052ad9274
volatile.uuid.generation: 6df2d229-c8ed-49c5-b8a7-163052ad9274
volatile.vm.definition: pc-q35-10.1
volatile.vm.rtc_adjustment: “0”
volatile.vm.rtc_offset: “-1”
volatile.vsock_id: “2055157134”
devices:
eth0:
nictype: bridged
parent: vmbr0
type: nic
vlan: “10”
vlan.tagged: 2-4094
root:
path: /
pool: default
size: 100GiB
type: disk
sda:
source: /dev/sda
type: disk
ephemeral: false
profiles:

default
stateful: false
description: “”

Any idea, what is the problem?

Well, for the time being I found a workaround: Exporting the instance and reimporting it into the correct project worked. Still no idea, where the error came from…

The firmware error you can usually reset it by toggling the value of security.secureboot as that will force the firmware files to be looked at again and symlinks be re-generated.

Thanks, that sounds better than exporting and reimporting. :+1: