问题解决:虚拟机无法复制粘贴文件

本文指导读者解决VMware虚拟机中文件复制和拖拽问题,通过激活vmblock-fuse服务并重启open-vm-tools,避免重装带来的文本复制问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,vmware的增强工具是:open-vm-tools和open-vm-tools-desktop。复制字符没问题,就是复制文件和拖拽文件有问题。

拖拽和复制、粘贴文件,需要挂载一个特殊的文件系统:vmblock-fuse,先查看这个文件系统挂载服务的情况:

[root@k8s-master wlf]#  systemctl status run-vmblock\\x2dfuse.mount
● run-vmblock\x2dfuse.mount - VMware vmblock Fuse Mount
   Loaded: loaded (/usr/lib/systemd/system/run-vmblock\x2dfuse.mount; disabled; vendor preset: disabled)
   Active: inactive (dead)
    Where: /run/vmblock-fuse
     What: vmware-vmblock-fuse
     Docs: https://github.com/vmware/open-vm-tools/blob/master/open-vm-tools/vmblock-fuse/design.txt

死的,是吧。现在让它活一下:

1. 开机自启
systemctl enable run-vmblock\\x2dfuse.mount   

2. 启动服务
systemctl start run-vmblock\\x2dfuse.mount

再看:

[root@k8s-master wlf]#  systemctl status run-vmblock\\x2dfuse.mount
● run-vmblock\x2dfuse.mount - VMware vmblock Fuse Mount
   Loaded: loaded (/usr/lib/systemd/system/run-vmblock\x2dfuse.mount; disabled; vendor preset: disabled)
   Active: inactive (dead)
    Where: /run/vmblock-fuse
     What: vmware-vmblock-fuse
     Docs: https://github.com/vmware/open-vm-tools/blob/master/open-vm-tools/vmblock-fuse/design.txt
[root@k8s-master wlf]# systemctl enable run-vmblock\\x2dfuse.mount 
Created symlink from /etc/systemd/system/multi-user.target.wants/run-vmblock\x2dfuse.mount to /usr/lib/systemd/system/run-vmblock\x2dfuse.mount.
[root@k8s-master wlf]# systemctl start run-vmblock\\x2dfuse.mount
[root@k8s-master wlf]# systemctl status run-vmblock\\x2dfuse.mount
● run-vmblock\x2dfuse.mount - VMware vmblock Fuse Mount
   Loaded: loaded (/usr/lib/systemd/system/run-vmblock\x2dfuse.mount; enabled; vendor preset: disabled)
   Active: active (mounted) since Sat 2022-06-25 23:04:53 PDT; 14s ago
    Where: /run/vmblock-fuse
     What: vmware-vmblock
     Docs: https://github.com/vmware/open-vm-tools/blob/master/open-vm-tools/vmblock-fuse/design.txt
  Process: 9874 ExecMount=/bin/mount vmware-vmblock-fuse /run/vmblock-fuse -t fuse -o subtype=vmware-vmblock,default_permissions,allow_other (code=exited, status=0/SUCCESS)
    Tasks: 3
   Memory: 2.5M
   CGroup: /system.slice/run-vmblock\x2dfuse.mount
           └─9880 vmware-vmblock-fuse /run/vmblock-fuse -o rw,subtype=vmware-vmblock...

活的,是吧。
接下来重启 vm-tools 服务:

[root@k8s-master wlf]# systemctl restart vmware-tools
Failed to restart vmware-tools.service: Unit not found.

没这个服务,是吧。

搜一下:

[root@k8s-master wlf]# ls /usr/lib/systemd/system

找到了吧,重启它。

不要说找不到,除非你的屏幕就是小框。


有没有一种感觉,网上搜这个解决方案的,几乎都是让你重装 vm-tools 的,重装了还是不行。而且重装之后,连文本复制粘贴都不行了,查状态确是 active。。。

### 解决虚拟机无法复制粘贴问题虚拟机环境中,复制粘贴功能的失效通常是由以下几个原因造成的:缺少增强工具(Tools)、未启用共享剪贴板选项或主机与客户操作系统之间的兼容性问题。以下是针对这些问题的具体解决方案。 --- #### 1. 安装虚拟机增强工具 为了支持复制粘贴等功能,大多数虚拟化平台都需要安装特定的增强工具包。例如 VMware Tools 或 VirtualBox Guest Additions。 - **VMware 工具安装**: 在 VMware 虚拟机环境下,可以通过以下步骤安装 VMware Tools: ```bash sudo apt-get update sudo apt-get install open-vm-tools-desktop fuse ``` 此外,还需要挂载 VMware 提供的光盘镜像并运行安装脚本[^1]: ```bash vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other cd /mnt/cdrom tar zxvf VMwareTools-*.tar.gz -C /tmp/ cd /tmp/vmware-tools-distrib ./vmware-install.pl -d ``` - **VirtualBox 增强工具安装**: 对于 Oracle VirtualBox 用户,可以按如下方式进行安装: ```bash sudo apt-get install virtualbox-guest-utils virtualbox-guest-x11 virtualbox-guest-dkms ``` 接着重启系统以应用更改: ```bash sudo reboot ``` --- #### 2. 启用共享剪贴板功能 即使安装了增强工具,也需要手动开启共享剪贴板选项才能正常使用复制粘贴功能。 - **VMware 设置**: 打开 VMware 的虚拟机设置界面,导航到“选项” -> “高级”,将“共享文件夹”和“拖放”设为双向模式。 - **VirtualBox 设置**: 类似地,在 VirtualBox 中选择目标虚拟机,点击“设置”按钮,转至“通用” -> “高级”。在这里,将“共享剪贴板”和“拖拽”均调整为“双向”。 --- #### 3. 配置 Hadoop 环境中的依赖项 如果是在 Hadoop 环境下开发,确保 Java 和 Hadoop 的路径已经正确配置到系统的环境变量中。这不仅有助于简化命令调用,还能避免因路径缺失引发的功能异常。 ```bash export JAVA_HOME=/opt/module/jdk1.8.0_212 export PATH=$PATH:$JAVA_HOME/bin export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 上述内容应当被追加到用户的 Shell 初始化文件中,比如 `~/.bashrc` 或者全局生效的 `/etc/profile` 文件里[^3]。 --- #### 4. 检查网络接口配置 有时,虚拟机内部的网络适配器未能正确初始化也会间接影响数据交换行为。因此有必要核查网卡的状态以及相关参数设定是否合理。 假设当前正在使用的网卡名称为 eno16777736,则需要重点查看它的启动属性 ONBOOT 是否已被激活。如果是 no,则意味着每次开机后该设备都不会自动上线[^2]。 ```bash sudo vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 ONBOOT=yes ``` 保存退出后再执行服务重载指令即可使改动即时生效: ```bash sudo systemctl restart network ``` --- ### 总结 综上所述,解决虚拟机内的复制粘贴障碍涉及到了软件层面的支持、硬件资源分配策略以及基础架构方面的微调等多个方面的工作。只有逐一排查这些环节上的隐患点才能够彻底根治这一顽疾。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

看,未来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值