VMware 17 建立的Ubuntu22.04虚拟机与主机使用共享文件夹时不能挂载文件夹的解决办法

系统配置:主机为Win11,虚拟机为Ubuntu22.04 64位。

一、问题描述

        使用VMware 17创建的Ubuntu虚拟机(22.04)与主机不能正常使用共享文件夹,无法挂载文件夹。网上有很多教程都有谈及如何启用共享文件夹,诸如:

它们的步骤基本一样,总结一下。主机与虚拟机实现共享文件功能的基本步骤如下:

1. 主机上创建共享文件夹

2. 在VMware 软件上启用虚拟机的共享文件夹,并添加步骤1中创建的文件夹。

3. 虚拟机上挂载共享文件夹。打开终端输入以下命令,将创建的共享文件夹挂载到'/mnt/hgfs' 目录下。

sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other

但按照上述步骤后,对应目录 ‘/mnt/hgfs’ 下并没有出现对应的共享文件夹,没能挂载创建的共享文件夹。

二、解决办法

        值得一提的是,我在安装VMware Tools时,提示无法确定 vmhgfs 的安装状态。而 vmhgfs 是 VMware 提供的一个内核模块,用于在 VMware 虚拟机与其宿主机之间实现文件系统的共享。全称是 "VMware Host-Guest File System",它允许虚拟机内的操作系统访问宿主机上的文件夹,从而实现数据的双向共享。

The VMware Host-Guest Filesystem allows for shared folders between the host OS 
and the guest OS in a Fusion or Workstation virtual environment.  Do you wish 
to enable this feature? [yes] yes

INPUT: [yes]

The installation status of vmhgfs could not be determined. 
Skippinginstallation.

于是,打开终端,输入以下命令来查看 vmhgfs 是否作为内核模块加载:

lsmod | grep vmhgfs

如果 vmhgfs 模块已经加载,会看到有关该模块的信息。如果没有输出,则说明 vmhgfs 没有被加载。果然,输入后终端没有输入。

经查,发现VMware实现共享文件夹的原理有两种:

  • 内核模块: vmhgfs 作为一个内核模块被加载到虚拟机的操作系统中。在早期版本的 VMware Tools 中,它是通过内核模块的形式提供的。

  • FUSE 实现: 在较新的 open-vm-tools 版本中,共享文件夹的功能通常是由 vmhgfs-fuse 提供的,这是一个基于 FUSE (Filesystem in Userspace) 的实现。这意味着共享文件夹的功能是在用户空间而非内核空间实现的,这样可以提高兼容性和减少内核级别的依赖。

然后就是关键的来了,看前面主机与虚拟机实现共享文件功能的基本步骤中第三步的指令,它就是用的 FUSE !。于是果断安装 open-vm-tools 。

sudo apt-get update
sudo apt-get install open-vm-tools open-vm-tools-desktop

哈哈,于是兴高采烈地输入挂载指令。这下肯定没问题了吧,直接拿捏。

但事与愿违,查看 ‘/mnt/hgfs’ 目录下还是没有共享文件夹!可恶,小丑竟是我自己。那这是怎么回事!我已经装了open-vm-tools,怎么还是不行,这怎么办。于是我又去找原因,发现,Ubuntu22.04默认安装的是fuse3,它会与fuse冲突。那这意味着我装的Ubuntu虚拟机没有fuse!于是我马上使用命令,果断安装fuse(会先卸载fuse3,然后安装fuse):

sudo apt-get install fuse

然后再输入挂载指令

sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other

或者简单点输入下面的指令也是可以的,都是将创建的共享文件夹挂载到'/mnt/hgfs' 目录下。

sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other

 哦耶,大功告成,成功显示共享文件夹!

!注意,卸载fuse3可能会影响默认桌面的功能。详见https://askubuntu.com/questions/1409496/how-to-safely-install-fuse-on-ubuntu-22-04

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值