在 VMware Fusion 中实现与 Linux 虚拟机的文件共享

准备工作,安装 VMware Tools

在开始配置共享之前,我们需要确保环境准备就绪,已经在 VMware Fusion 中安装好一个 Linux 发行版。

接下来需要在 Linux 虚拟中安装 VMware Tools

你可以把 VMware Tools 理解为是连接 macOS 宿主机和 Linux 虚拟机的“桥梁”或“驱动程序”。像虚拟机屏幕分辨率自适应、鼠标无缝切换、剪贴板共享,以及我们本次的目标文件夹共享,都完全依赖于它。

对于大多数的 Linux 发行版,官方和社区共同维护了一个开源实现,叫做 open-vm-tools,它已经预置在大多数 Linux 发行版的软件源中,安装起来非常方便。

open-vm-tools 主要由以下几个软件包组成:

  • open-vm-tools: 这是核心包,提供了最基础的功能,如虚拟机时钟同步、与宿主机的电源操作(正常关机)、心跳检测,以及最重要的,它包含了实现文件夹共享所必需的组件。
  • open-vm-tools-desktop: 它在核心包的基础上,增加了改善图形化交互体验的功能,例如剪贴板复制粘贴、窗口大小自适应等。
  • open-vm-tools-devel 和 open-vm-tools-debuginfo: 这两个包分别用于二次开发和调试,普通用户完全不需要关心。

了解了这些,我们的目标就非常明确了。在虚拟机的命令行终端执行以下命令:

1
2
3
4
5
6
# Ubuntu
sudo apt update
sudo apt install open-vm-tools

# RHEL
sudo yum install open-vm-tools

安装完成后,重启虚拟机,确保所有服务都能正常加载。下一步,我们就去 VMware Fusion 中开启文件共享功能。

在 VMware Fusion 中配置共享

先将 Linux 虚拟机关机,然后进入虚拟机的设置面板,点击“共享”图标,勾选 “启用共享文件夹” 这个复选框,接着,点击下方的 + 号按钮,准备添加一个具体的共享目录。

启用共享文件夹

确保“启用”是勾选状态,并且权限设置为“读与写”,这样你才能在 Linux 中创建和修改文件。

关闭配置,启动虚拟机,接下来需要在 Linux 中完成共享目录的挂载,就可以访问共享文件夹了。

在 Linux 虚拟机中访问和挂载

在最新版的 open-vm-tools 的支持下,VMware 的共享文件夹通常会被自动挂载到一个系统级的公共目录:/mnt/hgfs (Host-Guest File System)。

我们可以先验证一下。打开终端,运行:

1
ls /mnt/hgfs

如果能看到你在上一步设置的共享名(如 linux),那么恭喜你,已经成功了!

手工挂载

有时 /mnt/hgfs 目录是空的,这可能是因为权限或 FUSE 服务问题。解决方法是使用 vmhgfs-fuse 命令手动挂载。

1
2
3
4
5
6
# .host:/ 是一个特殊地址,代表所有已启用的共享
# /mnt/hgfs 是挂载点
# -o allow_other  允许其他用户(包括你自己)访问,非常重要!
# -o uid=$(id -u)  将文件所有者设置为当前登录的用户
# -o gid=$(id -g)  将文件所属组设置为当前登录的用户
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=$(id -u) -o gid=$(id -g)

现在 /mnt/hgfs 目录下就可以看到共享的文件了。

不过,/mnt/hgfs/linux 这个路径太深,不方便日常使用,我们想将共享目录挂载在用户主目录下的 ~/works 目录中。

首先在用户主目录下创建 works 目录作为挂载的目标。

1
mkdir ~/works

然后同样使用 vmhgfs-fuse 工具来执行挂载。

1
sudo vmhgfs-fuse .host:/ ~/works -o allow_other -o uid=$(id -u) -o gid=$(id -g)

现在,来验证一下命令效果:

1
ls ~/works

你应该能看到 linux 目录。再进一步查看:

1
ls ~/works/linux

此刻,你看到的就是 macOS 宿主机上那个共享文件夹里的所有内容了!

然而手动挂载是临时的,一旦你重启虚拟机,挂载就会失效。要实现一劳永逸,请看下一步。

实现开机自动挂载

为了避免每次重启都要手动敲一遍命令,我们需要将挂载信息写入 /etc/fstab 文件中。

在 fstab 中,我们不能使用 $(id -u) 这样的命令。需要把用户 ID 和组 ID 的具体数字写进去。运行以下命令查看:

1
2
id
# 你会看到类似 uid=1000(ubuntu) gid=1000(ubuntu) ... 的输出

通常,第一个创建的用户的 UID 和 GID 都是 1000。请记下你自己的这两个数字。

使用你熟悉的编辑器打开 /etc/fstab

1
sudo vi /etc/fstab

在文件的末尾,添加下面这一行。请注意,你需要将 /home/ubuntu/works 替换成你的实际路径,并将 uid=1000,gid=1000 替换成你自己的 ID。

1
.host:/ /home/ubuntu/works fuse.vmhgfs-fuse defaults,allow_other,uid=1000,gid=1000 0 0

以后每次启动 Linux 虚拟机,VMware 的共享文件夹都会自动出现在 ~/works 目录下,方便随时访问。

https://www.mahaoliang.tech/p/%E4%B8%80%E6%AD%A5%E6%AD%A5%E6%95%99%E4%BD%A0%E5%9C%A8-vmware-fusion-%E4%B8%AD%E5%AE%9E%E7%8E%B0%E4%B8%8E-linux-%E8%99%9A%E6%8B%9F%E6%9C%BA%E7%9A%84%E6%96%87%E4%BB%B6%E5%85%B1%E4%BA%AB/

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/318558.html

(0)
上一篇 4小时前
下一篇 1小时前

相关推荐

发表回复

登录后才能评论