无法找到 Ubuntu 树的 hvm 内核

无法找到 Ubuntu 树的 hvm 内核

此命令:

virt-install   \
   --name bla  \
   --ram=1024  \
   --disk path=/home/me/libvirt/images/bla.qcow2,bus=virtio,size=10  \
   --location /home/me/Downloads/ubuntu-18.10-desktop-amd64.iso

报告:

ERROR    Couldn't find hvm kernel for Ubuntu tree.

我怎样才能解决这个问题?

(由于此问题有很多重复的帖子和答案,因此我也来回答一下。)

答案1

而不是使用

 --location /home/me/Downloads/ubuntu-18.10-desktop-amd64.iso

使用

 --cdrom /home/me/Downloads/ubuntu-18.10-desktop-amd64.iso

区别在于(从手册页):

-c CDROM , --cdrom=CDROM
File or device use as a virtual CD-ROM device for fully virtualized guests. It can
be path to an ISO image, or to a CDROM device. It can also be a URL from which to 
fetch/access a minimal boot ISO image. The URLs take the same format as described
for the "--location" argument. If a cdrom has been specified via the "--disk" 
option, and neither "--cdrom" nor any other install option is specified, the 
"--disk" cdrom is used as the install media.

-l LOCATION , --location=LOCATION
Distribution tree installation source. virt-install can recognize certain 
distribution trees and fetches a bootable kernel/initrd pair to launch the 
install. 

因此,在这种情况下正确的命令是:

virt-install   \
   --name bla  \
   --ram=1024  \
   --disk path=/home/me/libvirt/images/bla.qcow2,bus=virtio,size=10  \
   --cdrom /home/me/Downloads/ubuntu-18.10-desktop-amd64.iso

答案2

从技术上讲,你可以使用 --location 和更新的 virt-install 1.5+ 以及参数说明这里 来自 Cole Robinson。我测试过了,确实如此。

然而,在我看来,让 Ubuntu 正常工作是一件非常痛苦的事情。我最终使用以下完整命令--location让它工作了:--location

virt-install \
    -n ubuntu -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

确保你浏览了 URL--location以获取所需的正确 Ubuntu 版本。我相信你会经历一些尝试和错误...

使用 CentOS.iso映像时我没有遇到此问题并且使用起来--location正常。

答案3

我在尝试使用 virt-install 安装 Ubuntu 20.04.1 服务器时遇到了这个问题。我发现一些答案很有帮助,但找到了不同的解决方案。

首先。原始问题引用了“桌面” iso 文件。但是,关于将 ISO 安装到 /mnt 的“live-server-amd64.iso”的解决方案实际上对我开始安装很有帮助。

但是,我的安装最终进展得非常缓慢。我不太清楚为什么这么慢。当我试图取消那些耗时太久的更新时,安装最终崩溃了。不过还有另一种解决方案,它不需要安装 ISO 并提供那些内核启动选项。

有一个旧版(非实时)的 Ubuntu 20.04.1 服务器可用。

http://cdimage.ubuntu.com/ubuntu-legacy-server/releases/20.04/release/

在这里的这个线程上找到了它。

Ubuntu Server 20.04 非实时版本

使用旧版本 20.04.1 服务器,它实际上将使用 --location 参数而不是 --cdrom 参数运行,从而启用 --extra-args console=ttyS0 选项。

答案4

如果你使用--cdrom来代替 ,--location你将失去一些选项,例如--extra-args!这个有用的参数不能与 配合使用--cdrom!如果你想使用 ,--extra-args你必须使用--location

如果您喜欢这个参数,您必须用不同的方式克服这个问题!

如果你想解决这个问题,.iso首先你必须知道文件是一种压缩文件!是的!它们是一些特殊类型的压缩文件,如或.zip等等。.rar.tar.gz

你可以学习如何提取它们通过以下链接

您收到此问题的原因ERROR: Couldn't find hvm kernel for Ubuntu tree.是您的图像(.iso文件)不包含install/vmlinux文件(vmlinuz文件无法直接在您的根install文件夹中使用)!通过提取文件来检查此文件是否存在.iso(它必须vmlinuz恰好在您的根文件夹中包含文件install)。

如果您找不到,您必须.isoubuntu包含此特定路径下所需文件的网站找到其他相关内容!

值得注意的是,Ubuntu.iso为每个发行版和版本以及平台提供了不同的文件,如 live iso、minimal iso 等!你只需要寻找最合适的一个。

尽力而为并且玩得开心。

相关内容