标签: kvm

Android-x86_64 安装程序无法在 QEMU/KVM 中启动 - 而是显示 EFI Shell

我下载了Android x86_64 5.1-rc1作为可启动img安装映像。

我想将其安装到使用 QEMU/KVM 和 virt-manager 作为图形前端的 Ubuntu 16.04 64 位 UEFI 上运行的虚拟机。

OVMF 已安装,并且虚拟机管理程序应正确配置,因为带有 UEFI 的 Ubuntu 测试虚拟机(其虚拟磁盘文件和安装程序映像位于同一位置)工作正常。

但是,当我使用下面转储的设置启动新创建的 VM 并将下载的 Android-x86 映像安装到虚拟 CD 驱动器中时,它不会启动,但会显示 EFI Shell:

UEFI 交互式 Shell v2.1 屏幕截图

我在这里做错了什么?如何在 QEMU/KVM 中安装 Android-x86?

$ virsh dumpxml android-x86_64-5.1rc1
<domain type='kvm' id='2'>
  <name>android-x86_64-5.1rc1</name>
  <uuid>599615a7-aaad-499a-84b4-0d894080dd95</uuid>
  <memory unit='KiB'>1048576</memory>
  <currentMemory unit='KiB'>1048576</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-wily'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader>
    <nvram>/var/lib/libvirt/qemu/nvram/android-x86_64-5.1rc1_VARS.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>Broadwell-noTSX</model>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer …
Run Code Online (Sandbox Code Playgroud)

kvm ubuntu android qemu uefi

5
推荐指数
1
解决办法
3046
查看次数

100% CPU 利用率并在 virsh 迁移后挂起

我一直在尝试 ZFS + DRBD + 实时迁移(我想充分理解它,以便在再次开始使用之前编写自己的自动化脚本ganeti,然后是 openstack cinder)。我的 ZFS + DRBD(双主模式)适用于共享存储。

然而,实时迁移只发挥了部分作用。

我有两台主机,具有相同的 libvirt 和 drbd 配置,甚至具有相同的 VM ZVOL 专用“卷”池(均为 2x1TB 镜像池 - 重新使用旧备份池中的一些旧磁盘),以及相同的 VM 配置(名为“d测试”)

  • “indra”是配备 16GB RAM 的 AMD FX-8150,搭载 ASUS Sabertooth 990FX m/b

    • 中央处理器标志:fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor …

kvm zfs migration drbd

5
推荐指数
1
解决办法
1648
查看次数

KVM 来宾内的主机 CPU 温度

我正在尝试使用lm_sensors来检测 KVM 来宾中的主机 CPU 温度。

在主机中,插入x86_pkg_temp_ Thermal 内核模块后,sysfs 接口/sys/class/thermal/thermal_zone*/temp会公开所需的信息。

这是主机上sensors-detect脚本的输出:lm-sensors

$ sudo sensors-detect
# sensors-detect revision 6284 (2015-05-31 14:00:33 +0200)
# System: LENOVO 20C60065TW [ThinkPad Edge E540] (laptop)
# Kernel: 4.8.8-200.fc24.x86_64 x86_64
# Processor: Intel(R) Core(TM) i7-4702MQ CPU @ 2.20GHz (6/60/3)

This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all …
Run Code Online (Sandbox Code Playgroud)

linux kvm virtual-machine temperature

5
推荐指数
1
解决办法
7841
查看次数

系统运行时解除GPU绑定

系统运行时是否可以(任何方法)在显卡之间切换?与禁用的卡绑定到 KVM/QEMU 相比?

我有一个台式机。

我有 2 个 GPU(1 个 Intel HD 4600 和 1 个 NVIDIA GeForce 1060)

我想要使​​用带有 GPU 直通功能的 KVM 来虚拟 Windows 7。

适用于 Linux 的英特尔显卡(主机) 适用于 Windows 7 的 NVIDIA(客机)

我知道我必须为 NVIDIA 设置存根。

我想要主 GPU Intel Graphics,有时使用 Bumblebee (nvidia optimus) 的 NVIDIA 卡。

但问题是我无法将 NVIDIA 卡绑定到虚拟机。系统运行时可以解除驱动绑定吗?我不认为这是问题,因为 X 服务器使用主 iGPU(英特尔显卡,而不是 NVIDIA)

kvm drivers graphics nvidia

5
推荐指数
0
解决办法
546
查看次数

KVM 无法访问存储在外部 HDD 上的 qcow2 图像

我正在运行 Deepin 15.3 x64,并且我有一个带有 EXT4 文件系统的外部硬盘。我在哪里存储诸如虚拟机映像之类的东西。Oracle VM VirtualBox 和 VMware Workstation Player 在此配置下工作得很好,但 KVM 无法从中读取文件。我尝试在整个驱动器上 chown 文件、容器目录甚至 chmod -R 0777 。但KVM仍然抱怨无法访问该目录。不过,KVM 可以在那里创建映像,但映像文件创建后 KVM 将无法访问该文件。是一个视频(如果有不清楚的地方)。请注意,我无法将图像移动到 /var/lib/libvirt/images,因为我的 SSD 上没有足够的空间来容纳它们。

kvm external-hdd qemu disk-image

5
推荐指数
1
解决办法
2万
查看次数

如何配置 AppArmor 以便 KVM 可以启动具有备份文件链的 guest 虚拟机

我正在 Ubuntu 16.04 上尝试使用 Qemu 外部快照进行 KVM(因为它们太快了!),并进行以下设置:

  • VM 的所有文件都位于单个目录中(以来宾名称命名)。
  • 有一个head.qcow2符号链接始终指向顶部“head”qcow2 图像。这样我就不必不断更新虚拟机配置。(维尔什编辑)。
  • 原始/底部图像称为base.qcow2

