使用虚拟机 (VM) 时,有时希望能进行复制和粘贴操作。在本文中,介绍如何为 ESXi 主机上的单台 VM 或所有 VM 启用复制和粘贴。
文章目录
一、前言
在日常运维工作中,我们经常需要通过 RDP(远程桌面协议) 连接 Windows 计算机进行远程管理。因为有剪贴板,我们可以轻松地在本地和远程系统之间复制粘贴数据,从而提高工作效率。
然而,在 VMware 虚拟化环境 中,这一功能却受到了限制。出于安全考虑,VMware 默认遵循“最佳实践”原则,对剪贴板共享功能进行了管控,以防止潜在的敏感数据泄露风险。因此,当你尝试在虚拟机与宿主机之间复制粘贴时,可能会发现操作无法正常执行。
实际上,这是由于 VMware 默认禁用了“高级剪贴板选项”,以避免用户无意间通过剪贴板传输敏感信息。不过,如果你的工作环境属于“测试实验室”或“非敏感场景”,并且确实需要启用剪贴板共享功能,也可以通过调整虚拟机/主机设置来解除这一限制。
二、VMware vSphere/ESXi 环境配置
出于安全考虑,VMware vSphere客户端默认禁用剪贴板功能,因此无法在本地计算机与虚拟机之间进行复制粘贴操作。
方式1:通过vSphere Web界面配置
1.确保虚拟机已安装VMTools
Linux虚拟机需安装open-vm-tools,检查它们是否已安装(适用于 Ubuntu):$ sudo service vmware-tools status
2.关闭虚拟机 → 进入【编辑设置】→【VM选项】→【高级】→【配置参数】
3.添加以下参数:
isolation.tools.copy.disable = FALSE
isolation.tools.paste.disable = FALSE
isolation.tools.setGUIOptions.enable = TRUE
4.启动虚拟机测试复制粘贴
方式2:SSH修改VMX文件
1.通过SSH连接ESXi主机
2.编辑虚拟机配置文件:vi /vmfs/volumes/存储卷ID/虚拟机名称/虚拟机名称.vmx
3.追加参数:
isolation.tools.copy.disable="FALSE"
isolation.tools.paste.disable="FALSE"
isolation.tools.SetGUIOptions.enable="TRUE"
方式3:批量配置ESXi主机上的所有虚拟机
1.备份ESXi主机配置:
cp /etc/vmware/config /etc/vmware/config_bak
2.编辑配置文件:
vi /etc/vmware/config
3.添加参数到文件:
vmx.fullpath = "/bin/vmx"
isolation.tools.copy.disable="FALSE"
isolation.tools.paste.disable="FALSE"
isolation.tools.SetGUIOptions.enable="TRUE"
4.重启ESXi主机生效。
方式4:通过PowerCLI自动化配置
1.安装VMware PowerCLI模块:
Install-Module -Name VMware.PowerCLI
2.连接vCenter/ESXi:
Connect-VIServer vCenter主机名或IP
3.执行配置命令:
$VM = Get-VM -Name 虚拟机名称
New-AdvancedSetting -Entity $VM.name -Name isolation.tools.copy.disable -Value False
New-AdvancedSetting -Entity $VM.name -Name isolation.tools.paste.disable -Value False
New-AdvancedSetting -Entity $VM.name -Name isolation.tools.setGUIOptions.enable -Value True
三、解决 VMware Workstation 剪贴板失效问题
VMware Workstation默认情况下可以通过 Virtual Machine Management Console 使用剪贴板进行复制/粘贴操作。
如果剪贴板无法正常使用,请检查以下内容:
1.基础检查
- 确认虚拟机已安装VMware Tools或升级至最新版
- 检查虚拟机设置中的剪贴板功能是否启用
2.图形界面设置
- 打开VMware Workstation → 选择虚拟机 → 点击【虚拟机】→【设置】
- 进入【选项】标签页 → 选择【客户机隔离】
- 勾选以下两项:
✓ 启用拖放功能
✓ 启用复制粘贴 - 保存设置后重启虚拟机
3.手动修改VMX文件(备用方案)
用文本编辑器打开 虚拟机.vmx
文件,添加:
isolation.tools.copy.disable = "FALSE"
isolation.tools.dnd.disable = "FALSE"
isolation.tools.paste.disable = "FALSE"
isolation.tools.hgfs.disable= "FALSE"
四、常见问题
- VMware 主机系统中必须安装 VMware Tools,才可以在主客机之间进行复制和粘贴。
- 若使用Web控制台无法使用剪贴板,建议安装 VMware Remote Console (VMRC) 替代
- Linux系统需检查vmtools服务状态:
sudo systemctl status vmware-tools
- 每个虚拟机中启用了复制和粘贴功能,就可以在不同的虚拟机之间进行复制和粘贴。
- 关于从 Windows 复制和粘贴到 Linux 主机,请参考博通文章:Copying and pasting from a Windows guest to Linux host
提示:涉及虚拟机配置修改时,建议提前备份或创建快照。企业环境中批量操作前应先进行测试验证。