我在 centos7 上有 KVM。我可以使用以下命令毫无问题地创建 centos 客户机,但当我将它用于任何 ubunti iso 时,它不起作用
virt-install -n ubuntu -r 2048 --os-variant=ubuntu19.04 --location=/mnt/FTP/appz/ubuntu-19.10-live-server-amd64.iso --disk /var/lib/libvirt/images/ubuntu_boot.img,size=10,device=disk,bus=virtio --graphics none -w bridge=br0,model=virtio --extra-args="console=tty0 console=ttyS0,115200"
我收到错误
错误 无法找到 Ubuntu 树的 hvm 内核。域安装似乎未成功。如果成功,您可以通过运行以下命令重新启动域:virsh --connect qemu:///system start ubuntu 否则,请重新启动安装。
这个线程让我明白这是图像上 vmlinux 内核的位置问题。 无法找到 Ubuntu 树的 hvm 内核
有什么想法可以解决这个问题吗?
答案1
我终于让它工作了。我相信当我尝试使用一个太具体的位置时?
例如,我使用此 URL 从 netboot 获取它,因为我认为它有 linux 内核和 initrd,但再次失败。
http://us.archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/current/images/netboot/
我使用这个带 url 的完整命令,它成功了。不过,这安装了,Ubuntu Focal Fossa (development branch)
但无论如何,我认为我可以从这里找到它。
据我所知,与使用 --location 和 .iso 工作的 centos 相比,任何 debian dist 都更难找到路径。
virt-install -n ubuntuscrap -r 2048 --os-variant=ubuntu19 --location http://us.archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/ --disk /var/lib/libvirt/images/ubuntu20.img,size=10,device=disk,bus=virtio --graphics none -w bridge=br0,model=virtio --extra-args 'console=ttyS0,115200n8 serial' --force --debug
更新这主要是由于您尝试安装的操作系统具有兼容的 kvm 版本。
ubuntu 为 kvm 提供了云 ubuntu 版本,您可以下载并导入映像并运行。这是一个很好的例子这里
qemu-img
info 可以告诉你图像的格式,如果你不喜欢 qcow2,你可以转换,反之亦然
qemu-img convert -f qcow2 -O raw image.qcow2 image.img
为了进行虚拟化安装并启动安装映像,您需要找到正确的映像并将其指向搜索 initrd.gz 和 vmlinuz 的基础...类似这样的操作...有时找到一个并不好玩。