virtualization - libvirt:virt-install 在安装时挂起

标签 virtualization qemu kvm libvirt

看完wiki libvirt我开始 virt-install 从 Debian10 netinstall ISO 镜像安装 VM:

% sudo virt-install --debug --connect qemu:///system --virt-type kvm --name vm-debian --memory 1024 --disk path=/var/lib/libvirt/images/vm-debian.img,size=10 --graphics none --cdrom /var/lib/libvirt/images/debian-10.6.0-amd64-netinst.iso --location /var/lib/libvirt/images/debian-10.6.0-amd64-netinst.iso --network network=default,mac=00:22:bb:cc:dd:ee --os-variant debian10

我可以在调试输出中看到 virt-install 分析 ISO 镜像,提取 initrd.gz 和 vmlinuz 以及挂起前的最后一条消息:

[Wed, 11 Nov 2020 13:49:51 virt-install 729328] DEBUG (cli:370) Running: virsh --connect qemu:///system console vm-debian
Connected to domain vm-debian
Escape character is ^]

如果我按下 'Ctrl-]' virt-install 退出并且 qemu-kvm 进程仍在内存中。

这里究竟发生了什么?难道我做错了什么?也许这种在libvirt环境下安装的方法已经过时了,还有更简单直接的方法吗?

谢谢。

更新

按照 DanielB 的建议,我在 guest 端启用了 setial 端口并在串行控制台上启用了 virt-install 输出:

% virt-install --name debian10 --virt-type kvm --memory 1024 \
               --disk path=/var/lib/libvirt/images/vm-debian10.img,size=10 \
               --graphics none \
               --console pty,target_type=serial \
               --cdrom /var/lib/libvirt/images/debian-10.6.0-amd64-netinst.iso \
               --location /var/lib/libvirt/images/debian-10.6.0-amd64-netinst.iso \
               --network bridge=virbr0 \
               --os-type linux --os-variant debian10 \
               --extra-args console=ttyS0,115200n8 serial

最佳答案

这不是挂起 - 发生的事情是因为您使用了 -graphics none,没有创建图形控制台,因此它假定您正在尝试进行串行控制台安装。 virt-install 正在显示串行端口输出,并让您输入输入,但您的 guest 操作系统似乎没有激活 guest 端的串行端口,因此您看不到任何输出,您键入的任何内容都被 guest 忽略。

IOW,此处根本原因问题的修复是需要告知 guest 操作系统安装程序以某种方式在串行端口上运行。替代解决方法是启用图形作为您的后续提到的

关于virtualization - libvirt:virt-install 在安装时挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64792580/

相关文章:

virtualization - 四核和虚拟机上的并行编程?

android - 如何使用 gdbclient 在 Nexus 7 上调试内核?

linux - 无线主机中的 KVM 桥接网络

api - QEMU 中如何发送鼠标移动、鼠标按钮、发送按键到某些 api

ubuntu - Ubuntu 中的 KVM 安装

debian - 更新替代品 : error: alternative/usr/sbin/arptables-legacy for arptables not registered; not setting

windows - Turbo Studio 虚拟化

virtualization - "cpu_time"在 libvirt 中到底代表什么?

iphone - 除了 VMWare 之外,我还可以使用 Pear-PC 或类似工具为 iPhone 进行开发吗?

linux - QEMU 的显示