sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other 开机自启
时间: 2025-07-21 10:03:42 浏览: 3
<think>我们面对的问题:如何在Linux虚拟机中设置开机自动执行挂载VMware共享文件夹的命令。
根据引用内容,我们可以总结出几种方法:
方法1:通过修改/etc/fstab文件(引用1中提到的永久方法)
方法2:通过修改~/.bashrc文件(引用2)
方法3:通过/etc/rc.local文件(引用2)
方法4:通过创建systemd服务(虽然引用中没有提到,但也是常见方法,但这里我们根据引用内容来)
根据引用[1]和引用[2]提供的信息,我们给出以下步骤:
注意:在操作之前,请确保已经安装了open-vm-tools(或vmware-tools)并且共享文件夹功能已经启用。
步骤1:创建挂载点目录
如果/mnt/hgfs目录不存在,需要先创建:
```bash
sudo mkdir -p /mnt/hgfs
```
步骤2:手动挂载测试(可选,但推荐)
执行手动挂载命令,确保共享文件夹可以正常挂载:
```bash
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
```
然后检查/mnt/hgfs目录下是否有共享的文件。
步骤3:设置开机自动挂载
方法一:使用/etc/fstab(引用1)
编辑/etc/fstab文件:
```bash
sudo nano /etc/fstab
```
在文件末尾添加一行:
```
.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0
```
注意:引用1中给出的写法是:`.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0`
但是,根据引用[3]的解释,这里我们使用的是`fuse.vmhgfs-fuse`作为文件系统类型。
保存并退出。然后可以测试:
```bash
sudo mount -a
```
如果没有报错,则说明配置正确,下次启动时会自动挂载。
方法二:使用~/.bashrc(引用2)
这种方法会在用户登录时执行,但如果是多用户或者需要系统启动时就挂载,可能不太合适。不过对于单用户桌面环境,可以尝试。
编辑当前用户的~/.bashrc文件:
```bash
nano ~/.bashrc
```
在文件末尾添加:
```bash
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
```
然后,为了避免每次执行sudo都需要输入密码,需要编辑sudoers文件(引用2):
```bash
sudo visudo
```
添加一行:
```
%sudo ALL=(ALL:ALL) NOPASSWD: /usr/bin/vmhgfs-fuse
```
注意:这里需要确保用户属于sudo组。这样,执行vmhgfs-fuse命令时就不需要输入密码了。
方法三:使用/etc/rc.local(引用2)
首先确保rc.local服务已经启用(在有些系统中,rc.local默认不启用)。
编辑/etc/rc.local文件:
```bash
sudo nano /etc/rc.local
```
在`exit 0`之前添加:
```bash
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
```
然后给rc.local文件添加可执行权限:
```bash
sudo chmod +x /etc/rc.local
```
同样,为了避免sudo密码,需要在sudoers文件中添加NOPASSWD规则(同上)。
注意:在最新的Ubuntu系统中,可能没有rc.local,需要启用该服务。具体启用方法可以自行搜索。
方法四:创建systemd服务(引用中没有提到,但更现代的方法)
我们可以创建一个systemd服务文件,比如`/etc/systemd/system/mnt-hgfs.mount`,但这里我们不展开,因为引用中没有提供。
根据引用内容,我们推荐方法一(/etc/fstab)和方法三(/etc/rc.local),因为它们是系统级别的。
但是,引用[4]提到,错误信息可能是因为挂载点不存在,所以确保第一步创建目录。
另外,引用[3]详细解释了命令中各参数的含义,这有助于我们理解。
总结步骤:
1. 创建挂载目录:`sudo mkdir -p /mnt/hgfs`
2. 测试手动挂载:`sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other`
3. 选择一种自动挂载方法(推荐/etc/fstab方法):
- 编辑/etc/fstab:添加一行`.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0`
- 或者使用/etc/rc.local:在exit0之前添加挂载命令,并确保文件可执行。
注意:在/etc/fstab方法中,我们使用了`fuse.vmhgfs-fuse`作为文件系统类型,选项为`allow_other,defaults`。
如果使用fstab方法,执行`sudo mount -a`来检查配置是否正确。
如果遇到问题,请检查:
- 是否已经安装了open-vm-tools或vmware-tools(包含vmhgfs-fuse)
- 共享文件夹是否在VMware设置中启用
最后,根据引用[2],如果使用非fstab方法(比如rc.local或bashrc),需要配置sudo免密码执行vmhgfs-fuse命令。
因此,我们给出两种推荐方法的具体步骤:
推荐方法1(/etc/fstab):
步骤1:创建目录(如果不存在)
步骤2:编辑/etc/fstab,添加一行:`.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0`
步骤3:执行`sudo mount -a`测试,如果没有错误,则成功。
推荐方法2(/etc/rc.local):
步骤1:创建目录(如果不存在)
步骤2:编辑/etc/rc.local,在exit0之前添加:`sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other`
步骤3:给/etc/rc.local添加可执行权限:`sudo chmod +x /etc/rc.local`
步骤4:配置sudoers,使vmhgfs-fuse命令可以免密码执行(使用visudo添加一行:`%sudo ALL=(ALL:ALL) NOPASSWD: /usr/bin/vmhgfs-fuse`)
注意:在rc.local方法中,命令是`sudo vmhgfs-fuse ...`,而在fstab方法中,我们使用的是fstab的格式。
请根据你的系统选择合适的方法。
相关问题:
1. 如何检查VMware共享文件夹是否已经正确挂载?
2. 如果挂载失败,有哪些常见的排查步骤?
3. 除了vmhgfs-fuse,还有哪些工具可以实现主机与虚拟机之间的文件共享?</think>### 配置VMware共享文件夹开机自动挂载
#### 步骤1:创建挂载目录
```bash
sudo mkdir -p /mnt/hgfs # 创建挂载点目录[^2][^4]
```
#### 步骤2:测试手动挂载(验证配置)
```bash
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
ls /mnt/hgfs # 检查共享文件是否可见
```
#### 步骤3:设置开机自动挂载(两种推荐方案)
##### ✅ 方案一:通过/etc/fstab永久挂载(推荐)
```bash
sudo nano /etc/fstab
```
在文件末尾添加:
```bash
.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0
```
保存后执行:
```bash
sudo mount -a # 立即生效[^1][^3]
```
##### ✅ 方案二:通过rc.local系统启动脚本
```bash
sudo nano /etc/rc.local
```
在 `exit 0` 前插入:
```bash
vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
```
设置可执行权限:
```bash
sudo chmod +x /etc/rc.local
```
#### 关键参数说明:
- `-o allow_other`:允许所有用户访问共享文件夹[^3]
- `.host:/`:VMware专用主机共享标识[^3]
- `fuse.vmhgfs-fuse`:FUSE文件系统驱动类型[^1][^3]
#### 验证自动挂载:
```bash
sudo reboot # 重启系统
ls /mnt/hgfs # 检查共享文件是否存在
```
#### 故障排查:
1. **挂载点不存在**:
```bash
sudo mkdir -p /mnt/hgfs # 重建目录[^2][^4]
```
2. **权限不足**:
在`/etc/sudoers`添加:
```bash
%sudo ALL=(ALL) NOPASSWD: /usr/bin/vmhgfs-fuse
```
3. **驱动未安装**:
```bash
sudo apt install open-vm-tools open-vm-tools-desktop
```
> 注:推荐优先使用`/etc/fstab`方案,这是Linux标准的持久化挂载方式[^1][^3]。若系统不支持rc.local(如systemd系统),需先启用rc-local服务。
阅读全文
相关推荐


















