ここのところWindows10を初期化したり、クリーンインストールしたり、システムイメージの修復をしたり、復元ポイントから復旧してみたり、いろいろと試していました。その、おかげでトラブル対応力は上がったかも知れません。
私の環境では、OSのWindows10、初期インストールされるプログラムなどはCドライブに置き、それ以外のソフトやファイルは他のドライブに置くようにしています。個人用フォルダも他のドライブに移動させました。[設定]の[システム]から[ストレージ]を選ぶと保存先を変更できます。

そして何度かWindows10をインストールしていて遭遇したのが [Windows Updateのコンポーネント]を修復できないことでした。
[コントロールパネル]の[トラブルシューティング]を試していて、[Windows Update で問題を解決する]を実行した時のことです。
管理者権限で実行すると、なんと [Windows Updateのコンポーネント] に問題を発見したのです。
そこでトラブルシューティングで修復してもらいました。そうすると修復済みと結果が表示され、一安心したのです。

ですが、もう一度 [トラブルシューティング] を実行してみたら、また同じ問題を発見、そしてまた修復という無限ループが始まったのでした。通常は[Windows Update で問題を解決する]を実行するだけで問題は解決するそうです。

ただ私の場合はいろいろ試行錯誤することとなりました。
管理者権限でトラブルシューティングしてみたり、セーフモードやらいろいろなモードのスタートアップ設定を試しましたが、解決しませんでした。

そこで色々調べて、たどり着いたのがこちらのサイトです:
Windows 10 のスタート メニュー、Microsoft Edge - マイクロソフト コミュニティ

上記サイトを参考に試行錯誤した手順などを、メモとして残しておきます。


ステップ1:
コントロールパネルの[Windows Update で問題を解決する]を管理者権限で実行します。
[Windows Update で問題を解決する]は、[コントロール パネル]の[問題の発見と解決]をクリックすると、下のほうにあります。
それが終わったら念のため、 [Windows Update]の[更新]を行います。

ステップ2:
[Windows Update]を含めたコンポーネントパッケージの修復を行うために、Windows10を次の手順で再起動させます。
[設定]メニューの[更新とセキュリティ]から[回復]を選び、 [すぐに再起動する] をクリックします。
再起動時の選択画面が出てくるので、[トラブルシューティング]の詳細から、[スタートアップ設定]を選び、[起動時マルウェア環境停止]で起動します。[起動時マルウェア環境停止]で起動したのは、次の3つの理由です。
  1. PowerShell が使えること。
  2. Windows Updateなどのサービスを開始、停止(オンオフ)できる。
  3. オンライン環境で作業できる。
そしてWindows Defenderなどマルウェア対策ソフトが実行されていると、コンポーネントの修復が出来ないことがあったのも一つの理由です。ですからWindows Defender以外のウイルス、マルウェア対策ソフトなどが、起動していたら修復できないかも知れません。

ステップ3:
コンポーネントパッケージの修復を行う、前準備です。
Windows10が[起動時マルウェア環境停止]で起動したら、管理者アカウントでログインします。
そして次の5つのサービスを停止します。
  • [Connected User Experiences and Telemetry]
  • [File History Service]
  • [Windows バックアップ]
  • [Windows Update]
  • [Windows Search]
サービスの停止は、サービス管理画面からできます。
管理画面は、[コントロールパネル]の[システムとセキュリティ]を選ぶと、下のほうに[管理ツール]があります。
そこをクリックしてみてください。そうすると、いろいろな管理ツールの中に[サービス]が見つかると思います。
クリックしたら管理画面が開きます。(または[ファイル名を指定して実行]で、 services.msc と入力、実行しても同じ画面が出てくると思います。)

[File History Service]は、[コントロールパネル]にある[ファイルの履歴]でもオフに出来ます。
([設定]メニューの[更新とセキュリティ][バックアップ]からもできますね。)
なお[Windwows Defender]は [起動時マルウェア環境停止]で起動したので、停止になってると思います。

そして大事なのが、上の5つのサービスに加えて、Cortanaさんに休んでもらうことです。
Cortanaさんの設定がオンになっていたらいったんオフにします。
Cortanaさんがオフになっていても実は本当には休んでくれていません。
そこで、いったんオフにした後、Cortanaさんをオンにしてから、[必要ありません]を選びます。
そうすると、いったんCortanaさんが休んでくれるようです。

[Windows Update]を停止したのは、[Windows Update]自体のコンポーネントが修復できない可能性があるためです。
[Windows バックアップ]と[File History Service]も邪魔になることがあったので、停止しておきました。
[Windows Search]も停止しておかないと、エラーになることがありました。
なお[Windows Update]も含めて、サービスを無効にする必要はありません。実行されていなければ問題ないです。
実行されていたら停止にすればOKです。他のサービスについても同じです。

