说实话这是自己觉得最难走的一步,花费了很大的时间。一开始的时候按照书上的方法没能实现,自己也没太在意。结果到第5章内核雏形时,因为要在Linux下编译文件,觉得这个问题没法再托了。

     按照于渊兄授人与鱼,不如授之与鱼的精神。先简要解释下虚拟机和宿主机文件共享的方法。大概有三个

      1.用smb服务,smb是用来实现Linux和windows文件共享的一种服务,主要是以网络连接形式来实现共享的,我用的就是这种方法

      2.用vm tools,上网搜索时大部分讲虚拟机共享文件用的都是VM,就不知道VPC有没有专门针对Linux的addition,我找到一个但因为与Linux的内核不对应所以没能用

我用的是VPC2004,在虚拟机Linux 的setting选项中,有个network(网络)选项,用NAT(共享网络),虽然可以实现虚拟机的Linux上网,但此时宿主机对虚拟机在网络中是互相不可见的,虚拟机的数据通过宿主机发送,此时的宿主机机像个路由器样的。

   我选择的是主机的物理网卡模式,我的网卡为Intel pro/100 VE network(各人会有不同),在这中模式下,虚拟机与主机是一种平行关系,可视为同一局域网中的两台机器.

   首先在Linux图形界面的网络管理中把IP分配方式设为自动分配,这样DHCP服务器会为虚拟机分配一个与宿主机在同一网段地址。此时可互相ping一下对方(注意关调主机中的所有防火墙,危险当然有,但为了学习也管不了这么多了),能ping通说明双方已经具备互连的可能了,然后调出控制台,按以下步骤:

1.在windows中将要共享的文件夹设置为共享,而且在本地连接->属性->共享中也要把本机设置为共享

2.建立挂载目录 mkdir /mnt/smb/Tinix -p(好像是这个参数,不对自己查下)

3.开samba服务,sevcie smb start

4.用smb进行挂载smbmount //主机ip或主机在局域网的名字/共享文件夹名 /mnt/smb/Tinix -o username=admin

这样就将windows中的共享文件夹挂载在Linux的/mnt/smb/Tinix目录了,一定要注意将所有防火墙关掉!!

以上的方法是在局域网情况下的,在家里用adsl上网时,用此方法就不行,而且我将虚拟机的IP和主机的设在同一个网段也不行,继续研究下。。。。。