Linux开发环境搭建 使用mount -t cifs 挂载windows共享目录方法与问题解决

时间:2024-05-21 16:07:01

 

嵌入式开发通常是在linux环境下编译,windows下开发,这就需要在linux环境下访问windows目录了,或者在windows*问linux目录。通常有三种方式

如果是在vm虚拟机上,vm提供了一个设置共享目录功能。

如果linux是一台服务器的话,可以在linux上安装samba服务器,这样windows就可以访问linux的目录了。

第三种就是将windows上的目录挂载到linux目录下,这里记录一下相关的命令与错误解决方法:

1. 在windows 10上新建共享文件夹,比如win,然后设置该文件夹的属性,

win文件夹 -->属性-->共享-->设置共享-->添加用户(Everyone)设置读写属性。

Linux开发环境搭建 使用mount -t cifs 挂载windows共享目录方法与问题解决

接着设置高级共享-->共享此文件夹-->权限-->添加

Linux开发环境搭建 使用mount -t cifs 挂载windows共享目录方法与问题解决

 

接着设置密码保护-->打开网络共享中心-->关闭密码保护

Linux开发环境搭建 使用mount -t cifs 挂载windows共享目录方法与问题解决

 

接着打开控制面板-->系统安全-->Windows 防火墙-->启用或关闭防火墙-->关闭防火墙

Linux开发环境搭建 使用mount -t cifs 挂载windows共享目录方法与问题解决

到这里,windows上的目录已经设置完成了,当然也可以设置密码保护等。接下来在linux上执行挂载命令:

//IP地址是windows地址,后面跟上windows上的共享目录,后面的路径是linux上的挂载路径 (uid 是linux 系统的用户ID gid 是linux 系统的组id 主要是设置挂载过来 目录的所属用户ID 和组ID)
sudo mount -t cifs -o username=Everyone,uid=1,gid=1 //192.168.199.123/win /home/sk/win

通常会失败,失败原因有下面这些:

1. mount error(112): host is down

2. cifs_mount failed w/return code = -112

3. mount: cifs 文件系统类型错误、选项错误、//192.168.199.123/win 有坏超级块

解决方法:

1. 在linux平台执行:

sudo apt-get install nfs-common

sudo apt-get install smbfs

2. 在Windows上打开SMB服务

打开控制面板-->程序和功能-->启动SMB 1.0/CIFS文件共享支持-->重启生效(一定要重启)

Linux开发环境搭建 使用mount -t cifs 挂载windows共享目录方法与问题解决

3. 重新执行mount命令

sudo mount -t cifs -o username=Everyone,uid=1,gid=1 //192.168.199.123/win  /home/sk/win