ステップ4:
PowerShellコマンドを使ったパッケージの修復を行います。
PowerShellを管理者権限で開いて、次のコマンドを実行します。
  • Get-AppXPackage -AllUsers  |Where-Object {$_.InstallLocation -like "*SystemApps*"} | Foreach  {Add-AppxPackage -DisableDevelopmentMode -Register  $($_.InstallLocation)\AppXManifest.xml"}
もし赤字でエラーが出たら、詳細な情報を取得するコマンドが表示されるので、それを実行すると何が原因で修復できなかったが分かります。次のようなエラーメッセージです。
  • Get-AppxLog -ActivityID "ID"
これを実行すると、何がエラーの原因になるかがわかります。
その原因のプロセスやサービスを停止して、エラーが出なくなるまで繰り返します。
エラーが出ないで終了したら、パッケージコンポーネントの修復がすべて終わったことになるみたいです。
ここでWindows10をいったんシャットダウンします。

ステップ5:
Dismコマンドでのイメージ修復を行います。こちらのサイトが参考になります :
         dism /online /cleanup-image /restorehealth - マイクロソフト コミュニティ

コマンドプロンプトを管理者権限で開いて、次のコマンドの実行です。少し時間はかかるでしょう。
  • Dism.exe /Online /Cleanup-image /Restorehealth
ステップ6:
パッケージチェッカの sfc を使って、コンポーネントパッケージの整合性をチェックします。
その前に一度、 [Windows Update]の[更新]を行っておきます。そして次のサービスを停止させます。
  • [Connected User Experiences and Telemetry]
  • [File History Service]
  • [Windows バックアップ]
それと、またまたCortanaさんに休んでもらいます。さっきの行った上の手順と同じです。
[Windows Update]サービスが実行されていることも、念のためチェックしてください。
サービス管理画面かタスクマネージャーで確認できます。もし停止していたら開始してください。
それからようやくパッケージの整合性チェックです。コマンドプロンプトを管理者権限で開いて、
  • sfc /scannow
と入力、実行します。Dismの時と同じで、少し時間はかかります。

ステップ7:
整合性のチェックが終わったら、もしかしたら例えば次のようなエラーが出るかもしれません。

Windows リソース保護により、破損したファイルが見つかりましたが、それらの一部は修復できませんでした。詳細は CBS.Log windir\Logs\CBS\CBS.log に含まれています。例: C:\Windows\Logs\CBS\CBS.log。ただし、オフラインサービス シナリオでのログの記録は現在サポートされていません。

このログ(CBS.log)から必要な情報を抜き出すコマンドが[findstr]です。こちらのサイトが参考になります。

システム ファイルを修復する: sfc によるトラブルシューティング:

上記サイトのコマンドの一例:
  • findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"
このコマンドで、コンポーネントの修復状態を確認することが出来るそうです。古いログも出てくるので、日付と時刻に注意しつつ、おかしな所がないかチェックしましょう。
後の詳しいことは、上記サイトにお任せして、私がチェックしたコマンド例を少しだけ紹介します。
管理者特権を持つコマンド プロンプトで実行します。(PowerShellでもOKです。)

コマンド プロンプトの場合:
  1. findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log > "%userprofile%\Desktop\sfcdetails.txt"
  2. findstr /c:"[SR] Cannot" %windir%\Logs\CBS\CBS.log > "%userprofile%\Desktop\sfcdetails.txt"
  3. findstr "[Ff]ailed" %windir%\Logs\CBS\CBS.log > "%userprofile%\Desktop\sfcfailed.txt"
PowerShellの場合:
  1. findstr /c:"[SR]" $env:windir\Logs\CBS\CBS.log > "$env:userprofile\Desktop\sfcdetails.txt"
  2. findstr /c:"[SR] Cannot" $env:windir\Logs\CBS\CBS.log > "$env:userprofile\Desktop\sfcdetails.txt"
  3. findstr "[Ff]ailed" $env:windir\Logs\CBS\CBS.log > "$env:userprofile\Desktop\sfcfailed.txt"
[SR] Cannot や、Failedがログに出ていた場合には、パッケージの修復に失敗しています。
妨げになっているプロセスなど、原因がわかると思いますので、それに対応してください。
以上の作業を繰り返して、エラーが出なくなったら、パッケージの修復の終了です。(私はエラーが出なくなりました。)

ステップ8:
念押しの sfc /scannow による、パッケージの整合性チェックです。
[Connected User Experiences and Telemetry]、[File History Service]、[Windows バックアップ]を停止させます。
また[Windows Search]も停止しておきましょう。
そして[Windows Update] サービスが停止していたら開始させます。それからコマンドプロンプトを管理者権限で開いて、
  • sfc /scannow
で、再チェックを行います。エラーが出ないで無事に終わったら、最終ステップです。

ステップ9: 最終ステップ
チェックディスクによる、ディスクの修復を行います。
/sdcleanup オプションを使います。なおディスクがSSDの場合にはRオプションは指定しないほうがいいそうです。普通のディスクでも時間がかかるので、使ったことありませんが ^^;)
コマンド例
  • chkdsk C: /sdcleanup
そのほか可能だったコマンドオプションの組み合わせ:
  • chkdsk C: /F /X /scan /perf /sdcleanup
  • chkdsk C: /F /X /sdcleanup /offlinescanandfix
  • chkdsk C: /F /X /scan /perf /sdcleanup /offlinescanandfix
  • chkdsk C: /F /X /scan /perf /sdcleanup /forceofflinefix
  • chkdsk C: /F /X /sdcleanup /forceofflinefix
  • chkdsk C: /F /X /sdcleanup /offlinescanandfix /spotfix
  • chkdsk C: /F /X /sdcleanup /spotfix
ディスクチェックが終わったら、ここで一旦Windows10をシャットダウンして、Windows10を立ち上げなおします。
そしてバックアップと復元で、システムイメージも含めたバックアップをしておきましょう。
修復ディスクの作成を行っておくのもいいと思います。また復元ポイントを作成しておいてもいいかも知れませんね。
あとは[ファイルの履歴]をご利用の方はオンに戻すことを、忘れないで下さい。


このメモは、何度も試行錯誤して出来たものです。
そのため正直、正解の手順はわかっていません。同じ操作をしても、
修復できるかはわかりませんので、自己責任でお願いいたします。
以上です。

参考サイト:
  1. Windows 10 のスタート メニュー、Microsoft Edge - マイクロソフト コミュニティ
  2. dism /online /cleanup-image /restorehealth - マイクロソフト コミュニティ
  3. システム ファイルを修復する: sfc によるトラブルシューティング