「Windows 10ミニTips」は各回の作成時点で最新のWindows 10環境を使用しています。 |
---|
Windows 10に移行すると、一部の古いNAS(Network Attached Storage)へアクセスできないケースが散見する。これはNASのOSがLinuxなどを使用し、ファイル共有プロトコルであるSMB(Server Message Block)の古いバージョンを使用しているからだ。今回はWindows 10側でこの問題を解決するTipsを紹介する。
SMBのバージョンとは
WindowsはSMBというファイル共有プロトコルを用いて、互いのPC上に保存したファイルをやりとり可能にしている。ここで混乱しやすいのがCIFS(Common Internet File System)の存在だ。
MicrosoftやLinux周辺の説明も時代によって異なるが、現時点でMicrosoftは「SMB 1.0は、CIFSを拡張したプロトコルとしてWindows 2000以前のOSに実装した」と説明する。そのため「SMB 1.x = CIFS」とし、現在のWindowsは「その時々の最新SMBを使用している」という認識で構わない。
Windows 10はSMB 3.1.1という最新のバージョンを実装しているが、それを使えるのは(執筆時点で)Windows 10同士のみである。今後リリースされるWindows Server 2016(仮)は、SMB 3.1.1をサポートするようだ(Technical Preview 4で確認済み)。
NASにアクセスできない理由
さて、NASにアクセスできない理由はいくつも考えられるが、比較的多いのがSMBバージョンの問題だ。筆者の環境には古いNASがないため、あくまで実験として、Linux上のSamba(Windowsネットワークを提供するソフトウェア)で使用可能なSMBのバージョンを「NT1(SMB 1.x)」に限定すると、アクセスできない旨を示すメッセージが現れる。
MicrosoftはWindows 8.1の時点で、SMB 1.xを非推奨機能にしたものの、Windows 8.1もWindows 10 ビルド10586も、「SMB 1.0/CIFSファイル共有のサポート」を初期状態で有効にしている。
そのため上図のようにNASアクセス時にエラーが発生する場合、「SMB 1.0/CIFSファイル共有のサポート」を何らかの理由で無効にしているか、他の問題が発生している可能性が高い。
SMB 1.0を有効にする
SMB 1.0のサポートを有効にするには、「Windowsの機能の有効化または無効化」を操作する。
一覧から「SMB 1.0/CIFSファイル共有のサポート」のチェックが外れている場合は、クリック/タップでチェックを入れて有効化する。なお、PCの再起動が必要なため、他の作業を行っている場合はあらかじめ終了させておこう。
再起動後に同じNASにアクセスすると、SMB 1.xでアクセスできることを確認できるはずだ。なお、ご自身の環境でSMBバージョンを確認するには、管理者権限でPowerShellを起動し、「Get-SmbConnection」を実行すればよい。
阿久津良和(Cactus)