SSDに換装してDISMを再実行したらHDDで
止まって見えた62.3%の正体がわかった

関連記事

1. きっかけ

古いNECのノートPC(Intel Optane Memory 16GB + HDD構成)で、DISM /Online /Cleanup-Image /RestoreHealth を実行したとき、62.3%付近で長時間まったく進まなくなりました。1

タスクマネージャーを見ると、こうなっていました。

  • ディスク 0 (C:) のアクティブな時間:100%
  • 平均応答時間:470ミリ秒
  • 読み取り:368 KB/秒、書き込み:1.7 MB/秒

読み書きの速度自体はそれほど大きくありません。
なのにHDDが100%張り付き、応答時間が数百ミリ秒になっている。
ランダムアクセスが多くて、HDDが処理しきれていない状態です。

「無限ループに入ったのでは」と思うのは、自然なことでした。

1.1. DISM が 62.3% 付近で何をしているか

DISM /RestoreHealth は、Windowsのコンポーネントストアを検査・修復するコマンドです。

コンポーネントストアとは C:\Windows\WinSxS にある、Windowsを構成する部品の保管場所で、破損が見つかれば正常なファイルに差し替えます。2

この処理は、ファイルを1つ読んで終わりではありません。
大量の小さなファイルやメタデータを順に読み込みながら、整合性を確認していきます。
HDDにとって、これは苦手な処理です。

HDDはランダムアクセスが遅く、SSDなら数十マイクロ秒で済む読み取りが、HDDでは数ミリ秒〜十数ミリ秒かかります。
修復対象が多いと、読み書きが積み重なってアクティブ時間が100%に張り付く。
表示上のパーセントが進まないまま、内部では処理が続いている状態です。3

また、/RestoreHealth はデフォルトで Windows Update を修復ファイルの取得元として使います。
Windows Update との通信やダウンロードが発生する場合、ネットワーク速度や更新サービスの状態によっても処理時間が変わります。4

2. 答え合わせ:SSD換装後に再実行した

その後、同じPCのHDDをSSDに換装しました。
起動速度や操作感の改善が主な目的でしたが、ついでにあらためて DISM /RestoreHealth を実行してみました。

すると、また 62.3% 付近で長く止まって見えました。

ただし今回は、タスクマネージャーの数字が違いました。
SSDなのでアクティブ時間は100%にはなっていません。
それでも、同じポイントで時間がかかっています。

そのまま待ち続けると、84.9% まで進みました。
最終的には「復元操作は正常に完了しました」と表示されて終わりました。5

これで、HDDのときに起きていたことがはっきりしました。
62.3% 付近は、DISMが時間をかける処理のポイントです。
HDDの問題ではなく、処理の性質によるものでした。
HDDでも待てば進んでいたはずです。

2.1. HDDのとき「止まっている」と判断しやすい理由

SSDで同じ処理をすると、ディスクは静かです。
アクティブ時間も100%にはならないので、「処理中だろう、待とう」と判断しやすい。

HDDでは、ディスクが100%張り付き、平均応答時間が数百ミリ秒になります。
読み書き速度自体は大きくないのに、PCが重くなったように感じる。
これが「無限ループに入った」「フリーズした」という誤解を生みます。

ディスクが動いている以上、処理は続いています。
見た目の激しさが、判断を狂わせるわけです。

3. 強制終了すべきでない理由

DISM /RestoreHealth は、コンポーネントストアのファイルを書き換えることがあります。

処理途中で強制終了すると修復が中途半端な状態になり、次回の起動時やDISM再実行時に、より深い不整合が起きる可能性があります。

タスクマネージャーで次のどれかが動いていれば、処理中と見てよいです。

  • dism.exeTiWorker.exeTrustedInstaller.exe のCPUまたはディスク使用率が少しでも変化している
  • ディスクの読み書き速度が変化している
  • コマンドプロンプトが応答不能になっていない

2〜3時間以上、ディスク使用率も0%近く、CPUもほぼ0%、読み書きもゼロで変化がないなら、そのときはじめて中断を検討します。6

