制作 KVM VM 但跳过 Ubuntu 安装过程

制作 KVM VM 但跳过 Ubuntu 安装过程

我目前能够在我的主机 Ubuntu 上通过 KVM 创建 Ubuntu 16.04 VM。

我正在尝试安装 Ubuntu 映像,但不必经过选择用户名、密码、机器名称和时区的安装过程。

可以通过 KVM 做到这一点吗?

答案1

如果您已经安装了 VM,则可以简单地复制已安装的 VM。这将允许您只需完成一次安装过程,尽管您可能需要进行一些编辑...

首先将虚拟机的磁盘从源主机上的 /var/lib/libvirt/images 复制到目标主机上的相同目录。

接下来,在源主机上运行 virsh dumpxml VMNAME > domxml.xml 并将此 xml 复制到目标主机

然后,在目标主机上运行virsh define domxml.xml

并启动虚拟机。

附录:如果虚拟机具有您想要保留的快照,则应该在源上virsh snapshot-dumpxml $dom $name > file.xml为虚拟机的快照列表中的每个快照转储快照 xml 文件virsh snapshot-list --name $dom

然后在目标上使用virsh snapshot-create --redefine $dom file.xml来完成快照的迁移。

如果您还关心哪个快照是当前快照,则可以在源上另外执行以下操作: virsh snapshot-current --name $dom 并在目标上执行以下操作: virsh snapshot-current $dom $name

笔记: 如果磁盘位置不同,则需要编辑 xml 的设备/磁盘节点以指向目标主机上的映像。如果虚拟机连接到自定义网络,则需要在目标主机上的 xml 中编辑它们或重新定义它们(virsh net-dumpxml > netxml.xml 和 virsh net-define netxml.xml && virsh net-start NETNAME & virsh net-autostart NETNAME)

资料来源:这个答案厚颜无耻地模仿了

https://serverfault.com/questions/434064/correct-way-to-move-kvm-vm

答案2

您可以使用virt-builder创建各种 Linux 发行版的虚拟机映像。

Virt-builder 包含在libguestfs-tools软件包中。使用以下命令安装它:

sudo apt-get install libguestfs-tools

您可以通过告诉 virt-builder 您要为哪个 Linux 发行版构建映像来运行它。要了解它可以构建哪些虚拟机,请运行:

virt-builder --list
....
ubuntu-10.04             x86_64     Ubuntu 10.04 (Lucid)
ubuntu-12.04             x86_64     Ubuntu 12.04 (Precise)
ubuntu-14.04             x86_64     Ubuntu 14.04 (Trusty)
ubuntu-16.04             x86_64     Ubuntu 16.04 (Xenial)

要构建虚拟机,请指定您需要原始映像还是 QCOW2 映像、所需的磁盘大小以及文件名,然后执行:

virt-builder ubuntu-16.04 --format qcow2 --size 10G --output my-ubuntu-vm.qcow2

默认情况下,virt-builder 将启用 root 帐户并为其设置一个随机密码。如果您不想这样做,您可以设置自己的 root 密码。您还可以添加用户帐户、安装或删除软件包、设置 VM 主机名,甚至运行任意命令。virt-builder如果您需要,手册页包含有关这些内容的所有详细信息。

相关内容