如今,操作系统虚拟化已司空见惯,无论是用于软件测试、隔离工作环境,还是仅仅为了在不影响主系统的情况下探索其他平台。虽然虚拟化让事情变得更简单,但一个问题始终存在:如何在物理机和虚拟机之间高效地交换文件?如果您使用 VMware,很可能遇到过在主机系统和虚拟机之间共享文件夹和数据的经典难题。
本文将一步步指导您如何在 VMware 中实现主机操作系统与虚拟机之间共享文件夹和文件。从简单的共享文件夹和剪贴板传输,到更高级的技术方案,例如SSH、SCP,甚至 USB 和 NFS 存储,应有尽有。助您充分利用虚拟环境,避免浪费时间或陷入无效的实验中。
VMware 中的文件夹和文件共享概述
VMware 提供多种工具,可将主机与虚拟化环境(客户机)连接起来,让您可以根据需要轻松或使用高级功能传输文件和数据。其中最强大的功能是共享文件夹,但这并非唯一选择:您还可以使用拖放、剪贴板共享、外部存储、网络连接以及特定命令等功能。
在开始讨论之前,必须先区分一些概念:
- 主持人: 您的物理计算机,即运行 VMware 的计算机。
- 客人: 在虚拟机内部运行的操作系统,除非您另有决定,否则与主机完全隔离。
- VMware 工具: 一组充当主机和客户机之间桥梁的实用程序,对于许多功能的顺利运行至关重要。
现在,准备好探索在 VMware 中于虚拟化系统和主机之间共享文件夹和文件的所有方法吧。我们已经涵盖了所有内容!
VMware 中的共享文件夹:完整配置和操作

