虚拟机ubuntu与本机使用共享文件夹
**
设置共享文件夹
**
关闭虚拟机电源(或者暂停也可以)
在 VMware 主界面中,选中你的虚拟机 → 点击菜单栏的 虚拟机 (VM) → 选择 设置 (Settings)。
在设置窗口中:
切换到 选项(Options) 选项卡。
找到 共享文件夹(Shared Folders)。
设置为 始终启用(Always enabled)。
点击 添加(Add),选择 Windows 上的一个文件夹,比如 D:VMShare。
给它起一个共享名,比如 VMShare(这个名字很重要,后面要用)。
**
在 Ubuntu 中安装 VMware Tools
**
Ubuntu 默认不支持 VMware 的共享文件夹,需要安装 VMware Tools 或 open-vm-tools。
一般都有 VMware Tools ,没有的话推荐安装 open-vm-tools(更简单):
打开终端,运行以下命令:
sudo apt update
sudo apt install open-vm-tools open-vm-tools-desktop -y
安装完成后,重启虚拟机。
**
挂载共享文件夹
**
重启后,Ubuntu 会自动将共享文件夹挂载到 /mnt/hgfs/ 目录下。
你可以在终端中输入:
ls /mnt/hgfs/
应该能看到你刚才设置的共享名,比如:
VMShare
如果 /mnt/hgfs/ 不存在,你可以手动创建它:
sudo mkdir -p /mnt/hgfs
如果没有成功共享文件可以尝试手动挂载:
sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
然后再:
ls /mnt/hgfs
看看里面有没有共享的文件夹。
如果你手动挂载成功了,但每次重启都得再挂载一次,可以添加启动脚本:
办法1:
编辑文件:
sudo nano /etc/rc.local
nano使用:按下Ctrl键加上字母O来保存文件,然后按下Ctrl键加上字母X来退出Nano。按下Ctrl + U粘贴剪切的文本到光标位置。
添加:
#!/bin/bash
mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
exit 0
保存退出后使脚本生效:
sudo chmod +x /etc/rc.local
办法 2:
直接写到 /etc/fstab(如果是永久挂载)
如果你希望开机自动挂载共享文件夹,可以把挂载信息写到 /etc/fstab。
先测试一下命令是否正常:
sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
没问题之后,编辑 /etc/fstab:
sudo nano /etc/fstab
在文件最后添加:
.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other 0 0
这样每次开机就会自动挂载了。
提取共享文件夹的文件时报错
共享文件夹挂载到 /mnt/hgfs/ 时,Linux 其实是通过 VMware 提供的 fuse.vmhgfs-fuse 文件系统来访问的,它不是标准的 ext4 或 ntfs 文件系统,这就可能导致某些命令或程序误判文件系统空间。
解决方案一:尝试使用 cp 命令提取
如果你是用 GUI(拖文件到桌面)时提示空间不足,可以尝试用命令行提取,比如:
cp /mnt/hgfs/VMShare/文件名.zip ~/Desktop/
看是否报错。如果命令行可以复制,那说明问题仅出在 Ubuntu 桌面环境的“误判”。
解决方案二:挂载时加参数
可以尝试重新挂载并加上一些参数:
sudo umount /mnt/hgfs
sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other,default_permissions
这个 default_permissions 参数可以让 Linux 内核更好地处理权限与文件空间的问题。
解决方案三:临时目录复制
可以直接在终端中,先复制到 /tmp 等不会报错的位置,比如:
cp /mnt/hgfs/VMShare/你的文件名 ~/Downloads/
或者压缩整个目录:
tar -czvf ~/Downloads/share_backup.tar.gz /mnt/hgfs/VMShare/