Skip to content

Qemu-Kvm虚拟化使用挂载盘符所出现的问题及解决办法 #12

@cxbl-ops

Description

@cxbl-ops

问题描述

我想要使用qemu-kvm创建Windows虚拟机时,使用挂载的盘(在Windows中为D盘)作为Windwos的安装位置,但是出现了如下报错:

无法完成安装:'Cannot access storage file '/media/vir/qc/win10.qcow2' (as uid:64055, gid:109): 权限不够'
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 72, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/createvm.py", line 2008, in _do_async_install
    installer.start_install(guest, meter=meter)
  File "/usr/share/virt-manager/virtinst/install/installer.py", line 695, in start_install
    domain = self._create_guest(
  File "/usr/share/virt-manager/virtinst/install/installer.py", line 637, in _create_guest
    domain = self.conn.createXML(initial_xml or final_xml, 0)
  File "/usr/lib/python3/dist-packages/libvirt.py", line 4400, in createXML
    raise libvirtError('virDomainCreateXML() failed')
libvirt.libvirtError: Cannot access storage file '/media/vir/qc/win10.qcow2' (as uid:64055, gid:109): 权限不够

问题解决

这是常见的 KVM Libvirt 错误之一。此错误通常在更改 Libvirt 默认存储目录的路径]后发生。

  • 编辑/etc/libvirt/qemu.conf文件:

    sudo nano /etc/libvirt/qemu.conf
    
  • 找到usergroup指令,在对应位置去掉注释后改为如下设置:

    # Some examples of valid values are:
    #
    #       user = "qemu"   # A user named "qemu"
    #       user = "+0"     # Super user (uid=0
    #       user = "100"    # A user named "100" or a user with uid=100
    #
    user = "vir"  #用户名
    # The group for QEMU processes run by the system instance. It can be
    # specified in a similar way to user.
    group = "libvirt" # 用户组
  • 重新启动Libvirt

    systemctl restart libvirtd
    

    至此,问题解决。

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions