我将 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 标签。