如何映射网络驱动器?

我无法在Ubuntu中映射Windows网络驱动器。我在终端执行了以下命令:

karthick@karthick:~$ sudo mount -t cifs -o username=raghu //172.29.32.184 /media/Data/
Password: 
mount error(2): No such file or directory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

但是它返回了一个错误。我希望有人能解决这个问题。


3一般认为,你应该手动挂载到/mnt/,而/media/用于系统管理的挂载(例如USB)。 - Addison
请查看此帖子中给出的可能解决方案:https://askubuntu.com/a/1195371/825364 - Sohel Pathan
6个回答

我觉得你需要同时传递Windows共享名称,并确认你已经创建了/media/Data。
sudo mkdir /media/Data

使用类似的东西
smbclient -L //172.29.32.184 

列出股份,然后将股份名称附加到您的挂载点上。
sudo mount -t cifs -o username=raghu //172.29.32.184/sharename /media/Data/

请注意- 如果您收到错误消息:wrong fs type, bad option, bad superblock on... 请确保您已安装cifs-utils,它可能不会在您的发行版上默认安装。 sudo apt-get install cifs-utils 如果您需要永久挂载Windows共享文件夹,则可以参考UbuntuForums Staff的HowTo by dmizer(请滚动至永久挂载部分)- 我不会在此重复建议,因为其中包含了一些出色的调试提示、技巧和其他可能遇到的解决方法。

3非常准确。为了映射共享(即使使用Windows作为客户端),您必须直接指向共享。您不能挂载整个计算机,也不能直接挂载共享的子目录。 - Oli
我按照你的指示操作了,但是出现了以下错误。挂载错误(11):资源暂时不可用。请参考 mount.cifs(8) 手册页(例如 man mount.cifs)。 - karthick87
@karthick87 - 这对我来说是一个新的问题 - 可能值得在那个活跃的论坛帖子上发布这个问题。我找到的唯一与这个错误稍微相关的谷歌搜索是这个链接:http://www.linuxquestions.org/questions/linux-server-73/samba-mount-error-11-resource-temporarily-unavailable-817262/ - fossfreedom
2以下是解决方法:mount -t cifs -o 'username=domain\uname' '\\machine\folder' /mnt/folder。 在Redhat上也起作用。 - AlikElzin-kilaka
如果在身份验证时报告了错误的用户名,需要使用smbclient -U <username> -L //IP_Address命令。 - Shayan
@cifs cifs已经过时,我在这里上读到了。有没有办法使用smb2smb3 - Shayan
1https://unix.stackexchange.com/questions/34742/cifs-vs-samba-what-are-the-differences? 听起来那篇文章是错误的。 - Shayan
顺便说一下,我不得不添加 -o vers=1.0 才能连接到我的旧版 samba 服务器。否则会出现 "Server abruptly closed the connection" 错误。 - Masood Khaari

  • 打开一个Nautilus窗口
  • 点击菜单中的"前往",或者按下Ctrl+L
  • 输入smb://remote_host/share_name
  • 转到书签并点击添加

10@DavidCole-GrammarPolice 我不同意:只要这个答案提供了一个不同的解决方案,它就有价值和用处。(没有查看元数据以获取官方对这些问题的看法...) - nutty about natty
这种方法适用于Ubuntu 16.04 - 自从我升级后,另一种方法就不再起作用了。 - eigenjohnson
只要您使用Nautilus,我认为这种方法会起作用。我不确定在使用其他GNOME文件管理器时是否有效。 - houss
感谢您发布了一个更加用户友好且不需要普通用户使用sudo的替代方法!我可以确认上述方法适用于Ubuntu 17.04上的Kubuntu的Dolphin。 - Ray
1这个解决方案在我的文件系统中没有显示SMB挂载的共享名称。不过,它确实帮助我解决了来回复制文件的问题,所以它对我有帮助。其他的解决方案给我权限被拒绝的错误(我正在追踪这个问题)。 - PatS

我使用@fossfreedom的答案,用一行命令来实现这个:
echo '<your su pasword>' | sudo -S mkdir /mnt/sharedfolder/ | sudo -S mount -t cifs -w -o username=nabed -o password=nabed //192.168.0.58/sharedfolder /mnt/sharedfolder/

下载VisiPics并使用Wine安装。
如果存在共享文件夹,则挂载它:
sudo -S mkdir /mnt/sharedfolder/ 
sudo -S mount -t cifs -w -o username=nabed -o password=nabed //192.168.0.58/sharedfolder /mnt/sharedfolder/

然后打开 VisiPics 并打开 Z: 驱动器和文件夹 /mnt。里面你会找到网络数据。
Geeqie 也做得很好,并且有 Ubuntu 版本。

截至2020年,在Ubuntu 18.04上,以下是我使用的方法:
1. 打开Nautilus文件管理器。 2. 按下Ctrl+l键,进入地址栏。 3. 输入sftp://your_user_name@target_ip_address,其中target_ip_address应该是形如102.69.35.384的格式,然后按Enter确认。
现在,系统会要求您输入登录用户名和密码。就这样,您现在应该在Nautilus中建立了与驱动器的图形连接。

3这个方法可以行得通,但从技术上讲,它并不是挂载共享。你通过共享的名称来挂载它,而不知道它在磁盘上的路径。你的解决方案是挂载用户的主目录,并通过SFTP协议模拟一个文件系统。 - Soren A
@SorenA 我猜你是对的,我是个新手,对术语不太了解。那么我的建议“映射”一个驱动器是什么意思呢?与“挂载”有什么区别?谢谢 - NeStack
当Samba由于版本不匹配而无法工作时,这个方法效果很好。 - L.A. Rabida

另一种方法是使用文件浏览器连接到网络位置,然后它被挂载在~/.gvfs下。

从那里,您可以使用mkdir ~/winbox创建目录,然后使用ln -s ~/.gvfs/blahblahblah ~/winbox创建符号链接。

我记得这样做有一些持久性,但是我忘记了具体细节。:P 我当时正在开发需要在 Quickbooks 计算机上运行的 php/odbc 应用程序。

2018年及以后的编辑:在14.04之后,Ubuntu似乎不再使用.gvfs,所以上述方法可能对您无效。有些人对某些变化感到非常生气,因为我的旧答案不起作用了。

请查看此评论:将~/.gvfs移动到/run/user/[UID]/gvfs/blahblah。在使用Nautilus创建一个使用sftp://host:port的位置后,远程服务器的文件系统会显示在那里。


对我来说,.gvfs文件夹是空的,即使在连接了文件浏览器之后也是如此。 - Keith M
1@KeithM 听起来你的情况与3年前的Ubuntu/Gnome不同。你应该发起一个新问题,描述你的设置并寻求建议,同时还要附上这个问题的链接,说明你已经尝试过这里提到的方法。 - Krista K