vmware里面的linux怎么和windows相互传文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vmware里面的linux怎么和windows相互传文件相关的知识,希望对你有一定的参考价值。

经常遇到这种问题,高版本的vmware遇到低版本的linux,使用起来就比较抠脚,比如低版本的linux安装在高版本的vmware里,

1、不能全屏显示虚拟机
2、每次切换出来,总要按一下Ctrl+Alt键
3、特别可恨的是不能直接互传文件
针对以上情况,本篇博客只是针对第三个问题展开的,怎么将vmware里的linux和外面的window互传文件,方法很多,有
1、建立共享目录
2、通过建立ftp,也就是把windows当做ftp的服务器
3、建立linux的tftp,也就是把linux当做tftp的服务器
我只试过以上三种方法,其他的没有试过,暂时不在这里面讨论。
下面我说一下各自的优点缺点,第一种建立共享目录的方法,我只是在fedora中试过,这个是看着视频做的,视频是通过图形界面来操作的,不过建立共享目录只是针对这款fedora比较实用,你很难把它移植到其他版本的linux的中,当然这只是对于我这种linux技术不是很好的人来说的。所以针对这种移植性不好的方法我就舍弃了。第二种方法,我是想在windows上建立一个ftp服务器,然后你的linux当做客户端,上传文件到windows上的服务器中,之后的windows上的文件就由你怎么处置了,不过当我想从linux上传送一个文件夹到windows的ftp服务器上去的时候,出现了两个问题,第一个,我想传送一个没有被压缩的文件夹是传送不进去的,只能单个的传送,所以你想传送一个整个的文件的话,你就必须想办法先把它在linux中做成一个压缩文件,然后即可在命令行中传送,这样看似是可行的,不过问题是,我linux中通过命令行传送过去的文件,在windows的ftp上打开会出现异常,不管是普通的.c,.txt文件还是你已经压缩过的tar.bz2文件等等,都会出现这种异常,具体什么原因我也不清楚,可能是windows自带的ftp有点问题吧,哈哈。两个windows之间互传文件是没有问题的。
所以针对以上两种方法的种种缺点,我这里强烈推荐一种方法,也就是用第三种方法,在linux中建立一个tftp服务器,建立这个tftp服务器的过程那可不是通过linux的图形界面设置的,这里都是用命令行设置的,为什么要介绍这种方法,因为用命令行设置可移植性比较好。
第一步:首先关闭你linux的防火墙和SELinux,这里的命令我就不介绍了,百度即可。
第二步:首先用命令行查看你的ftp-server有没有安装上,用命令:rpm -qa | grep tftp-server

如果安装成功就会出现这种提示信息。
第三步:如果没有安装,则用两条命令执行以下即可:
yum install xinetd
yum install tftp-server
第四步:用命令查看有没有安装成功。即:
rpm -qa " grep tftp-server
成功以后,执行命令:
vim /etc/xinetd.d/tftp

修改后的文件如上图,修改了两处位置,一处是server_args,指定在/tftpboot目录下,当然你之前要在根目录下新建一个tftpboot的目录,放在哪个目录由你定了;改的第二处位置是disable,表示“不使能吗”,当然要选no了,就是让他工作的意思。保存退出即可。还要注意要执行:chmod 777 /tftpboot,把tftp的目录的权限改一下
第五步:执行两个命令:
service xinetd restart或者执行
/etc/init.d/xinitd restart
然后用命令:netstat -a " grep tftp,查看tftp服务器的状态,
现在linux的tftp已经配置好了,接下来我们就分别在windows上和另外一台linux机器上测试了:

在windows上测试:
要确保windows的tftp客户端已经打开,如果打开dos界面:你输入tftp命令,dos提醒你tftp“不是内部或外部命令,也不是可运行的程序”,那就现在windows上先做一小段的配置:配置过程如下:先进入控制面板里的这个界面,然后点击”打开或关闭windows功能“,把tftp客户端勾选上确定即可。

