标签: virt-manager

使用 virt-manager 在 Linux 主机和 Windows 来宾之间共享文件?

是否可以使用 virt-manager 中的“Filesystem Passthrough”虚拟硬件选项与我的 Windows 来宾共享 Linux 主机上的文件夹?我找到了一些关于如何使用 Linux 客户机执行此操作的教程,但是当我使用 Windows 客户机尝试此操作时,我在尝试启动 VM 时收到以下错误消息:

Error starting domain: Unable to read from monitor: Connection reset by peer

Traceback (most recent call last):   File "/usr/share/virt-manager/virtManager/asyncjob.py", line 100, in cb_wrapper
    callback(asyncjob, *args, **kwargs)   File "/usr/share/virt-manager/virtManager/asyncjob.py", line 122, in tmpcb
    callback(*args, **kwargs)   File "/usr/share/virt-manager/virtManager/domain.py", line 1210, in startup
    self._backend.create()   File "/usr/lib64/python2.7/site-packages/libvirt.py", line 698, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: Unable to read from monitor: Connection reset by peer …
Run Code Online (Sandbox Code Playgroud)

kvm file-sharing virt-manager

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

virt-manager 在哪里存储配置文件?

我检查~/.libvirt*~/.config/libvirt*非人似乎包含创建的VM,存储在config其中的配置文件?我没有以 root 用户身份运行 virt-manager。

virt-manager

36
推荐指数
3
解决办法
8万
查看次数

virt-manager 复制粘贴功能到虚拟机

任何人都知道如何让虚拟管理器将复制粘贴功能安装到虚拟机?

在谷歌上找不到任何东西。

vnc clipboard virtualization virt-manager

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

如何将文件存储在挂载的共享文件夹中?

我在 Ubuntu 主机上运行 Fedora Workstation 虚拟机。
/home/cl/share在来宾中创建了一个文件夹,并/media/cl/system/virtual/share按照linux-kvm的说明以 root身份安装了共享文件夹:

mount -t 9p -o trans=virtio,version=9p2000.L /host /home/cl/share
Run Code Online (Sandbox Code Playgroud)

我可以访问(读取)共享文件夹中的文件和文件夹,但我无法写入它们。

一个例子:我试图将文件保存到文件mount-share.txt/home/cl/share.

两个文件夹(主机和来宾)都具有读写权限,但我收到错误

Error opening file '/home/cl/share/mount-share.txt': Operation not permitted.
Run Code Online (Sandbox Code Playgroud)
  • 主机操作系统:Ubuntu 15.10 桌面 64 位
  • 来宾操作系统:Fedora 23 工作站 64 位
  • 虚拟化软件: qemu qemu-kvm virt-manager
  • 主机系统位置:第一个内置 SSD - ext4 格式
  • 虚拟存储位置:第二个内置硬盘 - NTFS 格式
  • 共享文件夹位置:第二个内置硬盘 - NTFS 格式

虚拟管理器

如何在来宾和主机之间共享目录并允许来宾读写访问?

sudo chmod a+x /media/clsudo chmod -R 777 /media没有改变这种情况。

访客系统:

ls -la /home/cl/share  
total 16 …
Run Code Online (Sandbox Code Playgroud)

kvm qemu virt-manager

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

virt-manager - 安装后更改固件

virt-manager使用 BIOS 作为固件的默认选项。在安装之前、设置卷之后,可以选择将其更改为 UEFI。

前

但是,安装后,用于更改固件的下拉菜单消失了。

后

已安装的系统仅使用 启动UEFI,而不使用 启动BIOS。安装过程很繁琐,如果可能的话,我希望避免再次执行此操作。

有没有办法将固件转换为 UEFI,同时保持系统(磁盘)内容完整?

linux kvm virt-manager

16
推荐指数
2
解决办法
3万
查看次数

创建快照时出错:不支持操作:不支持具有基于 pflash 的固件的 VM 的内部快照

