无法在 KVM 中使用 VirtIO 启动 CentOS VM

无法在 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

答案1

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

No volume groups found

每次只应进行一项更改,这样如果出现问题,您就知道是什么问题。相反,您尝试同时更改两项内容,因此您无法确定是更改磁盘格式还是尝试将已安装的系统转换为 virtio。

从头开始(使用原始 qcow2 图像)并且每次只更改一件事,这样您就可以确定出了什么问题。

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

答案2

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

相关内容