我在 QEMU/KVM 中使用virt-managerGUI运行一些 Ubuntu VM 。不过,我真正想念 VirtualBox 的一件事是能够安装“Guest Additions”,这将允许共享剪贴板以及将文件从主机拖放到来宾以及反之亦然的能力(尽管人们可以选择它是否会只需以一种或两种方式工作)。
QEMU/KVM 有类似的东西吗?我正在运行 Ubuntu GNOME 16.04.1,以 GNOME 3.20 作为主机和类似的 VM。
Ubuntu Server 14.04 主机通过 libvirt/qemu-kvm 托管 Ubuntu Server 14.04 来宾。系统运行良好,但是 - 作为访客 - 我在写入共享文件夹 ( <filesystem>) 时遇到问题,这让我发疯。两台机器都是相对的香草安装。
我像这样附加了给定的文件夹:
[host] $ virsh edit guest-vm-name
# ...
<filesystem type='mount' accessmode='mapped'>
<source dir='/data'/>
<target dir='/data'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</filesystem>
# ...
Run Code Online (Sandbox Code Playgroud)
从来宾我挂载文件系统如下:
[guest] $ sudo -u www-data mkdir /tmp/mnt
[guest] $ sudo mount -t 9p -otrans=virtio,rw,version=9p2000.L /data /tmp/mnt
Run Code Online (Sandbox Code Playgroud)
我使用www-data用户,因为它稍后将成为有效用户,如果使用 p9,则组和用户 ID 必须匹配,afaiu。这也意味着在主机上,/data(这是 ext4 分区,RAID 上的 LVM)看起来像
[host] $ ls -lha /data
[host] $ drwxrwxr-x 4 www-data www-data …Run Code Online (Sandbox Code Playgroud) 我使用的是 Ryzen 处理器,因此,有人告诉我我需要使用 QEMU 3.0 来安装 SMT 补丁。
问题是我似乎根本找不到在 Ubuntu 18.04 LTS 上安装它的任何方法。显然,它不在存储库中;但是,也没有其他 PPA 或类似的东西。
在安装 Ubuntu 11.10 并将我在 Ubuntu 11.04 上创建的 KVM 映像复制到新系统后,我注意到 Virt-manager 说它使用的是 QEMU 而不是 KVM。运行时virsh version也说Running hypervisor: QEMU 0.14.1.
但是,当我运行kvm-ok它时,它说INFO: /dev/kvm exists和KVM acceleration can be used。此外,我的 VM 的 XML 文件明确指出它应该使用 KVM: <domain type='kvm'>
<emulator>/usr/bin/kvm</emulator>.
此外,lsmod |grep kvm显示以下内容(当 VM 运行时):
kvm_intel 61643 3
kvm 383822 1 kvm_intel
Run Code Online (Sandbox Code Playgroud)
那么我如何知道是否正在使用 KVM 或 QEMU?为什么我会得到这些不同命令的如此矛盾的输出?
我正在尝试使用 QEMU 模拟 ARM 架构。我的主机操作系统是 ubuntu 16.04,模拟机内的来宾操作系统也是 ubuntu 16.04。以下是我正在关注的教程:
sudo apt-get install qemu-system-arm qemu-efi
dd if=/dev/zero of=flash0.img bs=1M count=64
dd if=/usr/share/qemu-efi/QEMU_EFI.fd of=flash0.img conv=notrunc
dd if=/dev/zero of=flash1.img bs=1M count=64
sudo qemu-system-arm -m 1024 -cpu cortex-a57 -M virt -nographic -pflash flash0.img -pflash flash1.img -drive if=none,file=xenial-server-cloudimg-arm64-uefi1.img,id=hd0 -device virtio-blk-device,drive=hd0 -netdev type=tap,id=net0 -device virtio-net-device,netdev=net0,mac=$randmac
Run Code Online (Sandbox Code Playgroud)
这给了我以下错误:
WARNING: Image format was not specified for 'flash0.img' and probing guessed raw.
Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
Specify …Run Code Online (Sandbox Code Playgroud) 我找到了一个指南,告诉我执行以下操作以使 GPU 在 20.04 上通过
apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager ovmf
Run Code Online (Sandbox Code Playgroud)
lspci -nn回报
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104 [GeForce RTX 3060 Ti Lite Hash Rate] [10de:2489] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation GA104 High Definition Audio Controller [10de:228b] (rev a1)
Run Code Online (Sandbox Code Playgroud)
/etc/默认/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_iommu=on kvm.ignore_msrs=1 vfio-pci.ids=10de:2489,10de:228b"
Run Code Online (Sandbox Code Playgroud)
然后
update-grub
Run Code Online (Sandbox Code Playgroud)
然而,当我重新启动时,我看到一个纯黑的屏幕。22.04 的过程是否有所不同?CPU是i9-12900k
当我尝试使用以下方法启动虚拟机时:
qemu-system-x86_64 -m 1024 -cdrom /host/iso/ubuntu-13.10-desktop-amd64.iso -name mac -hda ~/ubuntu
Run Code Online (Sandbox Code Playgroud)
在安装开始后(在我选择语言之前),我得到一个黑屏。我尝试nomodeset在“其他选项”中进行设置,但这并没有解决问题。
但是,使用相同的 ISO,我可以使用 Virtual Machine Manager 启动 VM。我需要为qemu-system-x86_64我的一个项目启动 VM 。
请让我知道如何解决这个问题。
我目前正在切换到 Virt-Manager (QEMU/KVM) 并放弃 VirtualBox(因为它很慢),但我发现 Virt-Manager 很难配置。在VBox和VMware中,您所要做的就是安装来宾添加项,然后一切都会正常工作,包括显示、文件夹共享等。
我想要一台 Windows 客户机(7 或 10),至少具有可用的网络、显示驱动程序和文件夹共享。设置文件系统直通似乎在 Windows 客户机中不起作用(而且我也厌倦了尝试Samba工作)。
创建具有工作显示和共享功能的 Windows 来宾的正确方法是什么?也许我错过了一些依赖项或 Virt-Manager 特定设置?
我遵循的“如何做”指南:
我尝试了nautilus-share、 和手动/etc/samba/smb.conf配置,并尝试使用 来安装来宾操作系统中的文件夹\\IP.ADDRESS\SHARED_FOLDER,但没有任何效果。
遗憾的是,Windows 客户机不支持 3D 加速...我想我现在就坚持使用 VirtualBox/VMware...
为了供将来参考,这里是我在基于 Ubuntu 的 18.04 LTS(特别是 Pop! OS 18.04)上完全正常工作的网络、显示和文件夹共享 QEMU/KVM 设置。最初,我使用安装了 KVM 的 Android 模拟器进行开发。因此,我决定从 VBox 和 VMware 切换到 Virt-Manager 进行操作系统测试,主要是针对我在 Windows 中使用的软件,因为它也针对基于内核的虚拟机并且速度更快。
1.安装并验证KVM:
$ sudo apt …Run Code Online (Sandbox Code Playgroud) Gnome 开发人员Felipe Borges去年谈到了 gnome-box 中的新功能,该功能允许简单的 PCI GPU 直通到虚拟机。
但是,我找不到有关 gnome 文档的任何信息,也找不到使用 Boxes 新 GPU 直通功能的人的示例。看来需求会很强烈。我缺少一个简单的 2021 年指南吗?
我有一台配备 Nvidia 混合显卡的笔记本电脑,需要用于 Fusion360 的 Windows VM。
我通过了 gnome-boxes --checks 虚拟化
我右键单击 gnome-boxes 以启动选择“使用专用 GPU”
我的虚拟机启动没有问题,但 Nvidia 驱动程序工具看不到该卡。
我是否需要使用 grub 来设置内核标志或进入 virt-manager 以使 Boxes 在我的场景中使用直通功能,还是应该开箱即用?
关于设置虚拟机有很多不同的信息,但我不知道从哪里开始。我的基本问题是:
如何在我正在运行的无头机器上虚拟部署 Web 服务器(包含一组独特的用户)?
使我的特定系统独一无二的事情(即让我很难通过谷歌找到信息):
大多数教程/方法都假定有线连接和/或 GUI。
libvirt,qemu和kvm。我还看过许多使用ubuntu-vm-builder或的教程qemu-img。我只是不确定从哪里开始。我不确定如何考虑整个堆栈:我认为它看起来像这样:libvirt--controls--> qemu--controls--> kvm。但我不确定。qemu*和libvirt*包。qemu-system-x86_64 ubuntu-server-12.04.iso使用下载的服务器 ISO运行。这没有用。qemu-img吗?还是第一步开始于ubuntu-vm-builder?/etc/network/interfaces. 我使用 wlan0 作为我的主要网络接口,所以我有点尝试弄乱它,因为我看过的所有教程都假设我使用的是 eth0。qemu-img。我应该使用哪个?这个问题有很多问题。抱歉,我最关心的问题在开头。我的偏好是不必安装 Xen 或使用 Virtual Box。