VMware 虚拟机文件复制的问题

奔跑的大象 2013-07-29 09:53:44
都知道从外部向虚拟机内复制文件都是通过VMware TOOLS来做为中介发送的,对于向虚拟内拷贝文件有以下几种方式,
1.Ctrl+C,直接到虚拟机内粘贴,Vmware这个进程会通过GetClipboardDatap 这个API获取剪切板数据,然后将数据发送至VMware Tools,再拷贝至虚拟机内。
2.直接向虚拟机内拖文件,这个不知道是如何实现的,
3.通过设置共享文件夹,虚拟机内创建一个网络驱动器实现的。

目前主机向虚拟机直接拷贝文件就这三种吧,

提问:
1.第2种方法拖文件的实现原理是什么,有什么办法可以获取拖的文件吗?
2.第3种方式,有什么方法可以获取到虚拟机设置共享了哪个文件吗?

路过的赐教啦!!!
...全文
975 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
max_min_ 2013-08-04
  • 打赏
  • 举报
回复
我是主机ubuntu 虚拟的xp 用的SamBa 映射过来的
ForestDB 2013-08-04
  • 打赏
  • 举报
回复
还以为是Windows的文件共享呢,原来是VM的shared folder,那应该是VM模拟了SMB这样的驱动,所以Guest内可以以SMB的方式发现VM的shared folder,并以Windows的文件共享方式mount之。
zhctj159 2013-08-04
  • 打赏
  • 举报
回复
引用 2 楼 ForestDB 的回复:
2应该和1一样,不过应该hook drag & drop的API。 3和是否是VM关系不大,去搜搜看Windows网络共享的东西。
赞 其实其他方式还很多。。,,比如通过http服务或者ftp服务或者iSCSI或者将虚拟磁盘文件映射为本机磁盘分区
ithiker 2013-08-04
  • 打赏
  • 举报
回复
2.第3种方式,有什么方法可以获取到虚拟机设置共享了哪个文件吗? ============================================= 运行\\IP,就可以看到了共享的文件夹 这个和mstsc远程登录时的挂盘操作应该是类似的
奔跑的大象 2013-08-04
  • 打赏
  • 举报
回复
现在的问题是,虚拟机访问主机的共享文件究竟是哪个通道,没搞明白。
奔跑的大象 2013-08-04
  • 打赏
  • 举报
回复
第三种应该不是网络共享,因为网络共享是用SMB协议来通信的,通过测试,及抓包,当虚拟机网络驱动器里的文件时,并没有SMB协议产生,在主机上或者虚拟机里禁用掉虚拟网卡,在虚拟机内还是能访问网络驱动器的文件,这几点说明VMware的共享文件夹并没有用到网络。具体是怎么做的,还没搞明白。
ForestDB 2013-07-29
  • 打赏
  • 举报
回复
2应该和1一样,不过应该hook drag & drop的API。 3和是否是VM关系不大,去搜搜看Windows网络共享的东西。
  • 打赏
  • 举报
回复
我都是用了就算了,不像楼主还深究,真是有研究精神呐。

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