HDDで 62.3% 付近に来たときの対応は、AC電源をつないでスリープをオフにして放置することです。
目安は 1〜2時間で、状態が重い場合は 3〜4時間かかることもあります。

3.1. SSDに換えたことで得られた副産物

今回、SSD換装は別の理由で行いましたが、結果として「HDDのときに何が起きていたか」を確認できました。

SSDではDISMの全体的な処理時間も短くなります。
HDDで2〜3時間かかっていた作業が、30〜60分程度に収まることが多い。
ただし 62.3% 付近の待ち時間は、SSDでもゼロにはなりません。
ここはDISMの処理の性質によるものなので、ハードウェアを変えても同じポイントで時間がかかります。7

4. まとめ

DISM /RestoreHealth の 62.3% 付近は、処理が重い区間であって、無限ループや異常ではありません。
HDDではランダムアクセスが重なってディスクが100%張り付き、「止まっている」ように見えます。
SSDに換えると、同じ場所でも静かに待てるので判断しやすい。

SSD換装後に再実行して同じポイントで時間がかかり、待ったら進んだことで、HDDのときも「待てばよかった」とわかりました。

強制終了の判断基準は「パーセントが動かない」ではなく、「ディスクもCPUも長時間まったく動いていない」かどうかです。8

  1. Microsoft Q&A でも同様の報告が多数あります。62.3% で止まって見える現象は複数のWindows 11ビルドで確認されており、「People have been wondering for YEARS why it gets stuck at 62.3%」と表現されるほど広く知られた挙動です。 – DISM RestoreHealth stuck at 62.3% [Info / Resolved]
  2. コンポーネントストアはWindows Vista以降に導入され、Windows Updateやサービスパック適用のたびに更新されます。更新のたびに古いバージョンのファイルも保持されるため、長く使うほどフォルダサイズが大きくなっていきます。なお、エクスプローラー上で表示されるサイズはハードリンクを考慮しない数値のため、実際の占有量より大きく見えます。 – Manage the Component Store – Microsoft Learn
  3. Microsoft Q&A の公式回答でも「62.3% で止まって見えるのは、コンポーネントストアの修復に必要なデータを大量に処理しているためで、処理量が多いほど時間がかかる」と説明されています。 – DISM /ONLINE /CLEANUP-IMAGE /RESTOREHEALTH stuck at 62.3% for a long time – Microsoft Q&A
  4. Microsoftは /Source オプションを使って修復ファイルの取得元をローカルのWindowsイメージに変更できると説明しています。Windows Updateを使わない場合は /LimitAccess を組み合わせます。 – Repair a Windows Image – Microsoft Learn
  5. 処理が正常に完了した場合、コマンドプロンプトには「The restore operation completed successfully.」または日本語環境では「復元操作は正常に完了しました。」と表示されます。この表示が出れば、コンポーネントストアの修復は成功しています。 – DISM Stuck at 62.3% on Windows 11: Fix and Verify
  6. Microsoft Q&A では「24時間経っても止まったままなら完了しない可能性が高い」とされています。ただし、その段階ではクリーンインストールではなく、設定の「Windowsの問題を修正する」から修復を試みることが推奨されています。 – What to do if DISM scan is stuck at 62.3% – Microsoft Q&A
  7. 処理の進捗はコマンドプロンプト上のパーセント表示だけでなく、C:\Windows\Logs\CBS\CBS.log でも確認できます。PowerShellで Get-Content C:\Windows\Logs\CBS\CBS.log -Tail 10 -Wait を実行すると、ログがリアルタイムで末尾に追加されていく様子を確認できます。ログが更新されていれば処理は続いています。 – DISM RestoreHealth stuck at 62.3% [Info / Resolved]
  8. DISM の処理が本当に止まっているかを確認するもう一つの方法として、タスクマネージャーで TrustedInstaller.exe の動作確認があります。TrustedInstaller.exe は Windows Modules Installer とも呼ばれ、Windows Update やDISMの修復処理に関係するサービスです。このプロセスが動いている場合、DISMは内部で作業を続けています。 – Fix Windows Update corruptions and installation failures – Microsoft Learn