自由屋推书网—热门的小说推荐平台!

你的位置: 首页 > 杂谈

VMware下Linux和Win共享文件夹的问题总结

2022-06-09 09:38:52

VMware下的文件共享文件夹,太让人崩溃了,几乎每一个步骤都有问题。

一开始装了个14版本的虚拟机,共享文件夹设置后看不到,重装VMwareTools后也没用,所以换了个20版本的虚拟机,发现当时设置有用,重启后又不见了,这时又想着要不重新添加一下共享文件夹,可以用,不过重启后又没有了,这时候再想重添加,竟然发现这个操作也不起效果了。

幸好,最后解决了问题。花了我大半天的时间。

其实,设置了共享文件夹之后,直接打开fstab文件,将末尾那些参数添加上去即可。其他只是探究过程。

……

这里先说一下VMware的相关概念、常用操作以及解决思路:

1、VMwareTools,vmtools主要作用于虚拟主机的显示优化与调整,另外还可以方便虚拟主机与物理机的交互,列如在物理机与虚拟机之间共享文件夹,甚至可以直接从物理主机向虚拟主机拖放文件、鼠标的无缝切换、显示分辨率的调整等。

这两个功能主要由open-vm-tools和open-vm-tools-desktop这两个插件实现,一般是VMwareTools自带的,不过VMwareTools除此之外还带有一些其他功能。

安装Vmware Tools和open-vm-tools_强钦钦的博客-CSDN博客_open-vm-tools

如果想要确认这两个工具是否已经安装,可以再执行一次安装命令,会给出提示,比如:

2、/mnt/hgfs,这个是系统自带的文件夹,用来存放共享目录或文件;

3、vmware-hgfsclient,这是VMwareTools安装后带的一个命令行,用于查看是否存在共享文件夹,如果设置共享文件夹后用这个查看不到,可以重安装一下VMwareTools。

4、如果vmware-hgfsclient能够看到,但是/mnt/hgfs下看不到,那就要挂载文件夹到目录下:

如果使用Linux命令行是:mount -t vmhgfs .host:/shared /mnt/hgfs,其中-t表示指定模式,vmhgfs就是被指定的模式,.host:/shared中shared表示实际的共享目录名,也可以用.host:/,表示所有的共享文件夹,/mnt/hgfs是目标目录。关于.host:/,我理解应该是设置共享文件夹后,这个文件夹会关联到host这个隐藏目录中去。

不过有的说现在一般用VMwareTools自带的挂载命令,vmhgfs-fuse .host:/ /mnt/hgfs。

5、实际上,当我执行这两个命令行时:

第一个命令行提示:Error: cannot mount filesystem: No such device

第二个命令行没有任何反应,应该是挂载成功了,为什么这么说?因为我在此cd /mnt/hgfs时提示:bash: cd: /mnt/hgfs: Permission denied,因为只有挂载后,才会出现仅当前目录内可访问,其他用户包括root也无法访问的问题。

如果不想出现这种问题,有两种方式,即:

1.修改/etc/fuse.conf sudo vim /etc/fuse.conf 将user_allow_other取消注释(删除最前面的#)

# mount_max = 1000 user_allow_other

2.执行命令

添加权限控制选项-o allow_other 执行下列命令挂载,即可实现所有的用户都可以访问/mnt/hgfs

vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other 如果已经挂载,通过下列命令进行卸载后,再进行挂载

sudo umount /mnt/hgfs

如果不先卸载直接安装,需要加上-o nonempty选项。

当我执行了vmhgfs-fuse .host:/ /mnt/hgfs -allow_other之后,再切换到/mnt/hgfs目录,发现已经可以显示共享文件夹了。

你以为这就好了?

重启后,又不见了。。。。。。

这次我直接在/mnt/hgfs目录下执行:vmhgfs-fuse .host:/ /mnt/hgfs,发现竟然没有效果!!!

于是我退回到家目录cd ~,再次执行:vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other,再切换到/mnt/hgfs,发现又回来了。。。。。。

暂时不知道为什么会有这种情况,不过我理解的应该是不能在待挂载目录下去操作。因为我去/mnt目录下操作后,再次进入hgfs也有效。

此外,你还可以通过df -h查看该目录是否已经挂载。

到了这一步,还没好,因为每次重启后都需要挂载一遍,所以需要进一步设置每次开机都会自动挂载,那么,如何设置开机自动挂载:

参考:Linux设置开机自动挂载_傲娇天子的博客-CSDN博客_linux设置开机自动挂载

对应到此处,各选项就是:

我用的是gedit命令,要在root下。

文件系统:.host:/

挂载点:/mnt/hgfs

文件类型:fuse.vmhgfs-fuse

选项:此处选项不能默认,要不因为权限问题无法进入/mnt/hgfs目录,需要加上一个权限的选项,我们上面命令行加过-o allow_other,这里的-o就表示选项的意思,所以这里要加的就是我们上面加的allow_other

改完之后保存重启。

至此,该问题已解决。

总结:其实,设置了共享文件夹之后,直接打开fstab文件,将这些参数添加上去即可。其他只是探究过程。

最新推荐

编辑推荐

热门小说