ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE [BSoD 修正]

ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE (エラーコード 800 (0x320)) は、「このハンドルに関連付けられていたオプロックは現在別のハンドルに関連付けられています」という説明と共に表示されます。このエラーは、ファイルや共有フォルダーがネットワーク上で使用中の際、ファイルにリンクされたオプロック(オポチュニスティックロック)が別のハンドルに移動したときに発生します。
オポチュニスティックロックは、ネットワーク上のファイルに対するアクセスを迅速化します。このエラーは、複数の人またはプログラムが同時に同じファイルにアクセスしようとする場合に表示され、システムがオプロックを一人のユーザーまたはプログラムから別のものに移動させたときに発生します。
ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLEを修正するにはどうすればよいですか?
1. 共有の権限を確認する
- 確認したい共有ファイルやフォルダーを右クリックし、プロパティを選択します。
- 共有タブに移動し、高度な共有を選択します。
- 権限をクリックします。
- 権限ウィンドウに、共有フォルダーにアクセスできるユーザーおよびグループのリストが表示されます。
- アクセスしたいフォルダーまたはファイルに対してフルコントロールを持っていることを確認します。必要に応じて、ユーザーまたはグループを追加して権限を変更できます。
次に、NTFS権限を確認する手順に従います:
- ファイルのプロパティウィンドウで、セキュリティタブに移動します。
- ファイルまたはフォルダーにアクセスする権限を持つユーザーとグループのリストが表示されます。
- ここで、あなたのユーザーグループがファイルへの読み取りまたはフルコントロール権限を持っていることを確認します。必要に応じて編集をクリックして権限を調整します。
必要なアクセス権を確認または調整したら、ファイルまたはフォルダーにアクセスを試みてください。さらに、同じファイルに複数の接続が同時にアクセスしている場合は、不要なプログラムを閉じてください。
2. SMBクライアントとサーバーを再起動する
- Windowsキーを押し、検索ボックスにcmdと入力し、リストから管理者として実行を選択してコマンドプロンプトを管理者権限で起動します。
- 次のコマンドを一つずつコピー&ペーストし、各コマンドの後にEnterキーを押してSMBクライアントまたはサーバーサービスを再起動します:
- クライアント側 –
net stop lanmanworkstation net start lanmanworkstation - サーバー側 –
net stop lanmanserver net start lanmanserver
- コマンドプロンプトウィンドウを閉じます。
3. オポチュニスティックロックを無効にする
- Windows + Rを押して実行ウィンドウを開きます。

- regeditと入力し、OKをクリックしてレジストリエディタアプリを起動します。
- 最初にレジストリエントリのバックアップを取り、次にファイル > エクスポートに進み、アクセス可能な場所に.regファイルを保存します。

- 以下のパスに移動します:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters - DWORD OplocksDisabledを探し、それをダブルクリックして値データを1に設定し、OKをクリックします。
- ただし、OplocksDisabledが表示されない場合は、右ペインを右クリックして新規を選択し、サブコンテキストメニューからDWORD(32ビット)値を選択します。

- DWORDの名前をOplocksDisabledとし、それをダブルクリックします。
- 値データを1に設定し、変更を保存するためにOKをクリックします。

- 変更を有効にするためにコンピュータを再起動します。
このトピックについてもっと読む
- MicrosoftがWindows 11のセキュリティ向上のためにJScriptをJScript9Legacyに置き換える
- Windows 11ビルド27898が小さなタスクバーアイコン、迅速回復、スマート共有を追加
4. ネットワークドライバーを更新する
- Windows + Rを押して実行ウィンドウを開きます。

- devmgmt.mscと入力し、OKをクリックしてデバイスマネージャーを開きます。
- システムコンポーネントのリストからネットワークアダプターを探し、クリックして展開します。
- ドライバーを右クリックし、コンテキストメニューからドライバーを更新を選択します。

- ドライバーを自動的に検索をクリックします。

- Windowsがあなたに適したドライバーを見つけた場合は、画面上の指示に従いプロセスを完了します。
ただし、Windowsが最適なドライバーのバージョンを見つけられなかった場合は、デバイスメーカーのウェブサイトに行き、手動でドライバーをインストールできます。または、すべてのデバイスのドライバーが最新であることを確認するために、信頼できるサードパーティ製のドライバー更新ツールを使用できます。
ネットワークドライバーの更新がERROR_OPLOCK_SWITCHED_TO_NEW_HANDLEを修正しなかった場合は、ドライバーを再インストールする手順に従います:
- デバイスマネージャーを再起動し、ネットワークアダプターカテゴリーを展開し、右クリックしてデバイスをアンインストールを選択します。

- アンインストールをクリックします。
- アクションに移動し、ドロップダウンメニューからハードウェア変更のスキャンを選択します。

5. 一時的にアンチウイルスを無効にする
- Windowsキーを押し、検索ボックスにsecurityと入力し、Windows セキュリティを選択して開くを選択します。

- ウイルスと脅威の防止に移動し、設定の管理をクリックします。

- リアルタイム保護を探し、スイッチをオフにします。

リアルタイム保護をオフにしてもERROR_OPLOCK_SWITCHED_TO_NEW_HANDLEが表示される場合は、ネットワーク共有またはファイルサーバーを例外として追加する手順に従います:
- Windows セキュリティのウイルスと脅威の防止に移動し、設定の管理をクリックします。
- 下にスクロールして例外を見つけ、例外の追加または削除をクリックします。

- UACプロンプトではいをクリックします。
- 除外の追加ボタンをクリックし、ファイルまたはフォルダーを選択します。

- ウィンドウからファイルを選択し、フォルダを選択をクリックします。
サードパーティ製のアンチウイルスソフトウェアがある場合は、短期間オフにしてBSoDエラーがまだ発生するか確認できます。
6. CHKDSKスキャンを実行する
- Windowsキーを押し、検索ボックスにcmdと入力し、リストから管理者として実行を選択してコマンドプロンプトを管理者権限で起動します。

- ファイルシステムの整合性を確認し、論理ディスクエラーを修正するために、次のコマンドをコピー&ペーストしてEnterを押します:
chkdsk C: /f /r
- ドライブが使用中の場合、再起動後にスキャンをスケジュールするように求められます。Yと入力してEnterを押します。
- コンピュータを再起動してスキャンを開始し、ディスク上の破損を修正します。
結論として、ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLEを修正するには、SMBサービスを再起動し、オポチュニスティックロックを無効にし、CHKDSKユーティリティを実行し、アンチウイルスを無効にするか、ネットワークドライバーを更新または再インストールすることができます。
最近では、ERROR_OPLOCK_HANDLE_CLOSED、ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY、ERROR_CORRUPT_LOG_OVERFULLといった他のBSoDエラーについても取り上げました。
BSoDエラーについて質問や提案がある場合は、以下のコメントセクションでお知らせください。喜んでお手伝いします!