ひゃまだのblog

ひゃまだ(id:hymd3a)の趣味のブログ

LinuxからWindows共有フォルダにアクセスする

(2025-04-13 初稿)

職場のWindowsで共有しているNASがあり、そちらにRaspberry PiDebian等のLinuxでアクセスしようと試みたところ、エラーでアクセスすることができなかった。

この記事は、LinuxからWindows共有フォルダにアクセスするための解決方法の一つを示す。

smbclientで試す

まずは、なぜアクセスできないのか問題を切り分けるために、smbclientをインストールして試す。

$ sudo apt install smbclient

例えば、192.168.1.1のIPアドレスの共有フォルダ(share)の場合は、以下のとおりアクセスする。

$ smbclient //192.168.1.1/share

ちなみに、smbclient はいろいろなオプションがあり、--usage オプションを付けて起動すると、使い方が表示される。

$ smbclient --usage

また、smbclientの中で使えるコマンドは、helpコマンドで一覧表示される。

$ smbclient //192.168.1.1/share
smb: \> help

これでアクセスできない場合は、WIndowsにおける共有フォルダの設定またはファイヤーウォール等のネットワーク設定を確認すべきである。

smbclientは成功するが、エラーでmountできない場合

まずは、Windows共有を mount するために必要なパッケージをインストールする。

$ sudo apt install cifs-utils

筆者の場合は、smbclientではアクセスが成功するが、なぜかmountができなかった。

例えば、以下のように /mnt/share にマウンティング・ポイントを作る。

$ sudo mkdir /mnt/share

実際にLinuxでmountしてみると、以下のようなエラーメッセージが出て、mountできない。

$ sudo mount -t cifs //192.168.1.1/share /mnt/share -o username=[WindowsUser],password=[Password],uid=hoge
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)

いろいろとオプションを試したけど、なかなか正常にmountすることができなかった。

ネットで検索すると、以下のページがヒット。

上記のページでは、「vers=2.1」とオプションをつければ良いようだが、筆者の職場環境では、「vers=1.0」と付けなければならなかった。

たぶん、もっと古いVersionのWindows共有を使っているもよう。

ということで、以下のとおりmountすれば成功した。

$ sudo mount -t cifs //192.168.1.1/share /mnt/share -o username=[WindowsUser],password=[Password],uid=hoge,vers=1.0

起動時からmountする

前節までで、コマンドでmountできるようになったので、起動時からmountするように、/etc/fstabに追記する。

//192.168.1.1/share /mnt/share cifs username=[WindowsUser],password=[Password],uid=hoge,vers=1.0 0 0 

ちなみに、最後の 0 0 は<dump>と<fsck>で、Windows共有の場合は、0 0で良いようである。

ちなみに、筆者は職場に一台tailscaleをインストールしたRaspberry Piを置いておき、Raspberry PiWindows 共有フォルダをmountさせ、自宅、出張先などのどこからでもWindows共有フォルダにアクセスできようにしている。

Windows共有フォルダがmountできない人の参考になれば幸い。

関連ページ