背景:最近用VM Player 装Ubuntu 熟悉Linux,在开启共享文件夹时遇到不少问题,网上的解决方法杂七杂八,费了不少周折。最终花了三天时间让虚拟机在开机时能自动挂载共享文件夹。下面整理两个不容易解决的,且网上错误的解决方法频出的地方。
环境: Ubuntu 16.04
虚拟机软件: VM Player (VMware Station下的步骤应该相似)
操作系统:win7
正文:问题1: 成功安装VM-tools后,虚拟机下Ubuntu共享文件夹 /mnt/hgfs 不能显示或者该路径下不显示任何东西 先进入root模式:
终端输入: su, 接下来可能有提示要输入密码;
接着,每个小步骤的目标和对应的命令:
1.1 apt-get install open-vm-tools
1.2(非必要)【如果现在在mnt下看不到hgfs文件夹,输入:mkdir /mnt/hgfs】 1.3 挂载共享文件夹: vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
最后, 你可以在/mnt/hgfs路径下看到宿主的共享文件夹了。
但是,产生了一个问题: 每次开机,都得重新在终端输入: sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other,后面再输入密码,很麻烦。所以需 要添加开机启动命令。转至问题2 ~~~
问题2: Ubuntu 16.04每次开机后,都得输入挂载共享文件夹的命令
解决思路: 添加开机启动shell脚本。 步骤如下:
2.1 随意路径建立脚本: vim guazai.sh //脚本名:guazai.sh
其内容如下:
#!/bin/bash
### BEGIN INIT INFO
# Provides: guazai
# Required-Start: $local_fs $network
# Required-Stop: $local_fs # Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: guazai
# Description: guazai
### END INIT INFO
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
exit 0
注: guazai 是我的脚本文件名,### END INIT INFO后是你要写的shell脚本,然后需要开机自启的。如果从第二行### BEGIN INIT INFO 到 ### END INIT INFO 没写进脚本,会遇到一个“missing LSB tags and overrides”的错误。
2.2 设置权限
sudo chmod 755 guazai.sh
2.3 将该脚本移动至启动目录下
sudo mv starter.sh /etc/init.d/
2.4 将脚本添加至启动脚本
cd /etc/init.d/
sudo update-rc.d guazai.sh defaults 90
等再次启动虚拟机时,可以直接看到/mnt/hgfs/下的文件夹啦。
·以上步骤是主要从以下网站提炼出来,如在细节上出现问题,请参阅。