解决/mnt中有hgfs无共享文件
为了自动检测并挂载所有共享文件夹,可以编写一个脚本来实现这个功能,并将该脚本配置为在系统启动时运行。以下是详细步骤:
1. 创建挂载脚本
首先,创建一个脚本文件,例如 mount_hgfs.sh
:
sudo nano /usr/local/bin/mount_hgfs.sh
在文件中添加以下内容:
# 创建挂载点目录
mkdir -p /mnt/hgfs
# 获取所有共享文件夹名称
folders=$(vmware-hgfsclient)
# 遍历每个共享文件夹并挂载
for folder in $folders; do
echo "Mounting $folder"
mkdir -p /mnt/hgfs/$folder
vmhgfs-fuse -o allow_other .host:/$folder /mnt/hgfs/$folder
done
保存并退出编辑器。
2. 赋予脚本执行权限
赋予脚本执行权限:
sudo chmod +x /usr/local/bin/mount_hgfs.sh
3. 配置脚本在启动时运行
将脚本配置为在系统启动时运行,可以使用 systemd
服务来实现:
创建一个 systemd
服务文件,例如 mount_hgfs.service
:
sudo nano /etc/systemd/system/mount_hgfs.service
在文件中添加以下内容:
[Unit]
Description=Mount VMware Shared Folders
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/mount_hgfs.sh
RemainAfterExit=true
[Install]
WantedBy=multi-user.target
保存并退出编辑器。
4. 启用和启动服务
启用并启动服务:
sudo systemctl enable mount_hgfs.service
sudo systemctl start mount_hgfs.service
5. 验证挂载
重启系统,验证共享文件夹是否自动挂载:
ls /mnt/hgfs
如果看到共享文件夹中的内容,说明挂载成功。如果遇到任何问题,请检查 systemd
服务的状态和日志:
sudo systemctl status mount_hgfs.service
sudo journalctl -u mount_hgfs.service
这样,系统每次启动时都会自动检测并挂载所有共享文件夹。