Proxmox: can't lock file '/var/lock/qemu-server/lock-100.conf' - got timeout
Another task still holds the lock on that VM's configuration, so the new start, stop or backup waited and gave up. The holder is usually a backup, snapshot or migration that is still running or hung, and killing the wrong process can leave the VM in a half-finished state. Check what holds the lock before clearing anything.
Quick fix
Read the commands before running them. Anything that restarts a service, deletes data or changes permissions should be tried on a non-production system first.
# Is a task still running against VM 100?
qm config 100 | grep '^lock'
ps aux | grep -E 'vzdump|qm (start|stop|migrate|snapshot)' | grep 100
# Recent tasks on this node
tail -n 20 /var/log/pve/tasks/index
# Wait for a backup to finish, or stop it from the GUI task log.
# If nothing is running, the lock is stale: clear it
qm unlock 100
# A hung VM that will not stop
qm stop 100 --skiplock
# Last resort, only when no qm or vzdump process exists
# rm /var/lock/qemu-server/lock-100.conf
How to diagnose Virtualization errors
Virtualisation errors are usually about hardware virtualisation access: either it is disabled in firmware, or another hypervisor already holds it. On Windows, Hyper-V, WSL 2, Docker Desktop, Credential Guard and memory integrity all claim the virtualisation extensions, and VirtualBox or VMware then fails with a message that mentions VT-x but not the actual conflict.
If the quick fix above does not resolve it, work through these steps. They apply to this whole class of error, not just to this one message, which is usually what saves the time.
- Confirm virtualisation is enabled at the CPU level:
grep -E 'vmx|svm' /proc/cpuinfoon Linux, or the Performance tab of Task Manager on Windows. - On Windows, check what else is using the hypervisor:
bcdedit /enum | findstr hypervisorlaunchtypeand whether Hyper-V, WSL 2 or Core Isolation are enabled. - On Linux, check
/dev/kvmexists and that your user is in thekvmgroup; nested virtualisation must be enabled explicitly on cloud VMs. - Match guest additions and tools versions to the hypervisor version: mismatches cause shared folders, clipboard and display problems that look like guest OS bugs.
- For WSL, run
wsl --statusandwsl --update; most WSL 2 errors are a stale kernel or a disabled Virtual Machine Platform feature.
Tools worth reaching for
grep -E 'vmx|svm' /proc/cpuinfowsl --statusbcdedit /enumls -l /dev/kvmsystemctl status libvirtd
Authoritative references
Primary documentation for this error, worth reading before applying any fix in production.
Related Virtualization errors
- Hyper-V: Virtual switch not foundThe VM references a virtual switch that doesn't exist. The switch may have been deleted or…
- libvirt: Cannot access storage file (as uid:107, gid:107): Permission deniedThe system libvirt daemon starts QEMU as an unprivileged user (qemu or libvirt-qemu, uid 107…
- libvirt: Failed to connect socket to /var/run/libvirt/libvirt-sockvirsh connected to the session daemon rather than the system one, or the user is not in the…
- libvirt: Requested operation is not valid: network 'default' is not activeThe VM is attached to libvirt's NAT network called default, and that network is defined but…
- Proxmox: TASK ERROR: KVM virtualisation configured, but not availableThe VM is set to use hardware acceleration (kvm: 1, the default) but the host has no…
- QEMU/KVM: /dev/kvm not availableKVM kernel module is not loaded or the user doesn't have permission to access /dev/kvm…
- Vagrant: Box not foundThe Vagrant box specified in the Vagrantfile has not been downloaded or the name is incorrect.
- Vagrant: The IP address configured for the host-only network is not withinVirtualBox 6.1.28 started restricting host-only networks to 192.168.56.0/21 on Linux and…
Browse other categories
- HTTP 494xx client errors, 5xx server errors, redirects, headers and protocol problems.
- JavaScript 42npm resolution, async pitfalls, hydration, memory limits and runtime type…
- Database 41Connections, deadlocks, constraints, replication and memory limits.
- AI 35Rate limits, context windows, GPU memory and model-serving failures.
- Network 35Refused connections, timeouts, resets, MTU problems and port exhaustion.
- Python 35Imports, virtual environments, encoding, concurrency and dependency conflicts.
- Kubernetes 34CrashLoopBackOff, ImagePullBackOff, OOMKilled, RBAC, scheduling and storage.
- Docker 27Daemon connectivity, disk space, image pulls, ports and architecture mismatches.
- System 26Disk space, systemd units, file descriptors, OOM killer and scheduled jobs.
- Cloud 25IAM permissions, quotas, service limits and credential failures.
- Security 25JWT validation, CSRF, OAuth grants, SELinux, SSH host keys and CSP.
- TLS 24Untrusted authorities, expiry, hostname mismatch, chains and cipher negotiation.
Something missing or wrong?
This entry is maintained by hand. If the fix is out of date, incomplete, or you have a better one, email a correction and it will be reviewed.