但是IDE模式效率没有virtio高,这时可以手动加载virtio模块,方法参考腾讯云帮助文档
https://cloud.tencent.com/document/product/213/9929
grep -i virtio /boot/config-$(uname -r)
检查内核模块是否包含virtio
CONFIG_VIRTIO_BLK=m
CONFIG_VIRTIO_NET=m
有这两项,说明有了这个模块,如果后面的m是y,那么说明这个不是作为模块加载的,而是编译到内核中了,编译到内核中的理论上不应该启动不了,所以可能是其他问题,请略过此文,找别的解决方法,如果是m,请继续
lsinitrd /boot/initramfs-$(uname -r).img | grep virtio
initramfs是否包含virtio驱动
Arguments: -f --add-drivers ‘ virtio_blk virtio_pci‘
-rw-r--r-- 1 root root 7752 May 9 14:59 usr/lib/modules/3.10.0-862.2.3.el7.x86_64/kernel/drivers/block/virtio_blk.ko.xz
-rw-r--r-- 1 root root 12960 May 9 14:59 usr/lib/modules/3.10.0-862.2.3.el7.x86_64/kernel/drivers/char/virtio_console.ko.xz
-rw-r--r-- 1 root root 14296 May 9 15:00 usr/lib/modules/3.10.0-862.2.3.el7.x86_64/kernel/drivers/net/virtio_net.ko.xz
-rw-r--r-- 1 root root 8168 May 9 15:01 usr/lib/modules/3.10.0-862.2.3.el7.x86_64/kernel/drivers/scsi/virtio_scsi.ko.xz
drwxr-xr-x 2 root root 0 Jun 6 20:56 usr/lib/modules/3.10.0-862.2.3.el7.x86_64/kernel/drivers/virtio
-rw-r--r-- 1 root root 4560 May 9 15:01 usr/lib/modules/3.10.0-862.2.3.el7.x86_64/kernel/drivers/virtio/virtio.ko.xz
-rw-r--r-- 1 root root 9696 May 9 15:01 usr/lib/modules/3.10.0-862.2.3.el7.x86_64/kernel/drivers/virtio/virtio_pci.ko.xz
-rw-r--r-- 1 root root 8284 May 9 15:01 usr/lib/modules/3.10.0-862.2.3.el7.x86_64/kernel/drivers/virtio/virtio_ring.ko.xz
如果类似上面的结果,说明不是驱动问题,请略过此文,另外寻找原因,如果没有结果,说明是内核模块没有加载,请执行以下命令
cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak #备份原有的initramfs
mkinitrd -f --with=virtio_blk --with=virtio_pci /boot/initramfs-$(uname -r).img $(uname -r) #制作新的initramfs
完成之后使用上面的lsinitrd命令查询,应该正常了,关闭guestos,调整磁盘模式为virtio,启动guestos,问题解决
以上方法适用于CentOS或者RedHat RHEL 7 以上版本
vmware workstation 虚拟机迁移到KVM之后无法启动的问题
原文地址:http://blog.51cto.com/duron/2125821