Windows 8
 Computer >> コンピューター >  >> システム >> Windows 8

Windows 8のコンポーネントストア(WinSxS)を修復する方法|DISM・PowerShellでの完全修復ガイド

本記事では、Windows 8におけるコンポーネントストア(Component Store)の仕組みと、破損した場合の修復方法について詳しく解説します。

コンポーネントストアとは

Windows Vista以降、Microsoftは「コンポーネントベース servicing(CBS:Component Based Servicing)」という概念を導入しました。このコンポーネント構造により、Windowsアップデート、セキュリティパッチ、サービスパックのインストール・削除がより安定して行えるようになっています。Windows 8も同じアーキテクチャを採用しています。

コンポーネントストアのファイルは\Windows\WinSxSフォルダに格納されており、時間の経過とともにサイズが大幅に肥大化する特性があります。フォルダが大きくなる理由や容量を削減する方法については、別記事で詳しく説明していますので、そちらも参考にしてください。

コンポーネントストアの破損が引き起こす問題

一部のケースでは、コンポーネントストアが破損し、WindowsアップデートやMicrosoft製アプリケーションのインストール時にトラブルが発生することがあります。

以前のWindows(Windows Vista、Windows 7、Windows Server 2008 / R2)では、この問題に対処するため、Microsoftが専用ユーティリティCheckSUR(System Update Readiness Tool:KB947821)を提供していました。このツールは350MB以上とかなり大容量で、新しいWindowsアップデートのリリースに合わせて随時更新されていました。

CheckSURが検証する項目

System Update Readiness Toolは、以下のリソースの整合性を検証します。

検証対象ディレクトリ内のファイル:

  • %SYSTEMROOT%\Servicing\Packages
  • %SYSTEMROOT%\WinSxS\Manifests

検証対象のレジストリキー:

  • HKEY_LOCAL_MACHINE\Schema
  • HKEY_LOCAL_MACHINE\Components
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing

CheckSURがエラーや不整合を検出すると、自動的に修復を試みます。

コンポーネントストア破損時に発生する主なエラーコード

コンポーネントストアに問題があると、Windowsアップデートのインストール中にさまざまなエラーが発生します。以下は、このツールで解消すべき代表的なエラーコードの一覧です。

コードエラー名説明
0×80070002ERROR_FILE_NOT_FOUND指定されたファイルが見つかりません。
0x8007000DERROR_INVALID_DATAデータが無効です。
0x800F081FCBS_E_SOURCE_MISSINGパッケージまたはファイルのソースが見つかりません。
0×80073712ERROR_SXS_COMPONENT_STORE_CORRUPTコンポーネントストアが一貫性のない状態です。
0x800736CCERROR_SXS_FILE_HASH_MISMATCHコンポーネントのファイルが、マニフェスト内の検証情報と一致しません。
0x800705B9ERROR_XML_PARSE_ERROR要求されたXMLデータを解析できません。
0×80070246ERROR_ILLEGAL_CHARACTER無効な文字が検出されました。
0x8007370DERROR_SXS_IDENTITY_PARSE_ERRORID文字列の形式が不正です。
0x8007370BERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAMEID内の属性名が有効な範囲外です。
0x8007370AERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUEID内の属性値が有効な範囲外です。
0×80070057ERROR_INVALID_PARAMETERパラメータが正しくありません。
0x800B0100TRUST_E_NOSIGNATURE署名が存在しません。
0×80092003CRYPT_E_FILE_ERRORWindows Updateがファイルの読み書き中にエラーが発生しました。
0x800B0101CERT_E_EXPIRED必要な証明書の有効期限が切れています。
0x8007371BERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETEトランザクションに必要なメンバーが1つ以上存在しません。
0×80070490ERROR_NOT_FOUNDWindowsが新しい更新プログラムを検索できませんでした。

Windows 8のInbox Corruption Repair機能

