一、安装内核 kernel-devel 包
yum install gcc --nogpgcheck
yum install kernel-devel-$(uname -r) --nogpgcheck
注意,如果自己修改过内核版本,需要确保 uname -r 显示的版本和实际使用的内核版本一致。
二、安装 vmware-tools
在vmware上点击菜单:虚拟机->安装 wmware-tools。
或者直接通过虚拟光驱添加linux.iso镜像文件:选择CD/DVD(IDE)->使用ISO映像文件,选择VMware安装目录下的linux.iso文件,点击确定。
然后在centos里执行:
mkdir /mnt/vmware-tools /tmp/vmware-tools
mount /dev/cdrom /mnt/vmware-tools
复制到可写目录:cp -r /mnt/vmware-tools/* /tmp/vmware-tools/
进入 /tmp/vmware-tools/,解压 VMwareTools-xxx.tar.gz
然后进入解压后的目录,执行:perl vmware-install.pl
然后看提示一路yes。
插曲:
内核 3.10.0-957.el7 编译报错:CONFIG_RETPOLINE=y, but not supported by the compiler
解决办法是注释掉内核源码文件 arch/x86/Makefile 的第164、166行:
160 # Avoid indirect branches in kernel to deal with Spectre
161 ifdef CONFIG_RETPOLINE
162 RETPOLINE_CFLAGS += $(call cc-option,-mindirect-branch=thunk-extern -mindirect-branch-register)
163 ifneq ($(RETPOLINE_CFLAGS),)
164 #注释掉# KBUILD_CFLAGS += $(RETPOLINE_CFLAGS) -DRETPOLINE
165 else
166 #注释掉# $(error CONFIG_RETPOLINE=y, but not supported by the compiler. Compiler update recommended.)
167 endif
168 endif
新版系统可能提示:
[root@localhost vmware-tools-distrib]# perl vmware-install.pl
open-vm-tools packages are available from the OS vendor and VMware recommends
using open-vm-tools packages. See http://kb.vmware.com/kb/2073803 for more
information.
Do you still want to proceed with this installation? [no] ^C[root@localhost vmware-tools-distrib]#
[root@localhost vmware-tools-distrib]#也就是系统已经提供了现成的安装包,此时可以直接安装此包即可:
yum install open-vm-tools
三、设置共享文件夹
右键虚拟机->虚拟机设置->选项->共享文件夹->添加共享文件夹
四、查看共享文件夹情况
打开CentOS终端,输入命令 vmware-hgfsclient,查看共享文件夹情况
[root@localhost tmp]# vmware-hgfsclient
mywinshare
五、创建挂载目录
在 /mnt 下创建一个目录,用于挂载共享文件夹
# 创建hgfs目录
mkdir /mnt/mylinuxshare
# 查看目录的创建情况
ls -l /mnt
六、挂载共享目录
需要注意centos版本,内核版本4.0之前和之后使用的命令不同。
查看Linux内核命令:
uname -a 或者 hostnamectl
以 centos7.6 为例,内核版本为 3.10:(我的vm安装的是3.10内核,却无法执行下面的命令,只能使用4.0以上的命令)
mount -t vmhgfs .host:/mywinshare /mnt/mylinuxshare
如果内核版本是4.0及以后可以执行:
vmhgfs-fuse .host:/mywinshare /mnt/mylinuxshare -o subtype=vmhgfs-fuse,allow_other
七、卸载共享目录
如果后续不想使用共享文件,可以通过如下命令卸载共享目录
umount /mnt/mylinuxshare
八、自动挂载共享目录
手动挂载共享目录存在一个弊端,就是每次重启都要重新挂载一次,因此建议设置自动挂载,让虚拟机系统每次启动完成,自动挂载虚拟机已经设置的共享目录。
(1)修改 /etc/fstab 文件:
对于 kernel 4.0 之前的版本:
.host:/mywinshare /mnt/mylinuxshare vmhgfs defaults 0 0
貌似旧版内核下共享文件夹会自动mount到 /mnt/hgfs 目录下,所以也不需要增加 fstab 项。
对于 kernel 4.0 及之后的版本:
.host:/mywinshare /mnt/mylinuxshare fuse.vmhgfs-fuse allow_other,defaults 0 0
(2)设置指令立即生效
完成(1)的操作后,输入如下命令,使其立即生效。
mount -a
(3)测试自动挂载
重启CentOS,查看挂载目录,测试自动挂载是否生效。
九、通过脚本自动挂载
创建脚本文件然后source到初始化文件里,或者直接写代码到初始化文件里:
- if [ ! -d /opt/gopath/pkg ]; then
- #共享目录名:gopath,挂载到/opt/gopath
- vmhgfs-fuse .host:/gopath /opt/gopath -o subtype=vmhgfs-fuse,allow_other
- fi
--end--
2024-12-15 14:18:03【出处】:https://blog.csdn.net/flynetcn/article/details/131196950
=======================================================================================
vm虚拟机CentOS7实现与物理机之间的文件共享
0.需要注意的几个点
-
使用的前需要注意虚拟机和物理机之间要ping的通,可以先在虚拟机测试一下,如果没办法就得先配置。
-
如果是实现简单的文件(不是文件夹,文件夹我不知道为啥不行),可以通过vmware Tools去实现。
1. 打开物理机的共享属性
将物理机(也就是你的主机)需要共享的文件夹右键点击属性
共享成功如图
在网络中,就可以看到自己共享的文件夹
2.配置虚拟机的共享属性
进入vm虚拟机中配置共享文件夹
成功的话如图
3.进入虚拟机挂载配置
-
通常情况下,共享文件夹会被自动挂载到
/mnt/hgfs
目录下。你可以使用ls /mnt/hgfs
命令来查看是否已经挂载。 -
如果没有自动挂载,你可以尝试手动挂载。首先,确保
/mnt/hgfs
目录存在,如果不存在,使用mkdir /mnt/hgfs
命令创建它。 -
使用
vmhgfs-fuse
命令来挂载共享文件夹# test0219 替换成你的文件夹名称 sudo vmhgfs-fuse .host:/test0219 /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other
-
挂载成功如图
4. 卸载共享文件夹
sudo fusermount -u /mnt/hgfs
到这里就结束了,之后就可以对文件夹内的内容进行复制、移动等操作
2024-12-15 14:31:58【出处】:https://blog.csdn.net/weixin_53539384/article/details/136167510
=======================================================================================
标签:windows,客户机,宿主机,mnt,文件夹,挂载,共享,tools,vmware From: https://www.cnblogs.com/mq0036/p/18607952