我正在使用 Arch Linux,无论是主机还是访客。对于 UEFI 启动,我已安装edk2-ovmf并让访客使用固件/usr/share/edk2-ovmf/x64/OVMF_CODE.fd。我想创建虚拟机的快照,但收到错误:

Error creating snapshot: Operation not supported: internal snapshots of a VM with pflash based firmware are not supported

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 65, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/details/snapshots.py", line 237, in _do_create_snapshot
    self.vm.create_snapshot(xml)
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 1124, in create_snapshot
    self._backend.snapshotCreateXML(xml, flags)
  File "/usr/lib/python3.9/site-packages/libvirt.py", line 3059, in snapshotCreateXML
    raise libvirtError('virDomainSnapshotCreateXML() failed')
libvirt.libvirtError: Operation not supported: internal snapshots of a VM with pflash based firmware are not …
Run Code Online (Sandbox Code Playgroud)

arch-linux snapshot virt-manager libvirt

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

Virtual Machine Manager 希望在 Wayland 上一次又一次地禁止快捷方式

我最近用 Fedora 27 重新安装了我的工作站,自从这样做以来,virt-manager 一直在做一件奇怪的事情。

每次打开 VM 控制台,然后将鼠标移入窗口时,都会出现一个对话框,询问我:

虚拟机管理器想禁止快捷方式

您可以通过按 Super+Escape 恢复快捷方式。

虚拟管理器截图

我是否单击拒绝或允许似乎并不重要。在任何一种情况下,诸如Ctrl+ 之W类的按键都由 virt-manager 处理,而不是发送到 VM。在这种情况下,例如,不是删除我正在编辑的行上的单词,而是关闭窗口。

在重新安装我的机器(也是在 Fedora 27 上)之前,我从未看到过这个对话框。

我记得对 virt-manager 所做的唯一更改是添加 PolicyKit 规则,以允许我的用户无需密码即可管理系统虚拟机

# cat /etc/polkit-1/rules.d/51-org.libvirt.unix.manage.rules 
polkit.addRule(function(action, subject) {
        if (action.id == "org.libvirt.unix.manage" &&
            subject.user == "error") {
                return polkit.Result.YES;
                polkit.log("action=" + action);
                polkit.log("subject=" + subject);
        }
});
Run Code Online (Sandbox Code Playgroud)

这些是我现在拥有的软件包版本:

# rpm -q libvirt-daemon virt-manager
libvirt-daemon-3.7.0-3.fc27.x86_64
virt-manager-1.4.3-2.fc27.noarch
Run Code Online (Sandbox Code Playgroud)

另一个区别是现在我在 Wayland 上,而在我使用 X 之前。当我使用“Gnome on Xorg”登录时,问题就消失了。

如何防止这个无用的对话框出现在 Wayland 下,并将诸如Ctrl+ 之类的命令键W发送到 …

fedora wayland virt-manager

10
推荐指数
1
解决办法
3286
查看次数

在主机和来宾共享的目录中设置 libvirt/virt-manager 的 umask 以获得适当的权限

我正在尝试创建一个对 virt-manager/libvirt/QEMU/KVM 虚拟机的主机和来宾系统完全可用的目录,对两个系统的非 root 用户都具有读、写和执行权限。两个操作系统都是 Debian - 主机是 Wheezy,客人是 Jessie。我基本上是成功的,只有一个例外 - 在来宾操作系统和共享目录中创建的文件对主机系统上的非 root 用户是不可用的。

我遇到的问题是,在来宾操作系统的共享目录中创建新文件时,virt-manager/libvirt 创建它们的权限设置为 700(所有者的完全访问权限 - 在这种情况下,用户名为libvirt-qemu,以及对任何其他用户或组没有任何权限)。本质上,这相当于 libvirt-qemu 用户的会话 umask 被设置为 077。这使得主机的非 root 用户无法访问这些文件。

