我试图用KVM启动我的第一台虚拟机。 我安装了Ubuntu 12.04,通过运行kvm-ok,确保BIOS为intel处理器启用了正确的虚拟化标志。 我在google上研究过这个,到目前为止我发现的所有的指令都已经过时了。 例如,大多数指令都是使用以下命令来讨论启动虚拟机
为您的虚拟机创build一个虚拟磁盘:
qemu-img create -f qcow2 foo.img 100G
这运行kvm:
kvm --name foo -m 1024 -hda foo.img -cdrom whatever.iso -boot d
这个命令行不完整。 首先你需要成为root才能运行这个。 其次,video设备缺less选项。 当你运行这个命令时,你会得到下面的错误:
无法初始化SDL(没有可用的video设备) – 退出
谷歌search这个错误,并在StackOverflow查找它 。 该线程提供的答案在Ubuntu 12.04上不起作用。
进一步谷歌search这个问题,发现我需要指定一个video设备,所以我终于运行以下命令:
sudo kvm --name mymachine -m 8096 -hda myimage.img --cdrom ubuntu.iso -boot d -vga cirruss -k en-us -vmc :0
这是在驱动器上创build了myimage.img映像之后。 现在这个命令不会给我一个错误,但它只是挂起。
有没有人有清楚的说明如何在Ubuntu上使用KVM运行虚拟机?
如迈克尔·汉普顿所说♦你可以使用virt-manager来创build虚拟机 。
使用
apt-get install virt-manager
在主机上安装,之后你可以使用virt-manager来创build新的vms,同样你也不会遇到像libvirt那样的问题。
特别是对于没有graphics的问题,请尝试-nographic选项。 使用这个,我能够在Ubuntu 14.04主机上启动一个Ubuntu snappy客户镜像。 一个无头主机,通过SSHlogin。
错误是误导性的:事实上,因为qemu无法连接到您的X会话。 要以不同的用户身份运行X程序,您需要保留您的环境:
sudo -E kvm ...
或者使用xhost,例如
xhost +si:localuser:root
或者设置root的XAUTHORITY环境variables来指向你的$ HOME / .Xauthority文件。
我通常创build一个包含所有设置的XML文件,然后使用virsh define file.xml ,然后使用virsh start VMname (在file.xml中定义)。 使用VNC客户端在引导时查看VM。 我通常使用netstat -alntp |grep 59..并查找qemu-vnc实例以查看VNC使用的端口。
这里是如何创buildXM文件http://libvirt.org/formatdomain.html
我强烈build议你避免使用任何工具,但qemu本身。 HW emulation是qemu的责任。 默认情况下它可以处理很多configuration选项。 就像在你的情况中一样,你可以用改进的virtio来改变你的kvm命令的qemu等价物。
sudo qemu-system-x86_64 -enable-kvm -name mymachine -m 8192 -drive media = disk,cache = none,index = 0,file = myimage.img,if = virtio,format = qcow2,aio = native -boot d -vnc:1,密码-usbdevice tablet -monitor tcp:127.0.0.1:40000,服务器
您可以使用qemu显示器更改VNC密码。