問題の概要
エラー 0x80004005 は、非常に厄介で汎用的なメッセージです。Windows はこれを単に「不明なエラー」と表示するため、何が問題なのかを特定する手がかりが全く得られません。このエラーは、ネットワークドライブを割り当てようとしたり、エクスプローラーに \\192.168.1.50\backups のようなパスを入力したりした際によく発生します。接続は即座に失敗します。これは通常、最新の Windows のセキュリティのデフォルト設定が、NAS やサーバーで使用されている古くて安全性の低い通信方法をブロックしているために起こります。
Windows cannot access \\server\share
Error code: 0x80004005
Unspecified error
根本的な原因
- ゲストアクセスのブロック: Windows 10 バージョン 1709 以降、Microsoft は中間者攻撃を防ぐために、安全でないゲストログオンを無効にしています。
- SMBv1 の廃止: サーバーが 30 年前のプロトコルである SMBv1 を使用している可能性があります。Windows 10 および 11 では、安全性のためにこれがデフォルトで無効になっています。
- 古い資格情報: 資格情報マネージャーに保存されている古いキャッシュパスワードを Windows が使用しようとしており、それがサーバー側の現在のパスワードと一致していない可能性があります。
- バインドの問題: 「Microsoft ネットワーク用クライアント」サービスが、特定の Wi-Fi またはイーサネットアダプターで正常に動作していない可能性があります。
ステップバイステップの解決策
方法 1: 安全でないゲストログオンを有効にする
多くの家庭用 NAS デバイス(古い WD MyCloud やエントリーモデルのバッファロー製ドライブなど)は、パスワードなしのゲストアカウントを使用しています。Windows は現在、これを重大なセキュリティリスクと見なしています。これを回避するには、ローカルネットワークを信頼するようにレジストリで設定する必要があります。
Win + Rを押し、regeditと入力して Enter キーを押します。- 次の場所に移動します:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
- `AllowInsecureGuestAuth` を探します。存在しない場合は、空白部分を右クリックして、**新規 > DWORD (32 ビット) 値** を選択し、正確にその名前を付けます。
- **値のデータ** を `1` に変更します。
- PC を再起動します。この簡単な変更で、0x80004005 エラーの約 80% が解決します。
### 方法 2: SMB 1.0 サポートを強制する
レガシーハードウェアは、SMB 2.0 や 3.0 を処理するパワーが不足していることがよくあります。デバイスが 7〜10 年以上前のものである場合、おそらく SMBv1 が必要です。安全ではありませんが、アクセスを回復するためにクライアント側のプロトコルを再度有効にすることができます。
- スタートメニューで「**Windows の機能の有効化または無効化**」を検索します。
- リストの中から「**SMB 1.0/CIFS ファイル共有のサポート**」を探します。
- 「**SMB 1.0/CIFS クライアント**」のチェックボックスをオンにします。「サーバー」や「自動削除」コンポーネントは必要ありません。
- 「OK」をクリックし、プロンプトが表示されたら再起動します。
コマンドラインがお好みですか?管理者として PowerShell で以下を実行すれば、同じ結果が得られます。
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client
### 方法 3: 資格情報マネージャーをクリアする
Windows は執拗です。以前に別のパスワードで共有フォルダにログインしたことがある場合、Windows はバックグラウンドでその古いパスワードを使い続けようとすることがあります。これにより、サイレントに拒否され、0x80004005 エラーが発生します。
- スタートメニューの検索で「**資格情報マネージャー**」と入力して開きます。
- 「**Windows 資格情報**」をクリックします。
- リストからサーバーの IP アドレスまたは名前(例: `\\192.168.1.100` や `\\SYNOLOGY`)を探します。
- エントリを展開し、「**削除**」をクリックします。
- 再度フォルダへのアクセスを試みます。これで、新しいログインプロンプトが表示されるはずです。
### 方法 4: ネットワークアダプターのバインドをリセットする
時として、基盤となるネットワークスタックがファイル共有プロトコルを正しく認識できなくなることがあります。バインドをリセットすることで、ネットワーク全体をリセットすることなく「不明なエラー」を解消できる場合があります。
- `Win + R` を押し、`ncpa.cpl` と入力して Enter キーを押します。
- 使用中の接続を右クリックし、「**プロパティ**」を選択します。
- 「**Microsoft ネットワーク用クライアント**」を見つけます。チェックを外して「OK」をクリックします。
- 5 秒待ってから再度「プロパティ」を開き、チェックを入れ直します。これにより、Windows はそのアダプターのネットワーククライアントを強制的に再読み込みします。
## 確認作業
修正のテストにエクスプローラーを使わないでください。失敗がキャッシュされていることが多いためです。代わりにコマンドプロンプトを使用します。次のコマンドを実行して、サーバーが応答するか確認してください。
net view \192.168.1.50
「Public」や「Video」といったフォルダのリストが表示されれば、復旧完了です。次のコマンドを使用して、ドライブを永続的に割り当てることができます。
net use Z: \server\share /persistent:yes
## 予防策とベストプラクティス
接続の問題は、多くの場合 IP アドレスの競合に集約されます。ホームラボや小規模オフィスを管理している場合は、デバイスが同じ IP アドレスを奪い合っていないか確認してください。スタティック IP の範囲を計画するために、[サブネット計算機](https://toolcraft.app/en/tools/developer/ip-subnet-calculator) を使用することをお勧めします。これにより、NAS をルーターの DHCP プールの外側にある予測可能なアドレスに配置できます。
最後に、方法 1 と方法 2 は一時的な修正として扱ってください。SMBv1 とゲストログオンは脆弱性です。NAS が対応している場合は、SMB 3.0 を有効にするファームウェアアップデートがないか確認してください。ハードウェアのソフトウェアを最新の状態に保つことが、ネットワーク共有へのアクセスを維持しつつセキュリティを確保する最善の方法です。

