Windowsで「エラー0x80042304: ボリュームシャドウコピープロバイダーが登録されていません」を修正する方法
バックアップや復元を試みる際に、厄介な VSS エラーのポップアップが表示されて困っていませんか? バックアップがうまくいかないときは特にイライラしますよね。このエラーは、Windows がデータのスナップショットを作成するために使用するシャドウ コピー プロバイダーが登録されていないか、正しく動作していないために発生することがよくあります。そのため、バックアップがクラッシュしたり、復元ポイントが作成されない場合は、これらの修正で解決できるかもしれません。これらの修正は、システムをいじって、不具合のある部分を再登録するようなものです。これらの手順を実行すると、少なくとも一時的にバックアップが再び動作するようになることもあります。コマンドライン操作やレジストリの調整が必要になる場合があるので、技術的な作業に備えてください。環境によっては、これらの方法を数回試したり、再起動を 1 回または 2 回行う必要があるかもしれませんが、一般的には試してみる価値があります。Windows はシャドウ コピーを時々少し脆弱にしているようです。それでは、始めましょう。
方法1:ボリュームシャドウコピープロバイダまたはVSS DLLファイルを再登録する
- 管理者権限でコマンドプロンプトを起動します。Windowsの検索ボックスに「cmd」と入力し、右クリックして「管理者として実行」を選択します。
- 以下のコマンドを入力し、それぞれ入力後にEnterキーを押してください。これらのコマンドはVSSサービスを停止し、DLLの登録を解除してから再度登録します。これは、シャドウコピーシステムを初期化するようなものです。問題が解決しない場合は、一部のマシンではサービスアプリ( services.msc)で特定のサービスを無効化または有効化する必要がある場合があります。
cd /d %windir%\system32 Net stop vss Net stop swprv regsvr32 ole32.dll regsvr32 oleaut32.dll regsvr32 vss_ps.dll vssvc /register regsvr32 /i swprv.dll regsvr32 /i eventcls.dll regsvr32 es.dll regsvr32 stdprov.dll regsvr32 vssui.dll regsvr32 msxml.dll regsvr32 msxml3.dll regsvr32 msxml4.dll Net start swprv Net start vss
それぞれの手順を実行した後Enter、マシンを少し休ませてから再起動してみてください。場合によっては、それだけでVSSプロバイダーの登録問題が解決することもあります。
なぜこれを行うのでしょうか?それは、これらのDLLを再度登録することで、Windowsがシャドウコピーサービスの制御を取り戻せるからです。正しく登録されていないと、システムはプロバイダーにスナップショットを作成するように指示できず、「未登録」エラーが発生します。これらのコマンドを再実行すると、基本的にWindowsに「このDLL…ここにいて正常に動作しているはずです」と伝えていることになります。
いつ試すべきか?
- バックアップまたは復元を試みる際に、エラーが表示されます。
- シャドウコピーが正常に機能していないようです。以前のバージョンが表示されない、またはバックアップソフトウェアがエラーを発生させます。
どんなことが予想されるか?
通常、これでVSSがシャドウコピーを再び作成できるようになります。うまくいけば特に問題はありません。その後、バックアップは正常に実行されるでしょう。うまくいかない場合は、次の修正手順に進むか、サービス設定を確認する必要があります。
方法2:レジストリファイルを正常なPCからコピーする
- スタートメニューに「regedit」と入力してEnterキーを押すと、レジストリエディターが開きます。
- レジストリエディターで、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\Providersに移動します。
- Providersキーを展開します。ここにいくつかのサブキーが表示されます。おそらく、 {b5946137-7b9f-4925-af80-51abd60b20d5}のような GUID のような名前が付いています。
- これらの GUID サブキーのいずれかをクリックしてください。右側に、データ「Microsoft Software Shadow Copy provider 1.0 」を含む(Default)のような値エントリと、 Type = 1、Version = 1.0.0.7、 GUID を含むVersion IdなどのDWORD 値と文字列値が表示されます。
- 作業中のマシンを使用している場合は、そこでレジストリ エディターを開き、同じパスに移動して、サブキー (例: {b5946137-7b9f-4925-af80-51abd60b20d5} ) を右クリックし、.reg ファイルとしてエクスポートします。
- そのファイルをUSBメモリにコピーし、問題のあるマシンでダブルクリックしてレジストリ設定をマージしてください。この操作には管理者権限が必要になる場合があります。
- 不具合のあるマシンでサブキーの値が欠落している場合は、手動で同じ値を作成できます。レジストリエディタで右クリックし、正常なシステムと同じエントリを追加するだけです。
不思議なことに、このプロセスによって、エラーの原因となっているレジストリ内の破損または欠落したプロバイダ情報が修復されることがあります。これは、正常に動作しているPCから「正常な」設定を自分のPCにコピーするようなもので、ローカルレジストリが破損している場合にプロバイダ登録を再開させるのに役立ちます。
なぜこれが機能するのでしょうか?それは、VSSプロバイダーのレジストリエントリが、Windowsシステムにシャドウコピープロバイダーの場所と使用方法を指示するからです。これらのエントリが欠落しているか破損している場合、VSSは登録されていないというエラーを出して動作しなくなります。正常に動作するコピーを転送することは、システムに「大丈夫だよ、すべて正常だよ」と伝えるようなものです。
これはいつ役立ちますか?
- シャドウコピープロバイダのレジストリエントリが欠落しているか、または誤っている場合。
- 方法1を試しましたが、バックアップでシャドウコピーが作成されません。
その後の期待は?
正常に処理が完了すれば、システムはプロバイダを再び認識し、シャドウコピーの作成が可能になります。エラーメッセージは消え、バックアップは正常に続行されます。ただし、レジストリの破損が深刻な場合は、より根本的な対策が必要になることもあります。
まとめ
シャドウコピープロバイダが正しく登録されていない場合、これらの修正で通常は問題が解決します。DLLの再登録と正常なデバイスからのレジストリ情報のコピーは、最も一般的な障害箇所に対処する方法です。もちろん、場合によっては、ディスクの整合性を確認したり、VSSサービスが実際に有効になっていることを確認したり、バックアップソフトウェアやセキュリティソフトウェアとの競合に注意したりする必要があるかもしれません。
まとめ
- コマンドプロンプトのコマンドを使用して、VSS DLLを再登録します。
- 正常なPCからレジストリキーをエクスポートおよびインポートします。
- VSSサービスが実行されており、自動起動に設定されていることを確認してください。
- VSSの動作を妨げる可能性のあるソフトウェアの競合がないか確認してください。
これが役に立つといいのですが
システムファイルやレジストリをいじってみることで、実際に効果が得られるケースの一つです。必ずしもきれいな方法ではありませんが、バックアップが機能せず、他に選択肢がない場合、これらの手順で問題を解決できる可能性があります。ただし、レジストリファイルの操作はリスクを伴うため、不安な場合は事前にレジストリをバックアップしておきましょう。この情報が、誰かの作業時間を少しでも短縮できれば幸いです。頑張ってください!