前言
VMware安装CentOS7时遇到了共享文件夹的问题,而安装Ubuntu设置VMware Tools的方法设置完成之后,发现查找不到共享文件夹下的内容,最终参考以下步骤解决此问题。
方法和步骤
一、确保虚拟机联网
选择NAT或者桥接等等方式,要确保VMware Tools安装时有网络连接,网络相关设置在此不作过多介绍。
二、设置Windows和CentOS7之间共享文件夹
1.安装VMware Tools之前,先执行下面命令:
1 $ su # 使用root用户权限执行下列操作 2 # yum install open-vm-tools-desktop 3 # yum install perl gcc kernel-headers kernel-devel
2.点击VMware Workstation菜单(中文)上的"虚拟机(M)"->"安装VMware Tools(T)"项,桌面会出现一个光盘,点击光盘。
# tar vxf VM*.gz -C /home/xxx/Tools # xxx代表主目录,~/Tools目录为指定解压目录
3.修改hgfs源码
进入源码目录
1 # cd /home/xxx/Tools/ 2 # chmod -R 777 vmware-tools-distrib 3 # cd vmware-tools-distrib/lib/modules/source
解压hgfs源码
1 # tar xvf vmhgfs.tar 2 # cd vmhgfs-only 3 # chmod +w page.c
修改page.c文件
# vi page.c
进入vim命令模式,输入":/KERNEL_VERSION",按回车搜索,多次查找,直到找到包含以下内容的代码
1 int 2 HgfsWbRequestWait(HgfsWbPage *req) 3 { 4 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) 5 return wait_on_bit_io(&req->wb_flags, 6 PG_BUSY, 7 TASK_UNINTERRUPTIBLE); 8 #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) 9 return wait_on_bit(&req->wb_flags, 10 PG_BUSY, 11 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) 12 HgfsWbRequestWaitUninterruptible, 13 #endif 14 TASK_UNINTERRUPTIBLE); 15 #else 16 wait_event(req->wb_queue, 17 !test_bit(PG_BUSY,&req->wb_flags)); 18 return 0; 19 #endif 20 }
将 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) 中的 3, 19, 0 替换为 3, 10, 0
如 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
保存退出
将改好的代码重新打包
1 # chmod -w page.c 2 # cd .. 3 # rm vmhgfs.tar 4 # tar cf vmhgfs.tar vmhgfs-only 5 # chmod 777 vmhgfs.tar 6 # rm -rf vmhgfs-only
4.开始安装
1 # cd /home/xxx/vmware* 2 # ./vmware-install.pl # root权限运行
如果按照过程中出现“The path “” is not a valid path to the 3.10.0-693.el7.x86_64 kernel headers.Would you like to change it? [yes]”,就输入 no
重启系统
# reboot
5.点击VMware Workstation菜单(中文)上的"虚拟机(M)"->"设置(S)"->"选项"->共享文件夹,设置"总是启用",添加共享文件夹路径,确定。
6.查看VMware Tools是否安装成功
# vmware-hgfsclient
7.查看曾经未成功显示出来的共享文件夹
1 $ su # 切换为root用户 2 # /usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other 3 # cd /mnt/hgfs 4 # ls
至此共享文件夹成功显示!!!

浙公网安备 33010602011771号