qemu、KVM、以及Could not access KVM kernel module: No such file or directory

什么是Qemu?kvm?

Qemu

既然是虚拟机,那总得有虚拟出来的各种硬件吧,Qemu就是提供这一功能的硬件模拟器,让guestOS以为自己在和真的硬件打交道,而其实,这中间隔着一个Qemu来当翻译。也正是因为存在翻译的过程,所以性能上会打折扣,于是我们需要:

kvm

kvm属于linux内核的模块,可以理解为集成至内核中的Hypervisor,采用intel VT/AMD-V等技术,提供CPU和内存的虚拟化能力,这样guestOS的CPU指令可以不用再经过翻译,性能大增,但它还需要network和周边I/O的支持,所以两者联手:kvm负责cpu和内存,qemu负责其他的,一个内核空间,一个用户空间从而形成qemu-kvm这样一个完整的、更优的虚拟化技术。


作者:罗浩
链接:https://zhuanlan.zhihu.com/p/33422594
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

---------------------------------------------------------------------------

注:可能在qemu中使能kvm的时候会报错,比如执行下面指令:

$ qemu-system-x86_64 \ -kernel obj/linux-x86-alldefconfig/arch/x86_64/boot/bzImage \ -initrd obj/initramfs-busybox-x86.cpio.gz \ -nographic -append "console=ttyS0" -enable-kvm

会报错:

Could not access KVM kernel module: No such file or directory

 

原因可能就是没有在BIOS中开启Intel的虚拟化技术。