Windows 8およびWindows Server 2012では、CheckSURに相当する機能がOSに標準搭載されており、Inbox Corruption Repairと呼ばれています。この機能には2つの動作モードがあります。

  • バックグラウンドモード:Windowsアップデートのインストール中にエラーが発生すると自動的に起動し、破損したコンポーネントの修復とアップデートパッケージの再インストールを試みます。
  • 手動モード:自動修復で問題が解決しない場合、管理者がDISMコマンドまたはPowerShellコマンドレットを使用して手動で修復を行います。

コンポーネントストアの状態を確認する

管理者権限でコマンドプロンプトを開き、以下のコマンドを実行します。

Dism /Online /Cleanup-Image /CheckHealth

PowerShellで実行する場合は以下のコマンドです。

Repair-WindowsImage -Online -CheckHealth

ヒント:

  1. 他のWindowsツールと異なり、DISMのコマンドは大文字・小文字が区別されます。
  2. Dism /Cleanup-Imageコマンドのログは「C:\Windows\Logs\CBS\CBS.log」と「C:\Windows\Logs\DISM\dism.log」に出力されます。

CheckHealthの実行には数分かかります。結果として「Healthy(正常)」と表示されれば、コンポーネントストアに修復の必要はありません。

コンポーネントストアを修復する

問題やエラーが検出された場合は、以下のコマンドでストアの修復を実行します。

Dism.exe /Online /Cleanup-Image /Restorehealth

PowerShellの場合はこちらです。

Repair-WindowsImage -Online -RestoreHealth

修復が成功すると、次のようなメッセージが表示されます。

The restore operation completed successfully. The component store corruption was repaired.
(復元操作が正常に完了しました。コンポーネントストアの破損は修復されました。)

インストールメディアを使った修復

システムだけでは一部のコンポーネントを修復できない場合は、Windows 8のインストールディスクが必要になります。DVDをドライブに挿入するか、ISOイメージをマウントしてください。ここでは、ディスクにドライブレターGが割り当てられているものとします。

まず、PowerShellでディスク上の利用可能なWindows 8のエディション一覧を表示します。

Get-WindowsImage -ImagePath G:\sources\install.wim

この例では、ディスク上にインデックス1(Index: 1)のイメージ(Windows 8 Pro)が1つだけ存在しています。

次のコマンドで、破損したコンポーネントをオリジナルのWindows 8イメージから置き換えながらストアの復元を実行します。

Repair-WindowsImage -Online -RestoreHealth -Source G:\sources\install.wim:1

修復完了後、コンポーネントストアが正常な状態になっていることを確認しましょう。

最後の確認:システムファイルチェッカーの実行

任意の手順として、以下のコマンドでシステムファイルの整合性を最終チェックすることをおすすめします。

sfc /scannow

これで、Windows 8のコンポーネントストアの修復作業は完了です。定期的にストアの状態をチェックしておくことで、Windows Updateのトラブルを未然に防ぐことができます。

  1. ApplicationFrameHost.exeとは?Windows 10で発生するエラーの原因と修復方法を徹底解説

    Windowsで「ApplicationFrameHost.exeが存在しない」または「破損している」といったエラーメッセージが表示されると、さまざまな問題が発生します。ソフトウェアのインストール、Windows Update、その他関連タスクに支障が出るため、早めの修正が不可欠です。本記事では、Windows 10で欠落または破損したApplicationFrameHost.exeファイルを修復するための自動・手動両方の方法を詳しく解説します。よくある質問質問: Microsoftのゲームを起動しようとするたびに、「Application Frame Hostが応答しません」というエラーが頻

  2. Windows 11にGoogle Playストアをインストールする方法【非公式手順を徹底解説】

    Windows 11の目玉機能のひとつが、Androidアプリをネイティブで実行できることです。以前はサードパーティ製ソフトを使うしかありませんでしたが、Windows 11ではスマートフォンのアプリをデスクトップ環境に完全に統合できるようになりました。 ただし、注意すべき大きな条件が2つあります。Windows 11でAndroidアプリを動かすには、SSDと8GB以上のRAMが必要です。HDDや4GB RAMでもWindows 11自体は動作しますが、Androidアプリには対応していません。さらにMicrosoftは、快適な体験のため16GBのメモリを推奨しており、これは多くのユーザー