在 Ubuntu 12.04 上使用 KVM 将 Ubuntu 启动为虚拟机

在 Ubuntu 12.04 上使用 KVM 将 Ubuntu 启动为虚拟机

我正在尝试使用 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

正如 Michael Hampton♦ 所说,您可以使用虚拟管理器创建虚拟机。

使用

apt-get 安装 virt-manager

在要安装的主机上,然后你就可以使用 virt-manager 创建新的虚拟机,而且你也不会遇到上述问题虚拟器处理此事。

答案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 密码。

相关内容