我正在尝试使用 KVM 启动我的第一台虚拟机。我安装了 Ubuntu 12.04,我通过运行 kvm-ok 确保 BIOS 为英特尔处理器启用了正确的虚拟化标志。我在谷歌上研究过这个问题,到目前为止我找到的所有说明都已过时。例如,大多数说明都谈到使用以下命令启动虚拟机
为您的虚拟机创建虚拟磁盘:
qemu-img create -f qcow2 foo.img 100G
这将运行 kvm:
kvm --name foo -m 1024 -hda foo.img -cdrom whatever.iso -boot d
此命令行不完整。首先,您需要以 root 身份运行此命令。其次,它缺少视频设备的选项。运行此命令时,您会收到以下错误:
无法初始化 SDL(无可用视频设备)-退出
在 Google 上搜索了这个错误,在 StackOverflow 上查找。该线程中提供的答案在 Ubuntu 12.04 上不起作用。
进一步在 Google 上搜索了这个问题,发现我需要指定一个视频设备,所以我最终运行了以下命令:
sudo kvm --name mymachine -m 8096 -hda myimage.img --cdrom ubuntu.iso -boot d -vga cirruss -k en-us -vmc :0
这是在我创建myimage.img
驱动器上的映像之后。现在此命令不会给我错误,但它只是挂起。
有没有人有关于如何在 Ubuntu 上使用 KVM 运行 VM 的明确说明?
答案1
答案2
针对没有图形的问题,请尝试该-nographic
选项。使用此选项,我能够在 Ubuntu 14.04 主机上启动 Ubuntu snappy 客户机映像。无头主机,通过 SSH 登录。
答案3
这个错误具有误导性:事实上这是因为 qemu 无法连接到您的 X 会话。要以其他用户身份运行 X 程序,您需要保留您的环境:
sudo -E kvm ...
或者使用 xhost,例如
xhost +si:localuser:root
或者将 root 的 XAUTHORITY 环境变量设置为指向您的 $HOME/.Xauthority 文件。
答案4
我强烈建议您避免使用除 qemu 本身之外的任何工具。硬件模拟是 qemu 的责任。默认情况下,它可以处理许多配置选项。在您的情况下,您可以使用改进的 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,password -usbdevice tablet -monitor tcp:127.0.0.1:40000,server
您可以使用 qemu 监视器更改 VNC 密码。