vmware设置centos7客户机和windows宿主机共享文件夹

一、安装内核 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

如果vmware-hgfsclient命令不可用,请参考文章末尾的:vmware-hgfsclient 未找到命令的错误

五、创建挂载目录

在 /mnt 下创建一个目录,用于挂载共享文件夹

    # 创建hgfs目录
    mkdir /mnt/mylinuxshare
    # 查看目录的创建情况
    ls -l /mnt

六、挂载共享目录

需要注意centos版本,内核版本4.0之前和之后使用的命令不同。

查看Linux内核命令:

uname -a
或者
cat /etc/redhat-release
或者
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

=======================================================================================

vmware-hgfsclient 未找到命令的错误

输入vmware-hgfsclient查看VM中的共享文件的时候,提示:vmware-hgfsclient 未找到命令

解决:

1.尝试重新挂载:

sudo apt-get install open-vm-dkms 
sudo mount -t vmhgfs .host:/ /mnt/hgfs

如果分别出现了错误: 
E: 无法定位软件包 open-vm-dkms 
Error: cannot mount filesystem: No such device

第一个错误,下载源的问题,可能名字不同,推荐用下面的命令逐个试一下: 
sudo apt-get install open-vm-tools (自己尝试成功)
open-vm-tools 
open-vm-tools-desktop 
open-vm-tools-dkms 
open-vm-tools-dbg 
open-vm-tools-dev

第二个错误,对应的源是 open-vm-tools-dkms ,安装成功后,不能用网上大部分说的这个命令: 
sudo mount -t vmhgfs .host:/ /mnt/hgfs 
这个命令是不行的,我想这个命令大概对应源名字为:open-vm-tools 。tools的名字换了可能命令的名字也不一样,正确的命令是: 

sudo vmhgfs-fuse .host:/ /mnt/hgfs 

但由于默认是root用户和组,所以普通用户访问权限不够,会出现如下问题:
<您没有查看“hgfs”的内容所需的权限>

解决先取消挂载:sudo umount /mnt/hgfs
再指定用户和组挂载:
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=1000 -o gid=1000 -o umask=022

2.如果还未成功尝试下载VMware tools
 

 

2024-12-20 20:33:39【出处】:https://blog.csdn.net/weixin_52447315/article/details/129778282

=======================================================================================

posted on   jack_Meng  阅读(624)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
历史上的今天:
2023-12-15 C# 重新认识一下 IEnumerable<T>,IAsyncEnumerable<T> 以及搭配异步可能遇到的问题
2023-12-15 ZeroTier 内网穿透,并搭建 moon 中转服务器
2023-12-15 企业组网:ZeroTier与Tailscale技术比较
2023-12-15 使用 Headscale 搭建 Tailscale 中转服务,实现端到端直连
2023-12-15 Tailscale 端到端直连
2023-12-15 使用Tailscale实现远程访问内网
2023-12-15 Wireguard+公网轻量应用服务器实现 IPv4 内网穿透

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏

主题色彩