0

我正在使用以下命令使用 qemu-kvm 实用程序在 Fedora 18 上启动虚拟机。

qemu-kvm -m $MEMORY -net nic -net tap,ifname=tap0,script=no -drive file=ubuntu.img,index=0,media=disk,format=raw 

有没有办法在 VM 启动后运行的启动时将脚本传递给 VM。

我已经搜索了 qemu-kvm 的帮助,但它没有提供任何相关信息。

4

1 回答 1

-1

首先,这与 KVM 无关,而是客户操作系统引导程序。使用 KVM 时,它应该对来宾操作系统内部一无所知,例如,操作系统是否已启动。

在这种情况下有2个问题:

  1. 它如何从 KVM 管理程序向来宾操作系统提供脚本或数据?
  2. 如何在来宾操作系统启动时激活脚本?

根据问题#1,您可以使用磁盘或网络。例如,如果您将额外的磁盘/iso/vfat 文件附加到您的 VM,以便可以在来宾操作系统中找到它。

您可以找到许多在 Linux 启动时运行脚本的方法。

总而言之,您可以使用cloud-init及其配置驱动扩展

脚步

  1. 使用已经包含 cloud-init 的ubuntu 云镜像作为您的镜像,而不是您的ubuntu.img。或者通过命令安装 cloud-init 制作自己的镜像sudo apt-get install cloud-init

  2. 按照配置驱动器规范准备 vfat 或 iso 文件。然后将此行附加到您的 qemu-kvm 命令中:

qemu-kvm -m $MEMORY -net nic -net tap,ifname=tap0,script=no -drive file=ubuntu.img,index=0,media=disk,format=raw -cdrom <your-config-drive-iso-file>.iso

于 2013-10-14T00:56:13.030 回答