本人使用虚拟机版本:VMware 16.1.1 build-17801498

CentOS镜像:CentOS-7-x86_64-DVD-2009.iso

Linux内核:Kernel 3.10.0-1160.119.1.el7.x86_64

一、共享文件夹

I、Windows宿主机上创建一个文件夹

目录:D:\Centos_iso\shared_files

II、在VMware中设置共享文件夹

1、打开VMware Workstation

2、选择需要设置的Linux虚拟机,点击“编辑虚拟机设置”。

3、在“选项”标签页中,选择“共享文件夹”。

4、点击“添加”按钮,选择之前创建的文件夹作为共享文件夹,并设置适当的访问权限。

III、在Linux虚拟机中挂载共享文件夹

根据VMware Tools的安装情况,共享文件夹会自动挂载到Linux虚拟机的目录(/mnt/hgfs)下

目录:/mnt/hgfs/shared_files

可能出现的问题:

CentOS重启后,进入mnt/hgfs目录下无挂载的共享文件。

这里需要用到VMware Tools重新手动挂载

首先、确保已安装VMware Tools

 yum install open-vm-tools -y

然后确认虚拟机已安装共享文件夹,但/mnt/hgfs下没有显示

vmware-hgfsclient

执行手动挂载

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

或者

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

或者

vmhgfs-fuse /mnt/hgfs  -o nonempty

vmhgfs-fuse 命令的第一个参数应该是 VMware 提供的特殊路径,用于访问共享文件夹,而不是共享文件夹的名称。

在 VMware 的环境中,这个特殊路径通常是 .host:/,它代表宿主机的根目录(但实际上,对于共享文件夹,不需要指定 .host:/即命令中的.host/写法并不是必需的,因为 vmhgfs-fuse 会自动处理这部分)。

命令不能在/mnt/hgfs目录下执行,否则仍然无结果,因为hgfs本就是挂载点

-o allow_other 选项允许其他用户访问挂载点。

-o nonempty 确保在挂载点非空时不会报错通常用于mount 命令

设置重启自动挂载

编辑etc/fstab文件:vi etc/fstab

将命令到文件中添加:.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other 0 0
此处:参考博文【Linux笔记】etc/fstab文件内容解析-CSDN博客

.host:/表示宿主机的共享文件夹路径。

/mnt/hgfs是虚拟机中用于挂载共享文件夹的目录。

fuse.vmhgfs-fuse是文件系统类型,这里使用vmhgfs-fuse模块通过FUSE挂载VMware的共享文件夹。

allow_other是挂载选项,允许其他用户访问挂载的文件系统。

最后两个字段分别用于dumpfsck的考虑,这里都设置为0,表示不进行备份和文件系统检查。

IV、复制内容到共享文件夹

Windows ->共享文件夹:Ctrl + C/V

Linux ->共享文件夹:

        文件内容复制:参考博文【Linux笔记】如何将内容从一个文件复制到另一个文件-CSDN博客

        整个文件复制:cp 源文件 共享文件夹

        整个文件夹复制:cp -r 源目录 共享文件夹——存在报错如下:暂时还未找到解决方法

cp: cannot create symbolic link 共享文件夹/源目录: Operation not supported

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