在KVM中不能使用VirtIO来启动CentOS VM

我将qcow2映像转换为原始并将I / O总线更改为虚拟机的VirtIO。 现在我无法启动该虚拟机。 我使用以下命令安装了VirtIO驱动程序:

mkinitrd --with virtio_pci --with virtio_blk -f /boot/initrd-$(uname -r).img $(uname -r) 

这些是相关的内核模块:

 virtio_balloon 11329 0 virtio_blk 11593 3 virtio_pci 11845 0 virtio_ring 8513 1 virtio_pci virtio 9541 3 virtio_balloon,virtio_blk,virtio_pci 

是启动过程中发生的情况。

在这里输入图像说明

我还将/boot/grub/device.map从“(hd0)/ dev / sda”更改为“(hd0)/ dev / vda”

但问题依然存在。 任何想法如何解决这一问题 ?

这是我启动的默认选项:

 title CentOS (2.6.18-308.13.1.el5) root (hd0,0) kernel /vmlinuz-2.6.18-308.13.1.el5 ro root=/dev/VolGroup00/LogVol00 initrd /initrd-2.6.18-308.13.1.el5.img 

这里的问题是,虚拟机似乎无法看到自己的硬盘驱动器。

 No volume groups found 

你一次只能做一次改变,如果有什么事情发生,你就知道它是什么。 相反,您试图同时更改两件事情,所以您不能确定它是否正在更改磁盘格式或尝试将已安装的系统转换为virtio。

从头开始(使用原始的qcow2图像),每次只更改一件事情,以便确定发生了什么问题。

另外请注意,CentOS 5.8可以直接安装到virtio磁盘。 您可能会发现安装新虚拟机更容易,并将数据从一个虚拟磁盘传输到另一个虚拟磁盘,或者更好地使用安装DVD来更新现有的虚拟机。

检查你的内核参数,特别是root =选项。 尝试使用FS标签。