Windows 11でSoftwareDistributionフォルダをクリーンアップする方法

📅
🕑 1 分で読む

SoftwareDistributionCatroot2などの Windows キャッシュ フォルダーには、過去の更新、そのタイムスタンプ、その他の更新固有のデータに関する情報が保存されます。これらのフォルダーがいっぱいになったり破損したりすることがあり、更新の問題、インストールの失敗、またはシステムの動作の異常につながります。その場合、これらのキャッシュ フォルダーをクリアすると、トラブルシューティングの良い方法になることがよくあります。問題は、Windows のこれらのフォルダーの扱いが少し奇妙だということです。フォルダーは自動再生成するように設計されているため、削除しても再起動後にすぐに戻ってきます。これは正常な動作であり、問​​題の兆候ではありませんが、混乱を招く可能性があります。フォルダーを削除するか名前を変更すると、現在のキャッシュがクリアされ、更新の不具合が修正されるか、スペースが解放される可能性があります。このプロセス全体は単純に見えますが、Windows 更新サービスの停止と開始がいくつか行われるため、ファイルの削除ではなく、更新状態のリセットが重要です。

WindowsでSoftwareDistributionフォルダをクリアする方法

方法1:手動でクリアする – まずサービスを停止する

これは古典的な方法です。更新サービスを停止し、キャッシュを削除または移動してから、すべてを再起動してください。Windows Update の動作がおかしくなったり、停止したりした場合に有効です。なぜこれが有効なのでしょうか?Windows では使用中のファイルを削除できないため、まず更新サービスを停止することで安全にファイルを消去できるからです。そうすることで、再起動時に Windows がフォルダーを新しく再生成します。これにより、更新の停止が解消されたり、空き容量が増えたりする可能性があります。

  • を押しWindows + Rて入力しservices.msc、Enterキーを押します。または、スタートメニューから「cmd」を検索してコマンドプロンプトを管理者として開き、右クリックして「管理者として実行」を選択します。
  • wuauserv、、、bitsのサービスを順に停止しますappidsvccryptsvcこれを行うには、次のように入力します。
    net stop wuauserv net stop bits net stop appidsvc net stop cryptsvc

    セットアップによっては、これらが自動的に再起動したり、停止に失敗したというメッセージが表示される場合があります。その場合は、すべてが停止するまでコマンドを再実行してください。

  • ファイルエクスプローラーを開きWindows + E、 へ移動しますC:\Windows\SoftwareDistribution。システムドライブがC:でない場合は、適切な場所に置き換えてください。 内で、Ctrl + Aですべてのファイルを選択し、 Ctrl + X を押すか、右クリックして切り取りを選択します。念のため、バックアップとして、別の新しいフォルダに貼り付けてください。
  • クリアしたら、逆の順序で更新サービスを再起動します。
    net start wuauserv net start bits net start appidsvc net start cryptsvc

    その後、PCを再起動してください。キャッシュが新しくなり、アップデートによるハングアップがなくなるはずです。

方法2: 削除ではなく名前を変更する

場合によっては、フォルダ名を変更するだけで十分なこともあります。重要なファイルを削除してしまうのが心配な場合や、代替手段を確保しておきたい場合に、この方法が良いでしょう。Windowsは再起動後に新しいSoftwareDistributionフォルダを生成し、古いフォルダは削除されるので、これは賢い方法です。

  • PowerShellを管理者として開くか、コマンドプロンプトを管理者として実行します。コマンドは同じですが、まずサービスを停止します。
    net stop wuauserv net stop bits net stop appidsvc net stop cryptsvc
  • フォルダ名を のような名前に変更しますSoftwareDistribution.old。以下を実行します:
    rename C:\Windows\SoftwareDistribution SoftwareDistribution.old rename C:\Windows\System32\catroot2 Catroot2.old
  • 次のコマンドでサービスを再度開始します。
    net start wuauserv net start bits net start appidsvc net start cryptsvc
  • 再起動して、システムが新しいキャッシュ フォルダーを再生成し、古いフォルダーが使用されなくなったかどうかを確認します。

方法3:フォルダを完全に削除する

大胆に、完全に白紙の状態からやり直したい場合は、管理者特権のコマンド プロンプトで次のコマンドを使用して、 SoftwareDistributionフォルダー全体を削除できます。

rmdir %systemroot%\SoftwareDistribution /S /Q

ただし、注意が必要です。一部の更新サービスが自動的に再起動すると、Windows がこれを実行できない場合があります。その場合、「プロセスはファイルにアクセスできません。このファイルは別のプロセスによって使用されているためです」といったエラーが表示されます。その場合は、戻ってサービスを再度停止し、コマンドをもう一度実行してください。削除する前に、関連するすべてのサービスがオフになっていることを確認してください。その後、マシンを再起動すると、次回の更新時または再起動時に、Windows が新しい空のキャッシュフォルダを作成します。

もちろん、Windows ではそれをもう少し複雑にする必要があるからです…