如何在 KVM 中以 GUEST 方式安装 Ubuntu 22.04

如何在 KVM 中以 GUEST 方式安装 Ubuntu 22.04

我需要在 KVM 中安装最新的 LTS Ubuntu (22.04)。几年前,我以这种方式安装了 18.04,并且成功了:

sudo virt-install --name new_server --ram=2048 --vcpus=1 --cpu host --hvm --disk path=/var/lib/libvirt/images/new_server,size=20 --location http://gb.archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/ --graphics none --console pty,target_type=serial --extra-args 'console=ttyS0,115200n8 serial' --os-type linux --os-variant ubuntu18.04 --network network:default --hvm --force --debug

但现在我收到这个错误:

ValueError: Could not find an installable distribution at 'http://gb.archive.ubuntu.com/ubuntu/dists/jammy/main/installer-amd64/'

如何在控制台模式下在 KVM 上安装 Ubuntu 22.04?

答案1

我找到了这个解决方案:

  1. 下载 ISO 映像

    wget https://releases.ubuntu.com/jammy/ubuntu-22.04.2-live-server-amd64.iso

  2. 创建挂载点文件夹并挂载映像:

    mkdir mnt
    sudo mount -o loop ubuntu-22.04.2-live-server-amd64.iso mnt
    
    
  3. 使用 ISO 映像自定义内核路径运行 virt-install(需要传递 console=ttyS0 参数,如果没有此参数则没有控制台输出,安装过程也不可能完成):

    sudo virt-install --name myvm --ram=4096 --vcpus=1 --cpu host --hvm --disk path=/virt1/machines/myvm/myvm,size=40 --cdrom ubuntu-22.04.2-live-server-amd64.iso --graphics none --console pty,target_type=serial --os-type linux --network network:default --hvm --force --debug --boot kernel=mnt/casper/vmlinuz,initrd=mnt/casper/initrd,kernel_args="console=ttyS0"
    
    
  4. 照常安装 Ubuntu

  5. 停止虚拟机

    virsh destroy myvm

  6. 从虚拟机配置中删除启动选项:

    sudo virsh edit myvm

应删除以下几行:

<kernel>/home/user/mnt/casper/vmlinuz</kernel>
<initrd>/home/user/mnt/casper/initrd</initrd>
<cmdline>console=ttyS0</cmdline>
  1. 启动虚拟机:

    virsh start myvm

现在可照常使用。

似乎在较新版本的 virsh-manager 中可以使用 --install 选项。我还在 --location 路径中看到了内核和 initrd 参数。也许它也可以工作。但我有 virsh-manager 1.5.1,这些选项不可用。

相关内容