目录
1. 提出问题——Ubuntu22.04与最新的vmware tools不完全兼容
2. 分析问题——已安装了其他版本的vmware tools
3.1 先卸载所有安装过的vmtool或open-vm-tools
3.2 再安装open-vm-tools和open-vm-tools-desktop
3.3 关闭Ubuntu22.04虚拟机,设置共享文件夹,记住路径名称
1. 提出问题——Ubuntu22.04与最新的vmware tools不完全兼容
近期,使用VMware16.2创建的Ubuntu22.04虚拟机时,发现即使你的vmware已经是最新版本,即便安装了vmware tool,也不能实现虚拟机与主机之间的文件共享和复制粘贴。原因可能是Ubuntu22.04与最新的vmware tools不完全兼容。
2. 分析问题——已安装了其他版本的vmware tools
在vmware官方论坛下,给出了参考方案。
VMware tools with Ubuntu 22,04 copy and paste ...https://communities.vmware.com/t5/VMware-Workstation-Pro/VMware-tools-with-Ubuntu-22-04-copy-and-paste-not-working/td-p/2913183但是,可能你会和我一样,直接执行以下指令,一开始并没有效果。
sudo apt install open-vm-tools-desktop
sudo apt install open-vm-tools
原因是,很有可能,先前你在此之前安装过官方的vmtool或者旧版本的open-vm-tools。
3. 解决问题
为了纪念我们浪费的时间,特此记录一下正确的且完整的解决方法。
3.1 先卸载所有安装过的vmtool或open-vm-tools
sudo vmware-uninstall-tools.pl
sudo apt-get remove open-vm-tools
sudo apt-get remove --auto-remove open-vm-tools
sudo apt-get purge open-vm-tools
sudo apt-get purge --auto-remove open-vm-tools
3.2 再安装open-vm-tools和open-vm-tools-desktop
sudo apt install open-vm-tools*
3.3 关闭Ubuntu22.04虚拟机,设置共享文件夹,记住路径名称
(这里是VMshare,注意与文件夹的名字区分开)
3.4 挂载文件夹
# 查询是否存在已挂载的文件夹,本例中返回VMshare,即上一步设置的共享路径的名称
vmware-hgfsclient
如果已经挂载hgfs,需要先取消挂载,再重新按以下命令挂载。
# 取消挂载
sudo umount /mnt/hgfs
# 在home目录下查询uid,gid和umask
id
# 重新挂载,注意:请根据上一步的查询结果,更新下一个命令中uid,gid和umask值。
sudo /usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=1000 -o gid=1000 -o umask=022
# 如果提示fuse:mountpoint is not empty,更换成以下指令。
sudo /usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o nonempty -o allow_other -o uid=1000 -o gid=1000 -o umask=022
执行成功后,查询/mnt路径下文件的权限。
ll /mnt
正常情况下,hgfs文件夹的所有者变成了当前的Linux用户名,以便后续正常读写访问。
3.5 设置开机启动
重启发现权限又变回去,需要设置开机自动挂载
#打开配置文件
sudo vim /etc/fstab
# 设置开机自动挂载
.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,uid=1000,gid=1000,umask=022 0 0
后面的话(友情提醒!)
由于配置自动挂载文件易出错,导致系统进入emergency mode。
最好先备份好fstab文件,并且做好虚拟机快照。
即便进入了emergency mode,也可以搜索解决办法,不要有心理负担。
希望对你有所帮助。