Libvirt guest destroyed after shutdown

Solution 1:

You created your guest with virsh create (or its equivalent). This creates transient domains, which are deleted when they power off.

To create persistent domains, use virsh define instead. These remain defined after they are powered off or destroyed, and can be started again at any time.