第 20 章 Sharing files between the host and its virtual machines


You might frequently require to share data between your host system and the virtual machines (VMs) it runs. To do so quickly and efficiently, you can use the virtio file system (virtiofs).

By using the virtio file system (virtiofs), you can share files between your host and your virtual machines (VM) as a directory tree that works the same as the local file system structure.

When using RHEL 10 as your hypervisor, you can efficiently share files between your host system and Windows virtual machines (VM) using the virtiofs feature along with the virtio-win package.

注意

You can run the virtiofs service in case-insensitive mode on a Windows VM using the virtiofs.exe command and the -i parameter.

Prerequisites

Procedure

  1. For each directory on the host that you want to share with your VM, set it as a virtiofs file system in the VM’s XML configuration.

    1. Open the XML configuration of the intended VM.

      # virsh edit vm-name
    2. Add an entry similar to the following to the <devices> section of the VM’s XML configuration.

      <filesystem type='mount' accessmode='passthrough'>
        <driver type='virtiofs'/>
        <binary path='/usr/libexec/virtiofsd' xattr='on'/>
        <source dir='/root/shared-files'/>
        <target dir='host-file-share'/>
      </filesystem>

      This example sets the /root/shared-files directory on the host to be visible as host-file-share to the VM.

  2. Set up shared memory for the VM. To do so, add shared memory backing to the <domain> section of the XML configuration:

    <domain>
     [...]
     <memoryBacking>
       <access mode='shared'/>
     </memoryBacking>
     [...]
    </domain>
  3. Boot up the VM.

    # virsh start vm-name
  4. On your Windows VM, install WinFsp. To do so, mount the virtio-win ISO image, start the winfsp MSI installer, and follow the prompts.

    In the Custom Setup window of the installation wizard, select the features you want to install on the VM.

  5. Start the virtiofs service:

    # sc start VirtioFsSvc
  6. Navigate to This PC:

    File Explorer This PC

    If configured correctly, virtiofs is available on the Windows VM as the first available drive letter starting with Z: and going backwards. For example, my_viofs (Z:).

    重要

    You must restart the virtiofs service after each VM reboot to access the shared directory.

  7. Optional: To set up additional virtiofs instances:

    1. Stop the virtiofs service:

      # sc stop VirtioFsSvc
      # sc config VirtioFsSvc start=demand
    2. Configure the WinFSP.Launcher service to set up multiple virtiofs instances:

      # "C:\Program Files (x86)\WinFsp\bin\fsreg.bat" virtiofs "<path to the binary>\virtiofs.exe" "-t %1 -m %2"
    3. Mount virtiofs instances to drives.

      For example, to mount virtiofs with the tag mount_tag0 to the Y: drive:

      "C:\Program Files (x86)\WinFsp\bin\launchctl-x64.exe" start virtiofs viofsY mount_tag0 Y:
    4. Repeat the previous step to mount all of your virtiofs instances.
    5. To unmount the virtiofs instance:

      "C:\Program Files (x86)\WinFsp\bin\launchctl-x64.exe" stop virtiofs viofsY

Verification

  1. On your Windows VM, navigate to This PC:

    File Explorer This PC

    • If you did not specify a mount point when setting up the virtiofs service, it will use the first available drive letter starting with z: and going backwards.
    • If you have multiple virtiofs instances set up, they will appear as drives with the letters you had assigned to the instances.
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部