VMware与CentOS7的共享文件夹的问题

VMware安装CentOs7总是出现各种问题,上网查找解决问题的方法,找了一些,但都不能解决共享文件夹的问题,但最后还是被我找到了解决方法,参考网上的资料,我按下面的步骤解决了问题。

我使用的是VMware安装CentOS7,系统镜像是CentOS-7-x86_64-DVD-1708.iso。安装完CentOS7之后,点击 vm 菜单上的 虚拟机 -> 设置 -> 网络适配器,选择“桥接模式”,点击 “复制物理网络连接状态”。

一、设置自动获取动态IP地址

1、打开终端,输入“ip addr”并按回车键确定,发现无法获取IP(CentOS 7默认没有ifconfig命令),记录下网卡名称。

2、输入“cd /etc/sysconfig/network-scripts/”按回车键确定,继续输入“ls”按回车键查看文件。

3、输入“su”进入root用户,输入“vi ifcfg-ens33”并按回车键确定。

4、查看最后一项,发现为“ONBOOT=no”。

5、按“i”键进入编辑状态,将最后一行“no”修改为“yes”,然后按“ESC”键退出编辑状态,并输入“:x”保存退出。

6、输入“service network restart”重启服务。

7、再次输入“ip addr”查看,现已可自动获取IP地址。可以看到“ 2: ens33: ”中会出现类似下面的IP信息。 

inet 192.168.6.120/24 brd 192.168.6.255 scope global dynamic ens33

二、设置静态IP地址

1、输入“cd /etc/sysconfig/network-scripts/”按回车键确定,继续输入“ls”按回车键查看文件,确定网卡名称。

2、输入“vi ifcfg-ens33”并按回车键确定(网卡名称可能不同)。

3、按“i”进入编辑状态,设置为“BOOTPROTO=’static’”(如设置为none则禁止DHCP,static则启用静态IP地址,设置为dhcp则为开启DHCP服务),并修改其他部分为您的设置。 

例子:

BOOTPROTO='static'
IPADDR=192.168.6.200
NETMASK=225.255.255.0
GATEWAY=192.168.6.1
DNS1=192.168.6.1
DNS2=202.96.128.86
NM_CONTROLLED=yes

4、.确认无误后按“ESC”退出编辑状态,并输入“:x”保存退出,输入“service network restart”重启服务后输入“ip addr”查看网络配置。

三、设置Windows和CentOS7之间的共享文件夹

0、确认CentOs已连接网络。

1、安装VMware Tools之前,先执行下面的命令:

su
yum install open-vm-tools-desktop
yum install perl gcc kernel-headers kernel-devel

2、点击 vm 菜单上的 虚拟机->安装(更新) VMware Tools 项,桌面会出现一个光盘,点击光盘。

tar vxf VM*.gz -C /home/xxx

xxx代表主文件夹

3、修改 hgfs 源码 

进入源码目录

cd /home/xxx/
chmod -R 777 vmware-tools-distrib
cd vmware-tools-distrib/lib/modules/source

解压 hgfs 源码

tar xvf vmhgfs.tar
cd vmhgfs-only
chmod +w page.c

编辑 page.c 文件

vi page.c

进入命令模式,输入“:/KERNEL_VERSION”,按回车搜索,多次查找, 直到找到包含以下内容的代码

int
HgfsWbRequestWait(HgfsWbPage *req)
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
    return wait_on_bit_io(&req->wb_flags,
                          PG_BUSY,
                          TASK_UNINTERRUPTIBLE);
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
    return wait_on_bit(&req->wb_flags,
                       PG_BUSY,
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)
                       HgfsWbRequestWaitUninterruptible,
#endif
                       TASK_UNINTERRUPTIBLE);
#else
    wait_event(req->wb_queue,
               !test_bit(PG_BUSY,&req->wb_flags));
    return 0;
#endif
}

将 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) 中的 3, 19, 0 替换为 3, 10, 0 

如 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) 

保存退出 

将改好的代码重新打包

chmod -w page.c
cd ..
rm vmhgfs.tar
tar cf vmhgfs.tar vmhgfs-only
chmod 777 vmhgfs.tar
rm -rf vmhgfs-only

4、开始安装

cd /home/xxx/vmware*
su
./vmware-install.pl

如果按照过程中出现“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、点击 vm 菜单上的 虚拟机 -> 设置 -> 选项 -> 共享文件夹,设置“总是启用”,添加一个文件夹,确定。

6、查看VMware Tools 是否安装成功

vmware-hgfsclient

可以查看你的共享文件夹,但是不会显示出来

su
/usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other
cd /mnt/hgfs
ls

出现共享文件夹