我使用以下脚本拍摄快照(创建一个新的 qcow2 图像并将其设为头部)。该脚本仅在来宾未运行时执行。

#!/bin/bash
UNIX_TIMESTAMP=$(date +%s)
CURRENT_BACKING_FILE=`readlink head.qcow2`
NEW_HEAD_FILE="`pwd`/`echo $UNIX_TIMESTAMP`.qcow2"

# Create the new "head" disk image where all future changes are made.
sudo qemu-img create \
  -f qcow2 \
  -b $CURRENT_BACKING_FILE \
  $NEW_HEAD_FILE

# Update the symlink
rm head.qcow2
ln -s $NEW_HEAD_FILE head.qcow2
Run Code Online (Sandbox Code Playgroud)

当 head.qcow2 指向 base.qcow2 时,这将正常工作,或者我运行脚本一次,因此只有一个支持文件。但是,如果存在一系列备份文件(例如,一个备份文件也有一个备份文件),那么我将收到以下错误:

error: Failed to start domain template-ubuntu-docker2
error: internal error: early end of file from …
Run Code Online (Sandbox Code Playgroud)

kvm apparmor qemu snapshot

5
推荐指数
1
解决办法
1万
查看次数

QEMU——网桥

我正在使用 QEMU(和 KVM)在 Debian 9 上设置虚拟机。我目前正在尝试使其通过桥接网络工作,我已经使用 等设置了该ip link网络ip tuntap;这是输出brctl show

bridge name     bridge id               STP enabled     interfaces
br0             8000.107b444f55d6       no              enp4s0
                                                        tap0
docker0         8000.0242d4c18983       no
Run Code Online (Sandbox Code Playgroud)

这是输出ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP …
Run Code Online (Sandbox Code Playgroud)

networking kvm bridge qemu

5
推荐指数
1
解决办法
5109
查看次数

如何将物理系统克隆到虚拟机中?

我的电脑上安装了完整的系统。(笔记本电脑上的 Arch Linux)

我需要以安全的方式测试、编辑、调整这个系统(也包括引导加载程序),因为它是我的工作站。

有没有一种方法可以轻松**将当前系统克隆/复制到虚拟机中(我通常使用,gnome-boxes但使用的软件并不重要)


**简单的方法:将物理安装转换为虚拟安装所需的时间少于从头开始安装虚拟机所需的时间


编辑:正如我猜测和@Terence 所说,我需要将整个磁盘复制到某个地方。源磁盘是 256GB SSD,但我没有任何其他足够大的介质来完全克隆它。

有没有办法克隆大约 50GB 的强制分区(在我的例子中: boot/EFI 和 root)和bootloader,而留下剩余的 200GB 其他分区(home 和 swap)?

在这种情况下,我将直接将它们克隆到我的$HOME中!

kvm virtual-machine virtualbox qemu

5
推荐指数
1
解决办法
5200
查看次数

将 libvirt xml 转换为 qemu 命令行

我使用 virt-manager 创建了一个虚拟机,我可以使用 virsh edit 编辑该 xml,但我想问您是否有方法将 libvirt xml 转换为 qemu 命令行。我发现不久前也有人提出了同样的问题:

https://www.reddit.com/r/VFIO/comments/dh9iyo/convert_libvirt_xml_into_qemu_command_line_and/

用户 jkhsjdhjs 说:

要将 libvirt xml 转换为 qemu 命令行,您只需使用 libvirt 启动虚拟机即可。libvirt 将使用大量命令行参数启动 qemu 进程,然后您可以保存这些参数。由于 libvirt 只是启动一个 qemu 进程,因此它们应该执行完全相同的操作。

好吧,但是怎么样?我想了解如何使用 libvirt 启动虚拟机,以便我可以看到 qemu 命令中包含的每个选项。

我尝试过:

virsh dumpxml win10

virsh domxml-to-native qemu-argv win10.xml

error: internal error: invalid PCI passthrough type 'default'
Run Code Online (Sandbox Code Playgroud)

kvm virtual-machine qemu libvirt

5
推荐指数
2
解决办法
1万
查看次数

无法通过虚拟 Tap 接口将 vm 连接到 IPv6 互联网

我无法通过主机上的虚拟 Tap 设备虚拟机连接到 IPv6 互联网。即,我无法 ping ipv6.google.com 或公共 IPv6 主机全局主接口地址。前任:

-bash-4.2$ ping6 ipv6.google.com
    PING ipv6.google.com(sea15s11-in-x0e.1e100.net) 56 data bytes
    From 2600:1f14:680:xxxx:66a3:79d5:6c1d:14c icmp_seq=1 Destination unreachable: Address unreachable
    From 2600:1f14:680:xxxx:66a3:79d5:6c1d:14c icmp_seq=2 Destination unreachable: Address unreachable
    From 2600:1f14:680:xxxx:66a3:79d5:6c1d:14c icmp_seq=3 Destination unreachable: Address unreachable
    ^C
    --- ipv6.google.com ping statistics ---
    4 packets transmitted, 0

 received, +3 errors, 100% packet loss, time 3082ms
Run Code Online (Sandbox Code Playgroud)

或者到主机的全局 ipv6 地址,我得到同样的错误。

简单拓扑:

   router -----(eth0)----- host ----(tap device)---- vm
Run Code Online (Sandbox Code Playgroud)

主机上的邻居发现似乎存在一些问题,当我从主机的 tap 端点对 tap 接口进行 tcpdump 时,我收到了请求消息,但没有返回任何内容:

[user ~]$ …
Run Code Online (Sandbox Code Playgroud)

kvm ipv6 tap virtual-interface amazon-linux

5
推荐指数
1
解决办法
331
查看次数