在物理机和虚拟机之间共享文件,最常用、最实用、最安全的方法是通过VMware 共享文件夹。VMware Workstation(Pro 和 Player 版本)以及 macOS 版 Fusion 都支持此功能。所有现代版本的操作流程都非常相似。
首先要确保你满足一些基本前提条件:
- 已安装版本 VMware Workstation Pro、Player 或 Fusion.
- 必须安装并运行 VMware Tools 在虚拟机中,因为它是使共享成为可能的引擎。
- 虚拟机必须 已配置并可运行,最好在修改其选项之前将其关闭。
创建共享文件夹的详细步骤:
- 打开 VMware Workstation 或 Fusion 并从列表中选择有问题的虚拟机。
- 如果虚拟机处于打开状态,请将其关闭,以便正确应用更改。
- 点击菜单 虚拟机 > 设置 (或与您的版本等效的版本)。
- 转到标签 可选项 并选择 共享文件夹 (共享文件夹)。
- 激活选项 始终启用 (始终开启)并按下 添加 添加您想要共享的新文件夹。
- 选择主机上您想要链接的文件夹。如果愿意,您可以更改它在虚拟机中显示的名称。
- 选择是否要将文件夹 只读 或具有写权限。勾选复选框 启用这一份额.
- 确认 完成 并保存更改。
完成!启动虚拟机后,您的文件夹即可使用。在Windows 系统中,您可以在文件资源管理器的“\\vmware-host\Shared Folders\”目录下找到它。在Linux 系统中,如果配置正确,它通常会挂载在“/mnt/hgfs”目录下。如果没有,我稍后会解释如何手动挂载。
这种方法的主要优点:无需开放网络端口,完全掌控权限,并且可以轻松共享多个文件夹。此外,访问速度通常也很快。
如何在 Windows 和 Linux 中访问和挂载共享文件夹
实际上,访问共享文件夹的方式因客户操作系统而异:
在 Windows 上(虚拟机内):
- 打开 文件浏览器 并导航至 网络 > VMware 主机 > 共享文件夹.
- 您可以将文件夹映射为网络驱动器以便更快地访问:右键单击该文件夹,选择“映射为网络驱动器”,然后将其映射到一个空闲字母(例如,Z:)。
- 从这里您可以复制、粘贴和删除文件,就像本地文件夹一样。
在 Linux 上(虚拟机内):
- 默认情况下,如果你有 打开虚拟机工具 y 打开虚拟机工具桌面 安装后,文件夹将安装在 /mnt/hgfs.
- 如果它们没有出现,请安装软件包(在 Ubuntu/Debian 上):
sudo apt install open-vm-tools open-vm-tools-desktop - 您可以使用以下命令检查哪些文件夹可用:
vmware-hgfsclient - 如果您还没有看到它们,请手动创建目录并像这样挂载它:
sudo mkdir /mnt/hgfs
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other,uid=1000 - 要在启动时安装它,请将相应的行添加到
/etc/fstab: .host:/ /mnt/hgfs fuse.vmhgfs-fuse defaults,allow_other,uid=1000,nonempty 0 0
注意用户权限! 如果您希望所有用户都有访问权限,请确保在选项中使用正确的参数 allow_other y uid mount 命令。
文件共享替代方案:剪贴板、拖放和 USB 设备
除了共享文件夹之外,VMware 还提供了其他用于快速传输文件的实用选项:
共享剪贴板和拖放
安装 VMware Tools 并启用客户机隔离后,您可以在主机和虚拟机之间复制和粘贴文本(有时甚至是整个文件)。要启用这些功能:
- 关闭虚拟机后,转到 选项 > 访客隔离 在您的设置中。
- 选中“启用拖放”和“启用复制和粘贴”复选框。
- 保存更改,启动虚拟机,然后尝试复制文件或文本 - 两种方式都应该有效。
重要限制:在 VMware ESXi 中,拖放功能仅适用于文本,不适用于文件,并且通常出于安全原因而被禁用(您必须在 .vmx 文件中或从 ESXi 的高级 VM 设置中启用特殊参数)。
使用 USB 设备和外部存储
共享文件的另一种快捷方式是将 USB 闪存驱动器或外部硬盘驱动器连接到主机并将其临时分配给 VM:
- 将 USB 设备插入主机。
- 打开 VMware,打开虚拟机电源后,进入菜单 虚拟机 > 可移动设备.
- 选择您的 USB 设备并按 连接(断开与主机的连接)。这样虚拟机将拥有独占访问权限。
- 完成后,如果您需要将其异地使用,请记住将其与虚拟机断开连接并将其重新安装在主机上。
在Linux虚拟机上,您可能需要根据发行版运行相应的命令来手动挂载驱动器。
该方法也与 VMware ESXi 兼容(但对文件格式和驱动程序有一些限制,建议使用 VFAT/FAT32 分区以获得最大兼容性)。
其他形式的传输和共享:命令、网络和共享存储
对于高级用户或有更具体需求的用户,还有其他方法可以在主机和虚拟化系统之间共享文件。以下是一些功能最强大的方法:
PowerCLI 和 vmrun 命令
如果您喜欢自动执行任务或需要批量传输文件, VMware PowerCLI 让你可以访问如下命令 Copy-VMGuestFile:了解如何使用 PowerCLI 复制文件.
- 跑
Connect-VIServer连接到您的 ESXi 或 vCenter 主机。 - 使用
Copy-VMGuestFile -Source "ruta" -LocalToGuest -VM "nombre" ...在本地计算机和虚拟机之间来回复制文件。 - 你也可以使用
Copy-DatastoreItem在您的计算机、数据存储或虚拟机之间移动文件。
使用Workstation/Fusion 中的vmrun,您可以从命令行执行类似的任务,非常适合脚本和重复性流程。
通过网络传输文件:SSH、SCP 和 SMB
如果您的虚拟机和主机在同一个网络上,您可以使用标准网络协议来传输文件。
- SSH/SCP: 非常适合 Linux 或 ESXi。在两端启用 SSH 并使用
scp将文件从一端复制到另一端。例如:
scp archivo.txt usuario@ip:/ruta/destino/ - SMB/CIFS: 在 Windows 中启用共享文件夹,并使用图形环境或命令从 Linux 访问它,反之亦然。
在 ESXi 上,如果您使用 Windows,您还可以使用 WinSCP 通过 SFTP 连接并将文件复制到数据存储区/从数据存储区复制文件。
高级共享:NFS 和数据存储
对于频繁传输或大量数据,您可以使用Linux或 NAS 上的 NFS 服务器,将其挂载为 ESXi 上的数据存储,并将其用作虚拟机和主机之间的“桥梁”:
- 在 Linux 机器上设置 NFS 服务器并共享文件夹。
- 从 ESXi 管理器中,将 NFS 添加为数据存储。
- 从 VM(如果是 Linux)中,将 NFS 共享挂载为本地文件夹,并将文件复制到该目录/从该目录复制文件。
- 从主机访问 NFS 文件夹并将文件传输到需要的位置。
提示:此技术对于拥有大量虚拟机或企业环境的部署尤其有用。
自动挂载失败时在 Linux 上手动挂载共享文件夹
有时,尤其是在使用较新内核的 Linux 发行版上,VMware 共享文件夹不会自动挂载。但不用担心,手动挂载过程很简单:
- 确保 打开虚拟机工具 y 打开虚拟机工具桌面 已安装。
- 如果不存在,则创建挂载目录:
sudo mkdir -p /mnt/hgfs - 使用以下命令挂载文件夹:
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=$(id -u) - 检查您的文件夹是否显示
ls /mnt/hgfs - 如果您希望它自动挂载,请编辑
/etc/fstab并补充道:
.host:/ /mnt/hgfs fuse.vmhgfs-fuse defaults,allow_other,uid=1000,nonempty 0 0
绝招: 如果只想挂载特定文件夹,请在 .host:/,例如: .host:/Documentos /mnt/hgfs fuse.vmhgfs-fuse ...
VMware Workstation Player、Pro 和 Fusion 之间的兼容性和差异
了解您使用的 VMware 版本非常重要,因为并非所有版本都支持相同的共享功能:
- VMware 工作站播放器: 免费用于非商业用途, 不允许共享文件夹 主机和虚拟机之间。是的,您可以使用 USB 设备和网络。
- VMware 工作站专业版: 付款 支持共享文件夹、拖放、剪贴板等。
- VMware 融合: 为 Mac,与 Workstation Pro 类似的选项。
如果您拥有播放器并且需要直接共享,请考虑使用其他方法(USB、网络、云存储等)。
用于文件共享的云解决方案和 Web 应用程序
如果您不想把事情复杂化,或者追求最大的灵活性,那么使用Google Drive、OneDrive 或 Dropbox等云服务是一个不错的选择:
- 在主机和虚拟机上分别安装相应的应用程序。
- 配置您想要同步的文件夹。
- 上传的文件会自动出现在您需要的位置,无需触及 VMware 设置。
另一个实用的选择是使用像 WeTransfer 这样的网络应用程序进行一次性大文件传输:您上传文件,收到链接,然后从另一个系统下载,简单快捷。
系统间共享文件时的安全问题和良好做法
使用共享文件夹或任何传输方式时,请务必保护好您的数据。以下是一些实用技巧:
- 一律使用 只读模式 如果您不需要修改虚拟机中的文件,则适用于共享文件夹。
- 梁 备用 在进行重大更改之前,经常对虚拟机进行例行检查。
- 审查有权访问文件夹的权限和用户,以避免事故或数据泄露。
- 除非绝对必要,否则避免共享敏感文件夹。
- 在企业环境中,遵循建议的安全策略并根据角色限制对共享资源的访问。
另外,如果您的虚拟机运行关键应用程序或您有安全方面的顾虑,请务必禁用复制/粘贴或拖放功能。
对字节世界和一般技术充满热情的作家。我喜欢通过写作分享我的知识,这就是我在这个博客中要做的,向您展示有关小工具、软件、硬件、技术趋势等的所有最有趣的事情。我的目标是帮助您以简单而有趣的方式畅游数字世界。