现在你在dos界面里面输入tftp会出现如下界面:说明windows的tftp的客户端可以使用了。
怎么使用主要是两个命令,第一个是从linux的tftp服务器端下载文件: 命令: tftp 192.168.1.106 get b.c ,这里的192.168.1.106是linux的服务器的ip,我windows的ip 是192.168.1.105 上传命令:tftp 192.168.1.106 put b.c m.c 一开始我看这个put的上传命令觉得很奇怪,不过后来我终于想明白了,b.c是我windows目录C:\Users\Administrator目录下的一个文件,想把它上传到linux的/tftpboot目录下,不过为什么后面还有一个main.c呢,如果我在linux的/tftpboot目录下没有main.c这个文件,先贴一张输入错误命令的指令的截图:

下面我来分析一下错误出现的原因,一次输入 tftp 192168.1.106 put b.c,,,,,另外输入一次是tftp 192.168.1.106 put b.c m.c 两个命令的提示错误的信息是一样的,但是命令不一样,只是第二个命令相差一个m.c文件,提示的错误信息都是”服务器上的错误:file not found“,再来看看tftp在dos下面的命令输入格式,

看后面的例子,Uers19.txt是vax1的一个文件,所以才能用put命令传送文件,所以之前的错误命令应该知道怎么改了吧,即:现在linux中先用命令:vim m.c 保存退出,不用写什么东西,然后用dos 命令:tftp 192.168.1.106 put b.c m.c 执行即可。

什么居然还有错,提示”服务器上的错误: Permission denied“,就是m.c的权限写过了,那你在linux里chmod 777 m.c即可,在次执行:下载数据了, 不过你要上传一整个目录或下载一整个目录的话,是不行的,因为linux里面一切皆文件,你只能上传一个或下载一个最简单的文件,里面不要包含子目录,所以要上传一整个工程可以先把它用tar命令压缩一下,然后这种文件最好只在linux之间互传吧,linux传给windows一个压缩文件,总是会有点问题,所以你要传一个压缩文件,还是现在linux中互传吧。也许你用的另外一个linux可以直接拖文件到windows呢,那不也是可以么。呵呵,虽然这么一整套下来,是有点麻烦,总之可行。
参考技术A 有很多方式:
1、最直接的方式就是安装VMware Tools,重启一下虚拟机就可以直接实现虚拟机与主机拖放文件。
2、使用QQ(没错,是QQ,可以安装的)。
3、使用云盘,比如百度云、360云盘等。

windows怎么与虚拟机linux共享

方法一:使用虚拟机的共享文件夹功能

使用vmware(vmware workstation 5)下shared folders功能实现vmware中host与ghost间文件传输,无需任何网络相关设置,不使用任何网络协议,host和ghost可以是linux和windows操作系统,这里只介绍host是windows,ghost是linux下的设置,如果ghost是windows,请参考vmware帮助中setting up shared folders。

1.安装vmtools for linux:
选择vmware workstation程序菜单中VM >install VMware tools...

选择vmware workstation程序菜单中VM >removable Devices >CD-ROM >Edit >USE ISO Image (选择vmware安装目录中linux.iso)
启动guest 电脑中的linux,执行:
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom (vmtools的安装文件放在vmware虚拟的cdrom中,首先要mount上这个光驱才能找到安装文件)
cd /mnt/cdrom
tar -zxvf VMwareTools-5.5.3-34685.tar.gz /tmp (把安装文件解压到/tmp)

cd /tmp/vmware-tools-distrib
./vmware-install.pl
(执行vwware的安装脚本,这个脚本是用perl编写的)
在这里,安装程序会询问安装文件存放位置和设置分辨率等一系列问题,在大多数情况下,安装默认配置vmware tools就可以正常工作,因此,这里对每一个问题按回车键选择默认配置。

安装完以后,vmware会添加一个vmhgfs的模块到内核中,可以使用lsmod查看

2.设置host computer共享的目录:
在ghost computer中切换到windows桌面,选择vmware workstation程序菜单中 VM>Settings>Options>Shared Folders

点击对话框右下的“add”按钮,点击“下一步”

