还记得以前装双系统时用ubuntu,系统是自动挂载windows下的盘符的,后来一直用RHEL,系统不自动挂载windows盘符了,因为装的是虚拟机,一直用ssh进行文件传输,却从未想过如何在linux下挂载windows目录, 只知道用samba是可以的,惭愧啊。。。

    好了,不多说了,下面是如何在linux下挂载windows的共享目录:

    首先我的虚拟机是Centos5.5,IP地址是192.168.2.100,关闭了iptables和selinux

    真实主机是WindowsXP,IP地址是192.168.2.1,共享目录为/centos,关闭了防火墙。

    linux下共享使用的文件系统是nfs,而windows下共享使用的文件系统是cifs,mount命令是支持这两种系统的,只不过默认是nfs,而如果你要挂载windows下目录就必须指定挂载的文件系统为cifs

   linux下的mount命令有很多选项,其中-t 指定挂载的文件系统。   

   mount的语法:
    mount [ -f ] [ -n Node ] [ -o Options ] [ -p ] [ -r ] [ -v VfsName ] [ -t Type | [ Device | Node:Directory ] Directory | all | -a ] [-V [generic_options] special_mount_points ]

参数:

 

  source:将要挂上的文件系统,通常是一个设备名。

 
  target:文件系统所要挂在的目标目录。
 
 
  filesystemtype:文件系统的类型,可以是ext  ntfs  fat32 等等
 
        mountflags:指定文件系统的读写访问标志,可能值有以下
 

  MS_BIND:执行bind挂载,使文件或者子目录树在文件系统内的另一个点上可视。

 

  MS_DIRSYNC:同步目录的更新。

 

  MS_MANDLOCK:允许在文件上执行强制锁。

 

  MS_MOVE:移动子目录树。

 

  MS_NOATIME:不要更新文件上的访问时间。

 

  MS_NODEV:不允许访问设备文件。

 

  MS_NODIRATIME:不允许更新目录上的访问时间。

 

  MS_NOEXEC:不允许在挂上的文件系统上执行程序。

 

  MS_NOSUID:执行程序时,不遵照set-user-ID和set-group-ID位。

 

  MS_RDONLY:指定文件系统为只读。

 

  MS_REMOUNT:重新加载文件系统。这允许你改变现存文件系统的mountflag和数据,而无需使用先卸载,再挂上文件系统的方式。

 

  MS_SYNCHRONOUS:同步文件的更新。

 

  MNT_FORCE:强制卸载,即使文件系统处于忙状态。

 

  MNT_EXPIRE:将挂载点标志为过时。data:文件系统特有的参数。返回说明:成功执行时,返回0。失败返回-1,errno被设为以下的某个值EACCES:权能不足,可能原因是,路径的一部分不可搜索,或者挂载只读的文件系统时,没有指定MS_RDONLY标志。

 

  EAGAIN:成功地将不处于忙状态的文件系统标志为过时。

 

  EBUSY:一.源文件系统已被挂上。或者不可以以只读的方式重新挂载,因为它还拥有以写方式打开的文件。二.目标处于忙状态。

 

  EFAULT:内存空间访问出错。

 

  EINVAL:操作无效,可能是源文件系统超级块无效。

 

  ELOOP:路径解析的过程中存在太多的符号连接。

 

  EMFILE:无需块设备要求的情况下,无用设备表已满。

 

  ENAMETOOLONG:路径名超出可允许的长度。

 

  ENODEV:内核不支持某中文件系统。

 

  ENOENT:路径名部分内容表示的目录不存在。

 

  ENOMEM:核心内存不足。

 

  ENOTBLK:source不是块设备。

 

  ENOTDIR:路径名的部分内容不是目录。

 

  EPERM:调用者权能不足。

 

  ENXIO:块主设备号超出所允许的范围。

       mount的具体选项就不赘述了。下面举例如何挂载windows下/centos目录

    首先打开nfs服务和portmap服务

    #service nfs start

    #service portmap start

    然后挂载(只有root才能挂载)

    #mount -t cifs //192.168.2.1/centos /test -o username=administrator,uid=oracle,gid=oracle

   其中:-t cifs 指定挂载文件系统, //192.168.2.1/centos 为远程windows的共享目录,username为远程windows的用户名,uid和gid是你挂载时所指定的目录所属和所属组。