---
name: "vmgenc"
section: "4"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/vmgenc"
---

# vmgenc(4)

ACPI virtual machine generation ID counter

## NAME

**vmgenc** – ACPI virtual machine generation ID counter

## SYNOPSIS

**device** **vmgenc**

In [loader.conf(5)](/loader.conf/5.md): **vmgenc\_load="YES"**

## DESCRIPTION

The **vmgenc** driver provides support for the Virtual Machine Generation ID, a 128-bit unique identifier exposed by the hypervisor via ACPI. The hypervisor changes this identifier whenever the virtual machine is cloned, restored from a snapshot, or otherwise duplicated.

When a generation ID change is detected, the **vmgenc** driver feeds the new identifier into the kernel entropy pool via [random(4)](/random/4.md), ensuring that duplicated virtual machines do not share cryptographic state. The driver also sends a [devctl(4)](/devctl/4.md) event and an internal kernel notification so that other subsystems can respond to the duplication.

The Virtual Machine Generation ID specification is supported by QEMU, VMware ESXi, Microsoft Hyper-V, and Xen.

## SYSCTL VARIABLES

The following variable is available:

- *dev.vmgenc.%d.guid*

  The current cached VM generation counter as a 128-bit value. This value is updated each time the hypervisor signals a generation change.

## SEE ALSO

[acpi(4)](/acpi/4.md), [random(4)](/random/4.md)

## HISTORY

The **vmgenc** driver first appeared in FreeBSD 13.0.

## AUTHORS

The **vmgenc** driver was written by Conrad Meyer ⟨*cem@FreeBSD.org*⟩.

This manual page was written by Christos Longros ⟨*chris.longros@gmail.com*⟩.
