背景描述:
我在windows 10电脑上装了一个vmware11,vmware11里装了一个ubuntu16.04.3 server版,想要在windows下使用vs开发linux服务程序,然后在linux上编译运行
(要知道给vs配置好linux头文件以后开发linux程序是何其方便,配合vmware文件共享,编码和编译简直不能太酸爽)
遇到问题:
使用vmware给linux虚拟机设置文件共享以后,可以在linux虚拟机里方便的访问windows上的文件,可是每次重启虚拟机之后需要手动重新去虚拟机设置项里设置共享文件夹
即使我在共享文件夹选项里设置了总是启用,依然无效,每次打开虚拟机都要重新 禁用-确定-总是启用-确定,才可在我的linux用户下看到共享文件夹
问题排查:
经排查,vmware虚拟机中负责文件共享的是一个名叫vmhgfs-fuse的模块,因为我在刚启动虚拟机的时候 ps -e | grep hgfs 看不到任何结果,在我重新设置文件共享生效以后,可以看到这个模块
那么问题显而易见了,设置开机的时候自动启动vmhgfs-fuse模块就可以了
执行vmhgfs-fuse -h查看它的用法得知如下命令
vmhgfs-fuse .host:/ /mnt/hgfs
可以将共享目录加载起来。
因为我不是root用户,所以sudo vmhgfs-fuse .host:/ /mnt/hgfs 然后共享文件依然没有生效,切换到root用户下看到生效了,原来当前用户没有权限,即使sudo vmhgfs-fuse .host:/ /mnt/hgfs执行成功了,当前用户还是没有权限看到。
最终解决方案:
在/root/.bashrc 中添加命令 vmhgfs-fuse .host:/ /mnt/hgfs
每次开机以root用户登陆,就可以直接访问共享文件啦。