在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...
启动 guest 电脑中的 linux ,执行:
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
vmtools 的安装文件放在 vmware 虚拟的 cdrom 中,首先要 mount 上这个光驱才能找到安装文件)
cd /mnt/cdrom
tar -zxvf VMwareTools-5.0.0-12124.i386.tar.gz -C /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 >Properties
点击对话框右下的 “add” 按钮,点击 下一步

在文本框 “name” 中输入共享目录的名字(这里填写的目录名以后在 ghost computer linux 系统中将显示出同样的目录名),假设为 fc4_iso ;在 “host folder” 中填入 host computer windows 系统想要共享出来的目录,假设为 F:/linux-cd/RedHat/Fedora_Core_4/stentz-dvd-i386 ,然后点击完成


下一个对话框是选择共享的方式 :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
可以看到 fc3_iso 的目录,并且可以用 cp 等指令实现 windows linux linux windows 的读写操作了


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 命令要简单得多

 

两种其它常用方法

  提供最常用的两种方案:

   1. FTP 访问

   2. Samba 服务

  不管是 FTP 还是 Samba ,首先都需要分析虚拟机环境下的 Host-Guest 网络连接。基本上我们可以把 Host 机与 Guest 机之间当作局域网中的两台机器来实现互联。那么现在需要重新考虑关于《虚拟机的网络配置》一文中提到过的网络连接方式。

  当时我们选择以 NAT 模式进行网络连接,这是一种使用 DHCP 服务进行网络连接的方式,也就是说, Guest 机并没有自己的固定 IP 地址,这个地址是在启动 了系统之后,从 Host 机上取得的、一个暂时提供给 Guest 机使用的 IP 地址。在这种网络连接方式下,设置 Guest 机中系统的 IP 获取方式为自动获 取,不管 Host 机联网的方式如何,只要 Host 能上网, Guest 机也可以上网。

  虽然选择这种方式,外网连接是很方便,可是在 Host-Guest 之间的局域网连接真的让人伤透了脑筋,虚拟网卡 VMnet8 IP Host 机的 IP 在同一网段,折腾了一个晚上也没有找到好的解决办法,最后舍弃了 NAT 模式。将 Linux 虚拟机的网连方式改为了 Bridge

   Bridge 模式将虚拟主机的虚拟网卡桥接到一个 Host 主机的物理网卡上,可以理解为 Guest 机和 Host 主机处于对等的地位,在网络关系上是平等的,对于我这种对路由的事情比较白痴的人来说,这是最易理解的一种局域网互联方式。

  我的使用网络服务是小区 LAN 网, IP 自然是自动获取的,不用花心思改动它,将 Guest 机的网络也设置成为自动获取 IP

  应用程序 --> 系统设置 --> 网络 --> 编辑 eth0 设备

   Host Guest 在同一网段,基本上就像局域网里面的两台机器。 Host 设置一下 FTP FTP 算是实现对 Host 机资源的访问了,可文件的管理似乎不那么方便。

 

  另一种共享 Windows 资源的方法是很多 Linux 用户都非常青睐的 Samba Samba 是一套让 UNIX 系统能够应用 Microshoft 网络通讯协议的软件。它使执行 UNIX 系统的计算机能与执行 Windows 系统的计算机分享驱动器与打 印机。非常适用于 Windows Linux 系统并存的网络。 Red Hat AS 4.0 内附 Samba Server ,但默认并不是在系统启动时自动运行的。可通过 service 命令查看和控制 Samba 服务:

 

  查看 Samba 服务运行状态: # service smb status

  启动 Samba 服务: # service smb start

  停止 Samba 服务: # service smb stop

  也可设置系统重启时,自动启动 Samba 服务: # chkconfig --level 345 smb on

  首先我们在 Windows 系统中设置文件夹或驱动器 Web 共享,并对其设置别名,如: /study

  然后在 Linux 中,以用户身份登录 smb 服务:

 

  常见的错误提示:

   1 .防火墙问题

  使用 Samba 服务时, Host Guest 都应关闭防火墙。 Linux 系统下关闭防火墙的方法:系统设置 --> 服务器设置 --> 服务 -->iptable--> 停止

   2 .登录用户名或密码错误

  验证用户名密码即可。

  成功登录 smb

  可用 LS 命令查看当前目录下的共享文件

  用 get 命令可从服务器上下载某文件:

   Smb:/> get file1 file2 (从服务器上下载 file1 ,以 file2 为名保存在本地——默认为 root 主目录)

   Exit 命令可退出 smb 服务器

  如果仍然觉得文件的管理不方便,可以使用 smbmount 命令,挂载 Windows 的共享文件夹或驱动器:

   # smbmount //192.168.0.162/study /mnt/mystudy o username=admin

  其中, 192.168.0.162 Host IP study 为共享文件夹别名; /mnt/mystudy 为挂载点,可由 #mkdir /mnt/mystudy 创建; admin Host 机登录用户名。

  打开挂载目录。

  这样看起来习惯多了吧?跟 Windows 里面的文件管理界面几乎相同了。

至此,虚拟机 Linux 共享宿主机 Windows 资源基本实现,完成时候觉得很简单,但是一路摸索过来的确遇到了不少问题。

由于本人目前对于 linux 的学习还不够深入,所以选择了比较简单的 shared folder 来共享文件。至于 FTP SAMBA 模式,先总结在这里,以后学习网络时好好学习下!哈哈!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值