在文本框“name”中输入共享目录的名字(这里填写的目录名以后在ghost computer的linux系统中将显示出同样的目录名),假设为share_file;在“host folder”中填入host computer中windows系统想要共享出来的目录,假设为D:\\share 然后点击完成

下一个对话框是选择共享的方式:Enable this share是指这个共享长期有效,目录可读写;Read-only方式是指这个共享长期有效,目录只读;Disable after this session方式是指下次ghost computer被关闭或挂起后,共享将会失效。一般情况下选择Enable this share然后点击“完成”

自此,shared folder设置完毕

3.shared folder目录的使用
切换到ghost computer的linux系统,执行:
cd /mnt/hgfs
ls
可以看到share_file的目录,并且可以用cp等指令实现windows到linux,linux到windows的读写操作了

提示:如果你共享的文件夹建立在windows主机的桌面,可能在linux终端运行cd /mnt/hgfs ls时,什么也没看到,是空白的,这时你把路径改在D盘或其他盘的根目录就行啦,注意文件夹最好不要有空格等特殊字符出现,这个问题也困扰了我大半天

4.注意事项
在vmware软件里添加一个shared folder或对shared folder的参数进行版本是立刻生效的,也就是说立刻可以在ghost computer的linux系统中看到新加的共享目录和体验到参数的改变
结语:写这篇文章的目的是为了减少CU linux版上关于vmware host/ghost computer共享文件问题的新手重复发问和其他兄弟的重复回答,使版面更加简介些。另外,我看大家回答这个问题大多是使用ftp,samba甚至是nfs(在windows上装microsoft service for unix就可以实现nfs)来实现的,采用vmware自带的shared folder方式比使用网络协议实现文件传输要方便得多,并且对于新手来说,用cp命令拷贝文件比用ftp和smbmount命令要简单得多

虚拟linux共享设置正确后,运行cd /mnt/hgfs ls后是空白的什么也没有怎么回事?
我的主机是windows xp,在vmware6.0中装的linux,装好了vmware tools,
并VM>Settings>Options>Shared Folders 中添加了在windows桌面上的share_redhat,总是启用,
但是在linux终端运行cd /mnt/hgfs ls时什么也没出现,空白的,是怎么回事??
答:有可能是路径的关系,你把共享目录建立在D盘根目录,目录不要有汉字,空格等特殊字符,试试看
参考技术A 使用vmware(vmware workstation 5)下shared folders功能实现vmware中host与ghost间文件传输,无需任何网络相关设置,不使用任何网络协议,host和ghost可以是linux和windows操作系统,这里只介绍host是windows,ghost是linux下的设置,如果ghost是windows,请参考vmware帮助中setting up shared folders。

1.安装vmtools for linux:
选择vmware workstation程序菜单中VM >install VMware tools...

选择vmware workstation程序菜单中VM >removable Devices >CD-ROM >Edit >USE ISO Image (选择vmware安装目录中linux.iso)
启动guest 电脑中的linux,执行:
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom (vmtools的安装文件放在vmware虚拟的cdrom中,首先要mount上这个光驱才能找到安装文件)
cd /mnt/cdrom
tar -zxvf VMwareTools-5.5.3-34685.tar.gz /tmp (把安装文件解压到/tmp)

cd /tmp/vmware-tools-distrib
./vmware-install.pl
(执行vwware的安装脚本,这个脚本是用perl编写的)
在这里,安装程序会询问安装文件存放位置和设置分辨率等一系列问题,在大多数情况下,安装默认配置vmware tools就可以正常工作,因此,这里对每一个问题按回车键选择默认配置。

安装完以后,vmware会添加一个vmhgfs的模块到内核中,可以使用lsmod查看

以上是关于vmware里面的linux怎么和windows相互传文件的主要内容,如果未能解决你的问题,请参考以下文章

vmware里面的linux怎么和windows相互传文件

vmware里面的linux怎么和windows相互传文件

为啥我运行虚拟机后点击安装vmware tools 后没有反应,需要调啥 帮忙说一下

ubuntu如何和在windows里面拷贝文件

windows怎么与虚拟机linux共享

怎么才能把windows里的文件复制到虚拟机的linux中去