我试图实施的解决方案是让libvirt-qemu主机操作系统上的用户和相关其他用户都属于一个名为 的附加新辅助用户组vmshares,并拥有该组拥有的共享目录vmshares,并设置 SGID让它的所有内容也归所有人所有vmshares- 这应该完成我想要的。但是,当我需要使用 007 时,我似乎无法让 virt-manager 在主机共享目录中使用除 077 以外的任何 umask 创建新文件,以便这些文件也向vmshares组成员授予完全权限。

我尝试使用以下内容创建一个新文件 /etc/pam.d/libvirt 来为 libvirt-qemu 用户实现 umask 策略:

libvirtd session requisite pam_umask.so umask=0007

我还尝试.profile使用以下行在 /var/lib/libvirt/ 中创建一个文件:

umask 007

我还尝试在 /etc/init.d/libvirt-bin 中 libvirt-bin init 脚本的顶部附近添加该行。

virt-manager/libvirt 似乎完全忽略了所有这些。

请问,我怎样才能实现在主机和来宾系统上都拥有一个完全可用的共享目录的目标?

linux permissions virtual-machine umask virt-manager

8
推荐指数
1
解决办法
1119
查看次数

更改 libvirt 模拟器:权限被拒绝

我正在尝试使用我使用教程编译的 Qemu 二进制文件,因为与我的操作系统 Debian 一起打包的 Qemu 版本似乎不支持 Spice 的 OpenGL 加速。成功编译后,我尝试将 <emulator> 标记设置为 /usr/local/bin 中新 Qemu 可执行文件的路径,但收到以下错误:

error: internal error: Failed to probe QEMU binary with QMP: libvirt: error : cannot execute binary /usr/local/bin/qemu-2.12.1/x86_64-softmmu/qemu-system-x86_64: Permission denied

我的 virsh 编辑配置文件的“模拟器”部分如下:

<emulator>/usr/bin/kvm</emulator>

我尝试过更改文件的权限和所有权,确保允许执行 ( chmod a+x),但似乎都不起作用。

如果还有其他方式使用Qemu的OpenGL加速功能,请告诉我。

我目前正在使用 Debian Stretch,以及来自“测试”存储库的 virt-manager、libvirt-daemon 和 qemu-kvm,在 Intel Core i5-8400 上使用集成 GPU。我已经编译了 Qemu,因此可以通过“libvirglrenderer”使用 OpenGL 3D 加速功能。

kvm qemu virt-manager libvirt

7
推荐指数
1
解决办法
9035
查看次数

使用 kvm 创建 VM。错误:找不到单元 libvirtd.service?

太长了;
在 Ubuntu 20.04.1 上,我尝试使用 KVM 运行 VM。安装所需的软件包后,我仍然收到以下错误:

sudo systemctl status libvirtd
Unit libvirtd.service could not be found.  
Run Code Online (Sandbox Code Playgroud)

以下是我所做的 -
a) 检查 kvm 支持

$ sudo kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
Run Code Online (Sandbox Code Playgroud)

b) 安装所需的包

$ sudo apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager
Run Code Online (Sandbox Code Playgroud)

现在,上面应该是一切,我必须能够打开 virt-manager gui 并开始,并且 libvertd 服务应该已经启动。但是,我的机器上仍然没有运行 libvirtd 服务,并且没有安装 libvirtd.service 单元。

显然,virt-manager 无法连接到 demo,因此出现以下错误 - 执行后$ sudo virt-manager--> virt-manager GUI 以 root 权限启动。
在此输入图像描述
窗户上清楚地写着——

libvirtd 服务似乎未安装。安装并运行 libvirtd 服务来管理该主机上的虚拟化。

显然,创建虚拟机是不可行的,下面是尝试创建虚拟机时出现的错误。
在此输入图像描述

参考 - …

kvm virtual-machine linux-kernel virt-manager libvirt

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