WindowsでNASやSamba共有をネットワークドライブに割り当てていると、「Microsoft Windows Network: ローカル デバイス名は既に使用されています」と出て、ドライブに入れなくなることがあります。
原因は、古いSMB接続、ドライブ文字の競合、保存済み資格情報の不整合であることが多いです。PC再起動の前に、まずは問題のドライブ文字だけを切り直します。
まずこれを試す:対象ドライブだけ切って再接続
コピペ用です。実行前に、先頭3行の
DRIVE、SHARE、USER
だけ自分の環境に合わせて書き換えてください。パスワードは画面に出る入力プロンプトで入れます。
CMD版です。コマンドプロンプトを開いて実行します。失敗する場合は管理者として開き直してください。
set DRIVE=Z:
set SHARE=\\NAS\share
set USER=NASユーザー名
net use %DRIVE% /delete /y
net use %DRIVE% "%SHARE%" /user:%USER% * /persistent:yes
PowerShell版です。資格情報ダイアログにNASのパスワードを入力します。
$drive = "Z:"
$share = "\\NAS\share"
$user = "NASユーザー名"
$cred = Get-Credential -UserName $user -Message "NASの資格情報"
Remove-SmbMapping -LocalPath $drive -UpdateProfile -Force -ErrorAction SilentlyContinue
New-SmbMapping -LocalPath $drive -RemotePath $share -Credential $cred -Persistent $true
最初から net use * /delete
を打たないのがポイントです。* /delete
は全ネットワーク接続を切断します。別NASや開いているファイルも巻き込むので、まずは問題のドライブだけを狙います。
エラーの正体
Microsoftの資料では、このエラーはシステムエラー85、つまり「ローカルデバイス名がすでに使われている」状態です。ここでいうローカルデバイス名は、たいてい
Z: や X: などのドライブ文字です。
見た目どおりに「別のドライブが見えている」とは限りません。エクスプローラー上では切断済みに見えても、SMBクライアント側には古い接続が残ることがあります。逆に、USBメモリ、カードリーダー、仮想ドライブなどが同じ文字を使っていることもあります。
「NASが壊れた」というより、Windowsがそのドライブ文字を再利用できない状態、と考えると切り分けしやすくなります。
まだ直らないときの順番
現在の接続を確認します。
net use
PowerShellなら次のように確認できます。
Get-SmbMapping
それでも「使用中」と言われる場合は、エクスプローラーやアプリがそのドライブを開いていないか確認してください。Microsoftの
net use
資料でも、現在のドライブとして使っていたり、プロセスが使用中だったりする共有は切断できないと説明されています。Excel、バックアップソフト、同期ツール、ターミナルのカレントディレクトリが原因になることがあります。
Workstationサービスを再起動する場面
対象ドライブを削除しても残り続ける、net use
では見えないのに同じ文字で再接続できない、ログオフや再起動なら直る、という場合は、Workstation
サービス、つまり LanmanWorkstation を再起動します。
net stop workstation /y
net start workstation
注意点があります。この操作はSMBクライアント機能を一時停止するので、接続中のネットワークドライブや共有フォルダは切れます。共有上のファイルを閉じ、ほかの共有ドライブを使っていないタイミングで実行してください。
資格情報をリセットする場面
同じNASに入れるPCと入れないPCがある、パスワード変更後からおかしい、サーバー名とIPで挙動が違う、という場合は、古い資格情報を疑います。
GUIなら「資格情報マネージャー」から「Windows資格情報」を開き、対象のサーバー名やIPアドレスの資格情報を削除します。その後、正しいユーザー名とパスワードで再接続します。
コマンドで確認するなら、次のように保存済み資格情報を一覧できます。
cmdkey /list
削除は対象名を確認してから行います。別サービスの認証情報を消さないように注意してください。
cmdkey /delete:NAS名またはIPアドレス
ドライブ文字の競合を確認する
net use や Get-SmbMapping に出てこないのに
Z: が使えない場合は、diskmgmt.msc
で「ディスクの管理」を開き、USBドライブ、カードリーダー、仮想ディスクなどに同じ文字がないか確認します。
競合しているローカルディスクがある場合は、そのローカルデバイス側のドライブ文字を変更するのが基本です。ネットワークドライブには、普段ローカル機器に使われにくい
X:、Y:、Z:
などを使うと衝突しにくくなります。
Samba/NAS側も見るべきケース
Windows側を直しても再接続できないなら、NASやSamba側を確認します。特に見るべきなのは次の点です。
- 共有パス
\\NAS\shareが正しいか - NASがスリープしていないか
- Sambaサービスが起動しているか
- サーバーのディスク空き容量が不足していないか
- そのユーザーに共有とフォルダの権限があるか
- Windowsから名前解決できているか
名前解決が怪しいときは、サーバー名ではなくIPアドレスで
\\192.168.1.10\share
のように試すと切り分けできます。ただし、同じサーバーへ別名・別ユーザーで同時接続すると別の認証エラーを招くことがあるので、先に既存接続を削除しておきます。
最終手段に近い操作
net use * /delete /y
は、全ネットワーク接続をまとめて切る強い操作です。どうしても対象ドライブだけでは解消しない場合に限り、開いている共有ファイルを閉じてから実行します。
net use * /delete /y
レジストリ変更はさらに慎重に扱うべきです。Microsoftのシステムエラー85の記事には
ProtectionMode
というレジストリ値に触れた回避策がありますが、古いWindows/Terminal
Server文脈を含む限定的な説明です。Windows
10/11の一般的な復旧手順として最初に触る場所ではありません。
レジストリを変更する場合は、必ずバックアップを取り、変更対象と理由を記録してから行ってください。原因が単なる残留接続や資格情報なら、レジストリ編集まで進む必要はありません。
サービスやタスクから使うならドライブ文字を避ける
バックアップソフトやWindowsサービスからNASにアクセスする場合は、Z:\backup
のような割り当て済みドライブではなく、\\NAS\share\backup
のUNCパスを使うのが基本です。
Microsoftは、サービスが実行時に net use
でドライブ文字を割り当てる方法を推奨していません。ドライブマッピングはログオンセッションごとに管理されるため、ユーザーが見ている
Z: とサービスが見ている Z:
が一致しないことがあります。
まとめ
このエラーは、まず「問題のドライブ文字だけを消して、同じパスへ作り直す」のが最短です。それで直らない場合は、Workstationサービス、資格情報、ディスク管理のドライブ文字、NAS/Samba側の順に切り分けます。
再起動は確かに効くことがありますが、原因を残したままだとまた起きます。net use * /delete
やレジストリ編集のような広い操作は最後に回し、対象を絞って直すのが安全です。
参考資料
- Microsoft Learn: System error 85 with the NET USE command
System error 85 with NET USE command - Windows ClientThis article helps fix the system error 85 that occurs when a non-administrative user attempts to reconnect to a shared ... - Microsoft Learn: Net use
Net use - Microsoft Learn: New-SmbMapping
New-SmbMapping (SmbShare)Use this topic to help manage Windows and Windows Server technologies with Windows PowerShell. - Microsoft Learn: Remove-SmbMapping
Remove-SmbMapping (SmbShare)Use this topic to help manage Windows and Windows Server technologies with Windows PowerShell. - Microsoft Learn: Services and Redirected Drives
Services and Redirected Drives - Win32 appsA service (or any process running in a different security context) that must access a remote resource should use the Uni...



コメント