17

Under Linux (Ubuntu 12.04) I want to mount a windows share / windows partition named //winshared on the network. I do not know the IP or anything else.

On one Ubuntu system, I am able to mount a directory with

mount  //winshared/mypath /mnt/win

while on one other Ubuntu system the exact same command just gives

mount error: could not resolve address for winshared: Unknown error

Network settings seem to be same on both systems, and I installed smbfs and samba (the latter with errors). Do I need to instal something else? Do I need to configure something? How to find out the crucial differences between both systems to get the same mount work on both systems?

Additional information:

  1. When I use smbclient to connect to the windows partition/share/whatever, it works on the first system but not on the other system. The error is:

    Connection to winshared failed (Error NT_STATUS_BAD_NETWORK_NAME)
    
  2. Following this tutorial I installed smbfs and cifs-utils, but the mount command from above still gives the same error, which is NOT described in the tutorial.

  3. I also have an entry in /etc/fstab reading

    //winshared/mypath /mnt/win cifs uid=alexander,credentials=/etc/samba/wincred 0 0
    

    with the file /etc/samba/wincred identical to a same file on the system the mount works. The md5sum of both files are identical. Therefore, an error regarding credentials can be excluded.

  • See the tutorial on the Ubuntu Wiki: wiki.ubuntu.com/MountWindowsSharesPermanently – slm Nov 6 '13 at 13:03
  • I installed the two packages, but still get the same error! – Alex Nov 6 '13 at 13:16
  • I have updated the question; I posted the line of fstab, and I have verified the credential file is correct. – Alex Nov 6 '13 at 13:28
  • 3
    I would get this working from the command line 1st, putting the line in /etc/fstab is just making it more complicated to debug it to start. If you can't mount from the command line then it's something else. I use this everyday: mount -t cifs -o rw,netbiosname=serv1,credentials=/etc/creds.txt //192.168.1.1/somedir /mnt – slm Nov 6 '13 at 13:33
  • Nope, changing permission to 600 does not fix the problem. – Alex Nov 6 '13 at 13:37
13

Either you have name resolver issue (which you can check by e.g. pinging the host winshared from your Ubuntu host) or smbfs module is not loaded.

You might have to install smbfs first with apt-get -y install smbfs and then insert the module with modprobe smbfs, but after that you should be good to go with mount -t smbs.

What you're looking for is mount -t smbfs -o username=<your_username>,password=<your_password> //server/share /mountpoint.

  • smbfs is installed, but a modprobe smbfs returns FATAL: Module smbfs not found. Do I need to start smbfs first? If so, how? How to make it start automatically after a reboot? – Alex Nov 6 '13 at 12:58
  • @Alex - There is nothing to start. You're missing packages most likely. – slm Nov 6 '13 at 13:00
  • @Alex - see this Ubuntu tutorial, it has everything you need: wiki.ubuntu.com/MountWindowsSharesPermanently – slm Nov 6 '13 at 13:02
  • I followed this tutorial, but still get the same error! – Alex Nov 6 '13 at 13:16
  • Necro or future travelers. smbfs is missing on new systems. Use sudo apt-get install cifs-utils instead. And if that's so, then the 'modprobe smbfs' also wont work. So this answer doesn't work on new systems. – Celess Sep 24 '18 at 18:08
3

I'm using a BeagleBone Black running Debian 4.9 and, due to it's limited storage capacity, I needed to mount a remote folder hosted on a Windows 10 desktop. (I know this is probably not the best from a system design standpoint, but business needs often leave little room for that.) So, having to improvise, a mounted remote folder is what I came up with.

After running into many, many problems attempting to mount a Windows 10 shared folder, here's my solution, so that others can hopefully benefit from my experience.

Windows 10 "Remote" Host

  1. Enable SMB1.0/CIFS File Sharing Support in Windows Features (details).
  2. Start the Windows NetLogon service.
  3. Enable Sharing on the folder you want to share.

Debian Linux Client

  1. Install support packages: smbclient and cif-utils:

    sudo apt-get install smbclient
    sudo apt-get install cifs-utils
    
  2. Create target directory to mount remote share:

    sudo mkdir -p /mnt/my_mount_dir
    
  3. Mount remote folder:

    sudo mount -t cifs -o "domain=MYDOMAIN,username=MyUserName,password=myPas$werd,sec=ntlm" //(your windows host ip)/(your remote share name) /mnt/my_mount_dir
    

    UPDATE: After updating my local install of Debian to version 6.3, my mount command broke requiring me to add the vers option to specify SMB1:

    sudo mount -t cifs -o "domain=MYDOMAIN,username=MyUserName,password=myPas$werd,sec=ntlm,vers=1.0" //(your windows host ip)/(your remote share name) /mnt/my_mount_dir
    
  • 1
    SMB1 is outdated, and you really should try to avoid using it where possible. If you include vers=2.1 in the mount options you'll get SMB 2. You'd also be better off using credentials instead of username and password. And you may not need the sec=ntml after all that. – roaima Feb 12 at 20:52
  • @roaima Thanks for the tips, but I'm stuck using the old stuff. Thanks for fixing the code formatting as well. It wasn't letting me put the code between the list items. – Jim Fell Feb 12 at 21:54
  • mount didn't break; it moved to using SMB2 or possibly 3. SMB1 has been deprecated for well over ten years and you shouldn't still be using it. – roaima Feb 13 at 19:40
  • @roaima That's good to know, but unfortunately Windows 10 appears to only support "SMB1.0/CIFS". Plus this is for a private network, so I'm not overly concerned about security. – Jim Fell Feb 13 at 20:15
  • Windows 10 supports SMB2 and SMB3. You had to install a support package to allow it to fall back to SMB1. – roaima Feb 13 at 20:34
1

Check that winbind is installed; then, in your /etc/nsswitch.conf file, there must be wins listed in the hosts line.

Something like:

hosts: files wins dns

There may be other modules listed, depending on what packages are installed on your system.

  • Tried this solution yesterday on Ubuntu 12.04 64bit and it worked great. Thanks. Today I'm doing the same on Ubuntu 12.04 32bit and it fails, strange. – Czarek Tomczak Aug 1 '14 at 6:29
  • 1
    @update: Turns out you have to install the winbind package sudo apt-get install winbind. – Czarek Tomczak Aug 1 '14 at 6:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.