Linux访问Windows共享文件夹 (转)

时间:2022-11-19 20:52:22

在开发Linux程序中,经常会使用Windows的编辑器进行编辑,这样还要拷贝到Linux服务器,如果有这种开发习惯的同学,可以使用这种方式进行开发。

当然除了这种方法之外,可以再Windows安装nfs服务器,但是我的是64位的win7系统,好多nfs服务器不支持,所以就只能使用这种共享文件夹的方式了。

Windows侧:

1:在Windows下建立共享文件夹。

2:确保Windows用户设置了密码。

Linux侧:

1:安装cifs-utils包,安装后,系统出现mount.cifs命令。或者有的发行包里的mount支持 -t cifs参数。

2:mount.cifs  -o username="共享用户",password="密码" //ip/sharing_folder /mountpoint

问题1:在共享虚拟机的文件,编译时会出现如下错误:

arm-none-linux-gnueabi-gcc -lpthread -o beep beep.c beeplib.c
cc1: error: beep.c: Value too large for defined data type
cc1: error: beeplib.c: Value too large for defined data type
make: *** [beep] Error 1

修正方法:sudo mount -t cifs -o username=wx,passwd=wx,nounix,noserverino //192.168.1.108/vm_share /mnt/share

添加了,nounix,noserverino

问题2:Unable to umount, device is busy

If you get this error message and the 'umount' as well as 'umount -f' commands don't work, try a "lazy" umount:
umount -l /mnt/badmount
Then mount the share again, as shown below:
mount -t cifs //hostname/goodmount /mnt/goodmount -o username=,password=
Note - using the "cifs" keyword instead of the smbfs keyword after -t will result in fewer problems like this.

问题3: mount error 12 = Cannot allocate memory
当通过mount.cifs命令对windows下的文件进行映射时,若文件太大,便会产生这种错误,解决方法是:
修改注册表 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters\IRPStackSize项的值大于等于15,若IRPStackSize项不存在,就新建一个DWORD值,点击弹出窗口的的进制为十进制,值写个18就ok了,还要重启一下。

http://blog.chinaunix.net/uid-20682890-id-3526098.html