- 技術 💻
Windows Updateのエラーコード一覧|0x800f0922等の意味と直し方
結論
Windows Update のエラーコード(0x で始まる8桁の英数字)は、更新が失敗した原因の番号です。まず試すことは、Microsoft の公式の案内どおり「PC を再起動する」「空き容量を確かめて増やす」「Windows Update のトラブルシューティング ツールを実行する」の3つです。それで直らなければ、コードを下の一覧表で引きます。
この記事でわかること
- 0x800f0922・0x80070002 など約40コードの公式の説明と対処
- 0x8007xxxx の下4桁が Win32 のエラー番号になる読み方と Python での変換
- 更新の履歴でコードを確かめる手順と、必要な空き容量の目安
エラーコードは、先頭の4桁で「どこが出したエラーか」、残りの4桁で「何が起きたか」が分かる形になっています。調べる順番を図にしました。
flowchart TD
A[更新が失敗した] --> B[再起動・空き容量・ツール]
B -->|直らない| C[更新履歴でコードを見る]
C --> D{先頭4桁}
D -->|8007| E[Win32番号]
D -->|8024 他| F[一覧表]
D -->|C190| G[拡張コード]
よく調べられることの答えを先にまとめます。
| 知りたいこと | 答え | 詳しい節 |
|---|---|---|
| windows update エラーでまず試すこと | 再起動・空き容量の確保・トラブルシューティング ツール | まず試すこと3つ |
| エラーコードはどこで見る? | 設定 → Windows Update → その他のオプション → 更新履歴 | 更新の履歴の見方 |
| 0x800f0922 の意味 | 更新のサーバーに接続できない、またはシステム予約パーティションの空き不足など | エラーコード一覧表 |
| 0x80070002 の意味 | 必要なファイルが見つからない(ERROR_FILE_NOT_FOUND) | 0x8007xxxx の読み方 |
| 0x80070070 の意味 | ディスクの空き容量が足りない(ERROR_DISK_FULL) | 空き容量の確かめ方 |
| 0xC1900101 の意味 | アップグレードが元に戻された。多くはドライバーの互換性 | アップグレードのエラー |
| 一覧にないコード | 先頭4桁で発生元を見分け、下4桁を公式の表で引く | 先頭の4桁で分かる発生元 |
| Python で意味を調べたい | ビット演算で facility と code に分ける | Python で分解・変換する |
確認環境:Windows の画面は手元で動かせないため、エラーコードの意味と対処は Microsoft の公式文書(support.microsoft.com の「Windows の更新に関する問題のトラブルシューティング」「Windows のアップグレードとインストールに関するエラーのヘルプ」「Windows Update トラブルシューティング ツール」「Windows 更新プログラム用に空き領域を増やすには」「Windows Update をアンインストールする方法」、learn.microsoft.com の「Windows Update common errors and mitigation」「Windows Update error codes by component」「Windows 10 upgrade error codes」「System Error Codes」「WinINet errors」「[MS-ERREF] HRESULT」「HRESULT_FROM_WIN32」「Windows Update log files」「certutil」)で1コードずつ確かめ、表に載せたのは公式の文書に記載のあったものだけです。コードの分解と変換は Ubuntu 24.04.5 LTS の Python 3.13.18 で、環境変数を空にした状態(env -i)で実行し、出力をそのまま載せています。Python の関数の説明は docs.python.org(3.15 系の文書)で確かめました。画面の名前は、取得した公式の文面に出ていた語だけを「」で書いています(確認日 2026年11月12日)。
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「Windows Updateのエラーコード一覧|0x800f0922等の意味と直し方」
Windows Update のエラーとは(どこに・どんな形で出るか)
この節では、Windows Update のエラーコードがどの画面に、どんな形で表示されるのかが分かります。
Windows Update のエラーコードは「0x」に続く8桁の16進数で、更新の履歴の画面などに表示されます。 16進数なので、使われる文字は 0〜9 と A〜F だけです。大文字と小文字は同じ意味で、0x800f0922 と 0x800F0922 は同じコードです。
Microsoft の公式文書には、エラーコードのほかに、次のような文言で知らせる場面も載っています。いずれも公式の文書に記載された文言です(この記事の環境では Windows を動かしていないため、画面の実物ではありません)。
| 表示される文言(公式の文書の記載) | 出る場面 | 載っている公式の文書 |
|---|---|---|
| Windows の更新に必要な空き容量が不足しています | 更新に使う空き領域が足りないとき | Windows 更新プログラム用に空き領域を増やすには |
| この更新プログラムはお使いのコンピューターには適用できません | 前提となる更新が入っていないときなど | Windows のアップグレードとインストールに関するエラーのヘルプ |
| 0xC1900101 - 0x4000D のような2つのコード | Windows のアップグレード(機能更新)の失敗 | Windows 10 upgrade error codes |
エラーコードは、Windows の内部で使われている HRESULT(エイチリザルト)という形式の数値です。Microsoft の仕様書 [MS-ERREF] は、HRESULT の先頭の1ビットを「失敗かどうか(Severity)」、続く11ビットを「発生元(Facility)」、下の2バイトを「コード本体(Code)」と定めています。この形式を知っていると、一覧表に載っていないコードでも見当がつきます。
なお、更新の手順そのもの(手動で更新する・一時停止する・Microsoft Update カタログから入れる)は、この記事の姉妹編「Windows Update のやり方|手動更新の手順と進まない・失敗するときの対処」で扱う予定です。この記事は、エラーコードを引いて読むことに絞っています。
Windows Update のエラーでまず試すこと3つ
この節では、エラーコードを調べる前に試す3つの手順が、公式の順番どおりに分かります。
Microsoft のトラブルシューティングの文書と、多くのコードの対処に共通して出てくるのが、再起動・空き容量・トラブルシューティング ツールの3つです。 コードによらず効くことが多いので、先に済ませます。
PC を再起動する
前の更新が再起動を待っていると、次の更新が入らないことがあります。Microsoft Learn のトラブルシューティングの文書も「前の更新のあとに再起動していなければ、保留中の処理を先に終わらせる必要がある」と説明しています。再起動のあと、「Windows 更新プログラムの確認」をもう一度選びます。
空き容量を確かめて増やす
「スタート」→「設定」→「システム」→「ストレージ」で空き容量を見ます。公式のトラブルシューティングの文書は、更新に 32 ビット版で 16 GB 以上、64 ビット版で 20 GB 以上の空きが要るとしています。増やす方法は「ストレージ センサー」などです。
トラブルシューティング ツールを実行する
Windows 11 では、まず「ヘルプ」アプリの自動のトラブルシューティングを使います。直らなければ「スタート」→「設定」→「システム」→「トラブルシューティング」→「その他のトラブルシューティング ツール」で、「Windows Update」の横の「実行」を選びます。終わったら再起動します。
この3つで直らないときに、次の節の一覧表でエラーコードを引きます。公式の文書は、この先の手順として、インターネット接続の確認、管理者の権限の確認、外付けの機器を外す、更新のキャッシュの消去、日付と時刻の確認、ドライバーの更新を挙げています。
個人で使っている PC
3つの手順は自分で行える
管理者のアカウントでサインインして行う
直らなければ一覧表 → Microsoft のサポートへ
会社が管理している PC
更新の配り方を会社が決めていることが多い
接続のエラー(0x8024401b など)はプロキシの設定が関係する
コマンドの手順は、自分で行う前に管理者へ相談する
Windows Update のエラーコード一覧表(公式の説明と対処)
この節では、よく出るエラーコードの意味と対処が、Microsoft の公式文書に書かれている範囲で分かります。
表は、公式の文書に記載があったコードだけを載せています(確認日 2026年11月12日)。 出典の欄は、S=support.microsoft.com「Windows の更新に関する問題のトラブルシューティング」、U=support.microsoft.com「Windows のアップグレードとインストールに関するエラーのヘルプ」、L=learn.microsoft.com「Windows Update common errors and mitigation」、R=learn.microsoft.com「Windows Update error codes by component」です。L と R は英語の文書なので、意味を日本語にしています。
0x8007 で始まるコード(Windows の一般的なエラー)
| コード | 公式の説明 | 公式の対処 | 出典 |
|---|---|---|---|
| 0x80070002 | インストールの失敗(必要なファイルが見つからない) | 再起動・トラブルシューティング ツール・空き容量の確認。アップグレード中の 0x80070002 0x20009 は、Windows 11 を入れないディスクを外す | S・U |
| 0x80070003 | パスが見つからない(更新の仕組みが特定のパスにアクセスできない) | トラブルシューティング ツール、更新のコンポーネントのリセット。詳しくは CBS.log の「, error」を探す | U・L |
| 0x80070005 | アクセスが拒否された(権限が足りない) | 管理者の権限があるか確かめる。常駐するセキュリティ ソフトが関わる場合は、そのソフトの提供元の案内を確かめる | S・L |
| 0x8007000d | データが無効。ファイルの問題か、更新のキャッシュの破損 | トラブルシューティング ツール、キャッシュの消去、更新のダウンロードのやり直し。SFC・DISM | S・U・L |
| 0x8007001F | 接続されたデバイスが機能していない | 外付けのデバイスを外す。ドライバーを更新する | U |
| 0x80070020 | 別のプロセスがファイルを使っている | 再起動し、不要なアプリを閉じる。クリーン ブートで試す | U・L |
| 0x80070057 | パラメーターが正しくない。ファイルの破損・権限・構成の問題 | 管理者として sfc /scannow を実行し、トラブルシューティング ツールを使う | S・U |
| 0x80070070 | ディスクの空き容量が足りない | 空き容量を増やして、もう一度試す | U |
| 0x800700B7 0x2000a | ウイルス対策ソフトなど、ほかのソフトの干渉 | 干渉しているソフトについて、その提供元の案内を確かめてからやり直す | U |
| 0x80070422 | Windows Update のサービスが動いていない(無効になっている) | Windows Update のサービスが実行されているか確かめ、開始する | U・L |
| 0x8007042B 0x4000D | バックグラウンドのプロセスがセットアップを妨げている | クリーン ブートで試す | U |
| 0x80070490 | 更新に含まれるドライバーのインストール中のエラー | 公式の対処はレジストリの編集を伴うため、この記事では手順を載せない。会社の PC は管理者へ | L |
| 0x80070570 | ファイルまたはディレクトリが壊れていて読み取れない | 管理者のコマンド プロンプトで DISM と sfc を実行し、再起動する | L |
| 0x800705b4 | インストールに時間がかかりすぎた、または中断された | インターネット接続を確かめ、PC を再起動する | S |
| 0x80072ee2 | Windows Update のサーバーに接続できない(時間切れ) | 接続を確かめる。会社の回線では、更新の配布元に届くかをネットワークの担当に確かめる | U・L |
| 0x80072efd・0x80072efe | 処理が時間切れになった・接続が途中で閉じられた | Microsoft のダウンロード先への通信がプロキシなどで止められていないか、ネットワークの担当に確かめる | L |
| 0x80072f8f | 日付や時刻が正しくない(Learn は TLS 1.2 の構成の問題とも説明) | 日付・時刻・タイム ゾーンを正しく設定し、時刻の同期を有効にする | U・L |
| 0x80073701 | 参照されたアセンブリが見つからない(コンポーネント ストアの破損) | DISM の RestoreHealth と sfc /scannow を実行し、再起動する | L |
| 0x80073712 | Windows Update に必要なファイルが壊れているか足りない | DISM で修復する | U |
| 0x8007371b | トランザクションに必要なメンバーがない(コンポーネント ストアの破損) | DISM の RestoreHealth と sfc /scannow を実行し、再起動する | L |
0x800F・0x8024・0x8020・その他のコード
| コード | 公式の説明 | 公式の対処 | 出典 |
|---|---|---|---|
| 0x800f081f | パッケージやファイルのソースが見つからない(コンポーネント ストアの破損) | DISM と sfc で修復する。アップグレードでは、メディア作成ツールや ISO でのインプレース アップグレード | U・L |
| 0x800f0831 | コンポーネント ストアが壊れている | DISM の RestoreHealth と sfc /scannow を実行し、再起動する | L |
| 0x800f0922 | 更新のサーバーに接続できない。ディスク容量の不足、.NET Framework などの問題、システム予約パーティションの空き不足も原因になる | VPN を切ってやり直す。空き容量を増やす | S・U |
| 0x800F0923 | ドライバーなどのソフトが Windows 11 と互換性がない可能性 | Microsoft のサポートに問い合わせる | U |
| 0x8024000B | 操作が取り消された。更新が見つからないか壊れている | トラブルシューティング ツール、DISM、更新のコンポーネントのリセット | U・L・R |
| 0x80240016 | 別のインストールの最中か、必須の再起動を待っている間にインストールしようとした | 公式の表は意味だけで、対処の記載はない | R |
| 0x80240020 | 操作するユーザーがサインインしていない | PC にサインインしてインストールを始め、再起動を許可する | L・R |
| 0x80240022 | すべての更新で操作が失敗した | 原因は複数。CBS.log で、どのファイルやフォルダーへのアクセスが止められたかを調べる | L・R |
| 0x80240034 | 更新のダウンロードに失敗した(完了していない) | インターネット接続を確かめ、Windows Update のサービスが動いているか確かめ、トラブルシューティング ツールを実行する | S・U・R |
| 0x80242014 | 再起動のあとの処理がまだ続いている | PC を再起動して、インストールを完了させる | L |
| 0x8024401b | プロキシ サーバーの認証を通れない(HTTP 407 と同じ) | PC のプロキシの設定を確かめる。会社ではネットワーク・プロキシの担当に確かめる | L |
| 0x8024401c | サーバーが要求を待って時間切れになった(HTTP 408 と同じ) | 公式の表は意味だけで、対処の記載はない | R |
| 0x80244022 | 設定された更新の配布元に接続できない(HTTP 503 と同じ) | ネットワークの問題の切り分けが要る。会社ではネットワークの担当に確かめる | L・R |
| 0x80246007 | 更新がダウンロードされていない。ダウンロード済みのファイルが見つからないか壊れている | 一時ファイルを消し、サービスを開始し直す | U・R |
| 0x80248014 | Windows Update のデータベースの問題、またはサービスが動いていない | トラブルシューティング ツールを実行し、Windows Update のサービスを開始する | S・R |
| 0x8024a10a | Windows Update のサービスが終了しようとしている | 長く操作がないと起きる。PC を動かしたままにし、接続を保ってインストールを終える | L |
| 0x80200053 | ダウンロードの検証に失敗した | ダウンロードを遮るファイアウォールがないか、ネットワークの担当に確かめる | L |
| 0x80200056 | 再起動やサインアウトで処理が中断された | 電源につないだまま、もう一度やり直す | U |
| 0x80004005 | 原因の分からないエラー | 再起動、トラブルシューティング ツール、セーフ モードで試す | U |
| 0x80300024 | インストール先のディスクやパーティションが対応していない | 最小要件を確かめる | U |
0xC1900 で始まるアップグレードのコードは、後の「0xC1900101 などアップグレードのエラーの読み方」の節にまとめています。DISM と sfc のコマンドは、公式の文書では次の形で載っています。管理者として開いたコマンド プロンプトで、上から順に実行します。
DISM.exe /Online /Cleanup-image /Restorehealth
sfc /scannow
どちらも時間がかかることがあり、終わるまで待ってから Windows Update をやり直します。
0x8007xxxx の読み方(下4桁が Win32 のエラー番号)
この節では、0x8007 で始まるエラーコードの下4桁を、Windows の一般的なエラー番号として読む方法が分かります。
0x8007 で始まるコードは、Windows の一般的なエラー番号(Win32 のエラー番号)を HRESULT の形に包んだものです。下4桁を16進数から10進数に直すと、Microsoft Learn の「System Error Codes」の番号として引けます。
根拠は2つあります。[MS-ERREF] は Facility の値 7 を FACILITY_WIN32 とし、「装飾されていないエラーコードを HRESULT に対応づけるために予約された領域」と説明しています。そして Microsoft Learn の HRESULT_FROM_WIN32 の文書には、Win32 のエラー番号から HRESULT を作る式が次のように載っています。
#define __HRESULT_FROM_WIN32(x) ((HRESULT)(x) <= 0 ? ((HRESULT)(x)) : ((HRESULT) (((x) & 0x0000FFFF) | (FACILITY_WIN32 << 16) | 0x80000000)))
式の意味は「エラー番号の下16ビットに、7(FACILITY_WIN32)を16ビット左にずらした値と、先頭の失敗のビット(0x80000000)を足し合わせる」です。だから、2番のエラーは 0x80070002、112番のエラーは 0x80070070 になります。
8
先頭の 8 は、最上位のビット(Severity)が 1 = 失敗という印。
0x8 で始まれば失敗
007
Facility = 7(FACILITY_WIN32)。Windows の一般的なエラーを包んだもの。
発生元の番号
0002
Code = 0x0002 = 10進数の 2。System Error Codes の 2 番を引く。
ここが原因の番号
結果
2 は ERROR_FILE_NOT_FOUND。「指定されたファイルが見つからない」。
0x80070002 の意味
Windows Update でよく出る 0x8007 のコードを、この読み方で Microsoft Learn の「System Error Codes」「WinINet errors」と照らし合わせました。英語の説明は、文書の文言をそのまま載せています。
| エラーコード | 下4桁 → 10進数 | 定数名 | 公式の説明(英語の原文) |
|---|---|---|---|
| 0x80070002 | 0x0002 → 2 | ERROR_FILE_NOT_FOUND | The system cannot find the file specified. |
| 0x80070003 | 0x0003 → 3 | ERROR_PATH_NOT_FOUND | The system cannot find the path specified. |
| 0x80070005 | 0x0005 → 5 | ERROR_ACCESS_DENIED | Access is denied. |
| 0x8007000D | 0x000D → 13 | ERROR_INVALID_DATA | The data is invalid. |
| 0x8007001F | 0x001F → 31 | ERROR_GEN_FAILURE | A device attached to the system is not functioning. |
| 0x80070020 | 0x0020 → 32 | ERROR_SHARING_VIOLATION | The process cannot access the file because it is being used by another process. |
| 0x80070057 | 0x0057 → 87 | ERROR_INVALID_PARAMETER | The parameter is incorrect. |
| 0x80070070 | 0x0070 → 112 | ERROR_DISK_FULL | There is not enough space on the disk. |
| 0x800700B7 | 0x00B7 → 183 | ERROR_ALREADY_EXISTS | Cannot create a file when that file already exists. |
| 0x80070422 | 0x0422 → 1058 | ERROR_SERVICE_DISABLED | The service cannot be started, either because it is disabled or because it has no enabled devices associated with it. |
| 0x8007042B | 0x042B → 1067 | ERROR_PROCESS_ABORTED | The process terminated unexpectedly. |
| 0x80070490 | 0x0490 → 1168 | ERROR_NOT_FOUND | Element not found. |
| 0x80070570 | 0x0570 → 1392 | ERROR_FILE_CORRUPT | The file or directory is corrupted and unreadable. |
| 0x800705B4 | 0x05B4 → 1460 | ERROR_TIMEOUT | This operation returned because the timeout period expired. |
| 0x80072EE2 | 0x2EE2 → 12002 | ERROR_INTERNET_TIMEOUT | The request has timed out. |
| 0x80072F8F | 0x2F8F → 12175 | ERROR_INTERNET_DECODING_FAILED | WinINet failed to perform content decoding on the response. |
| 0x80073701 | 0x3701 → 14081 | ERROR_SXS_ASSEMBLY_MISSING | The referenced assembly could not be found. |
| 0x80073712 | 0x3712 → 14098 | ERROR_SXS_COMPONENT_STORE_CORRUPT | The component store has been corrupted. |
0x8007371B は、下4桁が 0x371B → 14107 で、定数名は ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE(One or more required members of the transaction are not present.)です。0x80072EE2・0x80072F8F の 12000 番台は、System Error Codes の文書では範囲だけが示され、個々の番号は WinINet errors の文書に載っています。
この読み方で分かるのは「Windows の中で何が起きたか」までです。 「どの手順で直すか」は、前の節の一覧表のように、Windows Update 向けの公式の文書で確かめます。たとえば 0x80072F8F は、番号の上では「内容のデコードに失敗した」ですが、公式のアップグレードのヘルプは日付と時刻を合わせることを対処に挙げています。
Python で Windows Update のエラーコードを分解・変換する
この節では、エラーコードを Python で Severity・Facility・Code に分ける方法と、逆に Win32 のエラー番号から HRESULT を作る方法が、実行した出力つきで分かります。
16進数の文字列を int(文字列, 16) で数に直し、ビットをずらして取り出すだけで分解できます。 下のコードは、[MS-ERREF] のビットの並び(S・R・C・N・X が1ビットずつ、Facility が11ビット、Code が2バイト)に合わせています。定数名の対応表は、前の節で公式の文書と照らし合わせたものだけを入れました。
import sys
FAC = {7: "FACILITY_WIN32", 15: "FACILITY_SETUPAPI",
32: "FACILITY_BACKGROUNDCOPY", 36: "FACILITY_WINDOWSUPDATE"}
# Microsoft Learn の System Error Codes・WinINet errors で確かめた番号だけ
W32 = {2: "ERROR_FILE_NOT_FOUND", 5: "ERROR_ACCESS_DENIED",
13: "ERROR_INVALID_DATA", 32: "ERROR_SHARING_VIOLATION",
112: "ERROR_DISK_FULL", 1058: "ERROR_SERVICE_DISABLED",
1460: "ERROR_TIMEOUT", 12002: "ERROR_INTERNET_TIMEOUT",
12175: "ERROR_INTERNET_DECODING_FAILED",
14098: "ERROR_SXS_COMPONENT_STORE_CORRUPT"} # 一部を抜粋
def decode(text):
v = int(text, 16) & 0xFFFFFFFF
s = v >> 31 # Severity(1 なら失敗)
n = (v >> 28) & 1 # N(1 なら NTSTATUS 由来)
fac = (v >> 16) & 0x7FF # Facility(11ビット)
code = v & 0xFFFF # Code(下2バイト)
return v, s, n, fac, code
def hresult_from_win32(x):
# Microsoft Learn の HRESULT_FROM_WIN32 の定義を Python で再現
if x <= 0:
return x
return (x & 0x0000FFFF) | (7 << 16) | 0x80000000
if __name__ == "__main__":
for t in sys.argv[1:]:
v, s, n, fac, code = decode(t)
name = FAC.get(fac, "-")
w = W32.get(code, "") if fac == 7 else ""
print(f"0x{v:08X} S={s} N={n} facility={fac:<3} {name:<24} "
f"code=0x{code:04X} ({code}) {w}")
この記事で扱ったコードを渡して実行した出力です(表示の都合で、定数名の対応表は記事の表にあるものをすべて入れた版で動かしています)。
$ python3 hr.py 0x80070002 0x80070005 0x8007000D 0x80070020 0x80070070 0x80070422 0x800705B4 0x80072EE2 0x80072F8F 0x80073712 0x800F0922 0x800F081F 0x80240034 0x80248014 0x80200056 0xC1900101
0x80070002 S=1 N=0 facility=7 FACILITY_WIN32 code=0x0002 (2) ERROR_FILE_NOT_FOUND
0x80070005 S=1 N=0 facility=7 FACILITY_WIN32 code=0x0005 (5) ERROR_ACCESS_DENIED
0x8007000D S=1 N=0 facility=7 FACILITY_WIN32 code=0x000D (13) ERROR_INVALID_DATA
0x80070020 S=1 N=0 facility=7 FACILITY_WIN32 code=0x0020 (32) ERROR_SHARING_VIOLATION
0x80070070 S=1 N=0 facility=7 FACILITY_WIN32 code=0x0070 (112) ERROR_DISK_FULL
0x80070422 S=1 N=0 facility=7 FACILITY_WIN32 code=0x0422 (1058) ERROR_SERVICE_DISABLED
0x800705B4 S=1 N=0 facility=7 FACILITY_WIN32 code=0x05B4 (1460) ERROR_TIMEOUT
0x80072EE2 S=1 N=0 facility=7 FACILITY_WIN32 code=0x2EE2 (12002) ERROR_INTERNET_TIMEOUT
0x80072F8F S=1 N=0 facility=7 FACILITY_WIN32 code=0x2F8F (12175) ERROR_INTERNET_DECODING_FAILED
0x80073712 S=1 N=0 facility=7 FACILITY_WIN32 code=0x3712 (14098) ERROR_SXS_COMPONENT_STORE_CORRUPT
0x800F0922 S=1 N=0 facility=15 FACILITY_SETUPAPI code=0x0922 (2338)
0x800F081F S=1 N=0 facility=15 FACILITY_SETUPAPI code=0x081F (2079)
0x80240034 S=1 N=0 facility=36 FACILITY_WINDOWSUPDATE code=0x0034 (52)
0x80248014 S=1 N=0 facility=36 FACILITY_WINDOWSUPDATE code=0x8014 (32788)
0x80200056 S=1 N=0 facility=32 FACILITY_BACKGROUNDCOPY code=0x0056 (86)
0xC1900101 S=1 N=0 facility=400 - code=0x0101 (257)
逆向きの変換と、10進数の負の数で表示されたときの変換も試しました。PowerShell や .NET のログなどでは、同じ値が符号つきの10進数(-2147024894 など)で出ることがあります。32ビットの値として見直すと、16進数のコードに戻せます。
from hr import hresult_from_win32
# Win32 のエラー番号 → HRESULT(0x8007xxxx)
for x in (2, 5, 112, 1058, 14098):
print(f"HRESULT_FROM_WIN32({x}) = 0x{hresult_from_win32(x):08X}")
# 負の10進数(符号つき32ビット)⇔ 16進数
for d in (-2147024894, -2145124300):
print(f"{d} -> 0x{d & 0xFFFFFFFF:08X}")
for h in ("0x80070002", "0x80240034"):
v = int(h, 16)
print(f"{h} -> {v - (1 << 32) if v >= 1 << 31 else v}")
HRESULT_FROM_WIN32(2) = 0x80070002
HRESULT_FROM_WIN32(5) = 0x80070005
HRESULT_FROM_WIN32(112) = 0x80070070
HRESULT_FROM_WIN32(1058) = 0x80070422
HRESULT_FROM_WIN32(14098) = 0x80073712
-2147024894 -> 0x80070002
-2145124300 -> 0x80240034
0x80070002 -> -2147024894
0x80240034 -> -2145124300
Windows の上なら、Python の ctypes.FormatError(番号) で Windows に登録されたエラーの文言を取り出せます。docs.python.org は、この関数を「エラーコードの文章による説明を返す」と説明し、使える環境を Windows としています。Linux で呼ぶと、関数そのものがありません。
$ python3 -I -c 'import ctypes; ctypes.FormatError(2)'
Traceback (most recent call last):
File "<string>", line 1, in <module>
import ctypes; ctypes.FormatError(2)
^^^^^^^^^^^^^^^^^^
AttributeError: module 'ctypes' has no attribute 'FormatError'
Windows のコマンドで調べるなら、Microsoft Learn の certutil の文書に「エラーコードに対応する文言を表示する」オプションとして certutil -error が載っています(書式:certutil [options] -error ErrorCode)。この記事の環境では Windows を動かしていないため、その出力は載せていません。
Python の例外の基本は、関連記事「Python例外処理 try exceptの書き方|raise fromも実行で確認」で扱っています。docs.python.org によると、Windows では OSError の winerror 属性に Windows のエラー番号が入り、errno 属性はそれを POSIX の番号に近似したものになります。Windows の 2 番(ERROR_FILE_NOT_FOUND)と Python の Errno 2 はどちらも「ファイルが見つからない」で、Python 側の直し方は関連記事「FileNotFoundError: [Errno 2]の直し方|Python」で扱っています。
先頭の4桁で分かる発生元(0x8024・0x800F・0x8020・0xC190)
この節では、一覧表に載っていないコードに出会ったときに、先頭の4桁から発生元の見当をつける方法が分かります。
先頭の4桁が分かれば、どの公式の文書を引けばよいかが決まります。 Facility の名前は [MS-ERREF] の表、名前の付け方は Microsoft Learn の「Windows Update error codes by component」で確かめました。
10x8007:Windows の一般的なエラー
Facility 7(FACILITY_WIN32)。下4桁を10進数に直して System Error Codes を引く。ファイルが無い・権限が無い・容量が無い、などの基本的な原因が多い。
20x8024:Windows Update そのもの
Facility 36(FACILITY_WINDOWSUPDATE)。公式の一覧では WU_E_ で始まる名前が付き、0x80244xxx は通信、0x80246xxx はダウンロード、0x80248xxx はデータ ストアと、部品ごとに範囲が分かれている。
30x800F:更新のインストールの仕組み
Facility 15 の値。[MS-ERREF] の名前は FACILITY_SETUPAPI だが、Windows Update の一覧では 0x800f081f などに CBS_E_ で始まる名前(コンポーネント ベース サービス)が付いている。DISM と sfc の対処が多い。
40x8020:バックグラウンドの転送
Facility 32(FACILITY_BACKGROUNDCOPY)。更新のダウンロードに使う転送の仕組みのエラーで、0x80200053 には BG_E_ で始まる名前が付いている。
50xC190:Windows のセットアップ
アップグレードのときに出る結果コード。公式の文書では「拡張コード」と組み合わせて読む。次の節で扱う。
Windows Update の一覧の文書には、0x8024 の範囲で部品ごとの区分が15個あります。主なものは次のとおりです。
| 範囲 | 部品(公式の区分名) | 名前の頭 |
|---|---|---|
| 0x80240xxx | General Windows Update errors(全般) | WU_E_ |
| 0x80242xxx | Update Handler errors(更新の処理) | WU_E_UH_ |
| 0x80244xxx | Protocol Talker errors(サーバーとの通信) | WU_E_PT_ |
| 0x80246xxx | Download Manager errors(ダウンロード) | WU_E_DM_ |
| 0x80248xxx | Data Store errors(データ ストア) | WU_E_DS_ |
| 0x8024Dxxx | Windows Update Agent update and setup errors | WU_E_SETUP_ |
| 0x00240xxx | Windows Update success codes(成功) | WU_S_ |
0x80244 の通信のエラーには、HTTP のステータスコードと対応するものがあります。公式の一覧は、0x8024401c を「HTTP の 408 と同じ」、0x80244022 を「HTTP の 503 と同じ」と説明しています。先頭が 0x0024 のように 0x8 で始まらない値は、失敗ではなく成功のコードです。
0xC1900101 などアップグレードのエラーの読み方
この節では、Windows のアップグレード(機能更新)で出る「0xC1900101 - 0x4000D」のような2つのコードの読み方と、主なコードの公式の対処が分かります。
Microsoft Learn の「Windows 10 upgrade error codes」によると、アップグレードが失敗すると Windows のセットアップは「結果コード」と「拡張コード」の2つを返します。 結果コードは特定の Win32 か NTSTATUS のエラーに当たり、拡張コードは「どの段階(フェーズ)の、どの操作で失敗したか」を表します。0xC1900101 は汎用のコードで、ロールバック(元の Windows に戻すこと)が起きたことを示し、多くの場合の原因はドライバーの互換性だと説明されています。
- 1拡張コードの最初の数字でフェーズを見る0x4000D なら 4
- 2最後の2桁で操作を見る0x4000D なら 0D
- 3公式の表で、フェーズと操作の名前に当てはめる4 は SP_EXECUTION_OOBE_BOOT、0D は SP_EXECUTION_OP_MIGRATE_DATA
公式の表の値を Python に入れ、よく見かける拡張コードを読みました。
PHASE = {0: "SP_EXECUTION_UNKNOWN", 1: "SP_EXECUTION_DOWNLEVEL",
2: "SP_EXECUTION_SAFE_OS", 3: "SP_EXECUTION_FIRST_BOOT",
4: "SP_EXECUTION_OOBE_BOOT", 5: "SP_EXECUTION_UNINSTALL"}
OP = {0x07: "SP_EXECUTION_OP_INSTALL_DRIVERS", 0x0C: "SP_EXECUTION_OP_APPLY_IMAGE",
0x0D: "SP_EXECUTION_OP_MIGRATE_DATA", 0x17: "SP_EXECUTION_OP_BOOT",
0x18: "SP_EXECUTION_OP_SYSPREP"}
for ext in ("0x4000D", "0x20017", "0x30018", "0x2000C"):
v = int(ext, 16)
phase, op = v >> 16, v & 0xFF
print(f"{ext}: phase={phase} {PHASE[phase]} operation=0x{op:02X} {OP[op]}")
0x4000D: phase=4 SP_EXECUTION_OOBE_BOOT operation=0x0D SP_EXECUTION_OP_MIGRATE_DATA
0x20017: phase=2 SP_EXECUTION_SAFE_OS operation=0x17 SP_EXECUTION_OP_BOOT
0x30018: phase=3 SP_EXECUTION_FIRST_BOOT operation=0x18 SP_EXECUTION_OP_SYSPREP
0x2000C: phase=2 SP_EXECUTION_SAFE_OS operation=0x0C SP_EXECUTION_OP_APPLY_IMAGE
公式の文書の例も「0x4000D はフェーズ 4 のデータの移行(000D)での問題」としており、計算の結果と一致します。なお同じ文書は、拡張コードは Windows 10 の版 1607 時点のアップグレードの処理に合わせたもので、今後変わることがあると注意書きしています。
| コード | 公式の説明 | 公式の対処 | 出典 |
|---|---|---|---|
| 0xC1900101 | ドライバーに関する問題(互換性のないドライバー) | 空き容量を増やす、デバイス マネージャーでドライバーを更新またはアンインストール、外付けの機器を外す、クリーン ブート、DISM での修復 | S・U |
| 0xC1900107 | 前回のインストールの後始末が保留中 | 再起動してから、ディスク クリーンアップを実行する | U |
| 0xC1900200 - 0x20008 | PC が Windows 11 の最小要件を満たしていない可能性 | 最小要件を確かめる(0xC1900202 - 0x20008 も同じ) | U |
| 0xC1900208 - 0x4000C | 互換性のないアプリが入っている可能性 | そのアプリをアンインストールしてから、もう一度アップグレードする | U |
| 0xc1900223 | 更新のダウンロードやインストールで問題が起きた | Windows Update が後で自動的にやり直すので、操作は要らない | U |
アップグレードの要件と手順そのものは、この記事の姉妹編「Windows 11 アップグレード|無料の条件・要件・手順とできないときの対処表」で扱う予定です。インストール用の USB メモリーを作るときは、関連記事「Rufus(ルーファス)の使い方|Windows 11のUSB作成と全項目の意味」で扱っています。ISO の入手は姉妹編「Windows 11のISOダウンロード方法|公式の入手手順とSHA-256確認」でまとめる予定です。
更新の履歴の見方(エラーコードの確かめ方)
この節では、失敗した更新とそのエラーコードを、更新の履歴の画面とコマンドで確かめる方法が分かります。
エラーコードは、更新の履歴で確かめるのが基本です。 Microsoft サポートの「Windows Update をアンインストールする方法」には、更新の履歴を開く手順が次のように載っています。
「スタート」→「設定」→「Windows Update」を選ぶ
Windows Update の画面が開きます。
「その他のオプション」で「更新履歴」を選ぶ
入った更新と入らなかった更新が並びます。更新の名前に付いている「KB」で始まる番号と、失敗したときのエラーコードを控えます。
コードを一覧表で引く
この記事の一覧表で見つからなければ、先頭の4桁で発生元を見分け、Microsoft の公式の文書を検索します。検索するときは、コードの全体(0x800f0922 など)と KB の番号を一緒に入れると絞り込めます。
コマンドで確かめる方法も、公式の文書に載っています。
- 入っている更新とインストール日:Microsoft Learn のトラブルシューティングの文書は、PowerShell で
Get-HotFixに KB の番号を渡すと、入っていれば InstalledOn の欄にインストール日が出る、と説明しています。 - 更新のインストールの詳しいログ:Microsoft Learn の Windows Update のログの文書によると、CBS.log は
%systemroot%\Logs\CBSにあり、サービス スタックでの更新のインストールの様子が分かります。一覧表の 0x80070003・0x80240022 の対処にある「CBS.log を調べる」はこのファイルです。 - Windows Update のログ:同じ文書は、Windows Update の記録(.etl ファイル)を1つの読める WindowsUpdate.log にまとめるには
Get-WindowsUpdateLogを使う、と案内しています。作られるのはその時点の写しで、自動では更新されません。
Get-HotFix KB5031539
PowerShell の基本の使い方は、関連記事「PowerShellコマンド一覧|用途別50選とbash対応表・実行例付き」で扱っています。上の KB の番号は、公式の文書に例として載っているものです。
Windows Update に必要な空き容量の確かめ方
この節では、空き容量の確かめ方と、更新に必要な空き容量の目安が、公式の文書の数字で分かります。
空き容量は「スタート」→「設定」→「システム」→「ストレージ」で確かめます。 必要な量は、文書によって書き方が違います。
品質更新なら数 GB、機能更新なら 11 GB、トラブルシューティングの文書の目安に合わせるなら 20 GB を空けておくと、容量が原因の失敗を避けやすくなります。空きを増やす方法として、公式の文書は「ストレージ センサーを使用してスペースを解放する (推奨)」「クリーンアップの推奨事項を使用する」「外部ストレージを使用して更新を完了する」の3つを挙げています。外部の記憶装置を使うときは、少なくとも 10 GB の空きが要るとされています。
Python では、shutil.disk_usage() で全体・使用中・空きの容量をバイトで取れます。docs.python.org では Unix と Windows の両方で使えるとされ、Windows ではドライブの中のフォルダーやファイルを渡します。手元の Linux の作業場所(メモリー上のファイルシステム)で、公式の目安と比べるスクリプトを動かしました。
import shutil, sys
path = sys.argv[1] # Windows なら "C:\\" など
u = shutil.disk_usage(path)
GB = 1000 ** 3
print(u)
print(f"空き {u.free / GB:.1f} GB / 全体 {u.total / GB:.1f} GB")
for need in (3, 11, 20):
print(f"{need:>2} GB 以上あるか: {u.free >= need * GB}")
usage(total=8412139520, used=15519744, free=8396619776)
空き 8.4 GB / 全体 8.4 GB
3 GB 以上あるか: True
11 GB 以上あるか: False
20 GB 以上あるか: False
この出力の場合、品質更新の目安は満たしますが、機能更新と 64 ビット版の目安には足りない、と読めます。「設定」の画面の GB 表示とずれる場合は、1 GB を 1000 の3乗とするか 1024 の3乗とするかの違いを確かめます。0x80070070(ERROR_DISK_FULL)や「Windows の更新に必要な空き容量が不足しています」が出たときは、この数字を先に見ます。
原因別の切り分け表(症状・確かめ方・直し方)
この節では、エラーコードと症状から原因の系統を絞り、確かめ方と直し方を1つの表で選べます。
コードが違っても、原因の系統は「容量」「通信」「ファイルの破損」「ほかのソフト・機器」「サービス」「再起動待ち」の6つにまとまります。
| 原因の系統 | 症状・コードの例 | 確かめ方 | 直し方(公式の範囲) |
|---|---|---|---|
| 容量 | 0x80070070、0x800f0922、空き容量の通知 | 「設定」→「システム」→「ストレージ」 | ストレージ センサーで空きを増やす。外部ストレージを使う |
| 通信 | 0x80072ee2、0x80072efe、0x8024401b、0x80244022、0x800f0922 | 別のサイトが開けるか。VPN・プロキシを使っているか | 接続を安定させる。VPN を切ってやり直す。会社ではネットワークの担当へ |
| 時刻 | 0x80072f8f | PC の日付・時刻・タイム ゾーンが合っているか | 時刻とタイム ゾーンを自動で設定し、同期を有効にする |
| ファイルの破損 | 0x8007000d、0x80070570、0x80073712、0x800f081f、0x800f0831 | 同じ更新が何度も同じコードで失敗するか | トラブルシューティング ツール → DISM → sfc の順で修復 |
| ほかのソフト・機器 | 0x80070020、0x8007042B、0x800700B7、0xC1900101 | 外付けの機器をつないでいるか。常駐するソフトがあるか | 機器を外す、クリーン ブートで試す、ドライバーを更新する |
| サービス | 0x80070422、0x80248014、0x80240034 | Windows Update のサービスが動いているか | トラブルシューティング ツールを実行し、サービスを開始する |
| 再起動待ち・中断 | 0x80242014、0x80240016、0x80200056、0x8024a10a | 再起動を求める表示が出ていないか。途中で電源を切っていないか | 再起動してから、電源につないだまま、もう一度やり直す |
どの系統か分からないときは、公式の順番どおり、再起動・空き容量・トラブルシューティング ツールに戻ります。
似たエラーコードとの違い
この節では、見た目が近くて取り違えやすいエラーコードの違いが分かります。
下4桁が1つ違うだけで、原因はまったく変わります。 一覧表と System Error Codes の記載をもとに並べました。
| コード | 意味の違い | まず見る所 |
|---|---|---|
| 0x80070002 と 0x80070003 | 2 は「ファイル」が無い、3 は「パス(場所)」が無い | 2 は再起動と空き容量、3 は CBS.log |
| 0x80070005 と 0xC0000005 | 前者は Win32 の「アクセス拒否」、後者は公式のアップグレードのヘルプで「アクセス拒否」と説明される別系統のコード | 管理者の権限、常駐するソフトの設定 |
| 0x80070070 と 0x800f0922 | 前者は容量不足そのもの、後者は接続の失敗とシステム予約パーティションの空き不足の両方がありうる | 前者はストレージ、後者は VPN と空き容量 |
| 0x800f081f と 0x800f0831 | どちらもコンポーネント ストアの問題。前者は修復のソースが見つからない、後者はストアの破損 | DISM と sfc |
| 0x80072ee2 と 0x80072efd | どちらも時間切れの系統。前者は WinINet の 12002、後者は 12029(接続の失敗) | 回線、プロキシ |
| 0x80240034 と 0x80246007 | 前者はダウンロードの失敗、後者は「まだダウンロードされていない」 | 回線を安定させてやり直す |
| 0xC1900101 と 0xc1900223 | 前者はロールバックが起きた失敗、後者は自動でやり直すので操作が要らない | 前者はドライバー、後者は待つ |
0x80072efd の下4桁 0x2EFD は10進数で 12029 で、WinINet errors の文書の ERROR_INTERNET_CANNOT_CONNECT(The attempt to connect to the server failed.)に当たります。Learn の Windows Update の一覧では、0x80072EFD・0x80072EFE・0x80D02002 がまとめて時間切れのエラーとして扱われています。
やってはいけないことと、場面別の判断表
この節では、エラーを直そうとして状況を悪くしやすい操作と、場面ごとに何から手を付けるかが分かります。
修復の道具を探すとき
公式の文書の対処は、Windows に入っている機能だけで完結している
セキュリティ ソフトが疑わしいとき
止めたまま忘れると、別の問題を招く
レジストリを書き換える手順を見つけたとき
書き換えの誤りは、Windows が起動しない原因にもなる
| 場面 | 最初にすること | 次にすること |
|---|---|---|
| 初めて失敗した | 再起動して、もう一度「更新プログラムの確認」 | 空き容量とトラブルシューティング ツール |
| 同じコードで何度も失敗する | 更新履歴でコードと KB の番号を控え、一覧表で引く | コードの系統に合わせて、DISM・sfc などを公式の順で |
| 0% や 100% で止まって進まない | 公式の文書どおり、再起動して接続と空き容量を確かめる | トラブルシューティング ツール |
| アップグレードで 0xC1900101 | 外付けの機器を外し、ドライバーを更新する | 拡張コードでフェーズを読み、クリーン ブートで試す |
| 会社の PC で接続のコード | 自分では設定を変えず、コードと KB の番号を管理者へ伝える | 管理者の案内に従う |
| どの手順でも直らない | 大事なファイルのバックアップを取る | Microsoft のサポートに相談する |
公式のトラブルシューティングの文書は、Windows 11 のクリーン インストールを最後の手段として挙げています。ファイルやアプリに影響するので、バックアップを取ってから判断します。
Windows Update のエラーを調べるときのつまずき
この節では、エラーコードを調べたり変換したりするときに起きやすい間違いと、その直し方が分かります。
| つまずき | 原因 | 直し方 |
|---|---|---|
| Python で ValueError: invalid literal for int() with base 16 が出た | コードを書き写すときに、数字の 0 を英字の O にした | 16進数は 0〜9 と A〜F だけ。O・I・L などが混ざっていないか見直す |
| AttributeError: module 'ctypes' has no attribute 'FormatError' | Linux や Mac で Windows だけの関数を呼んだ | Windows の上で実行する。ほかの OS では公式の表で引く |
| 同じコードなのに検索結果がばらばら | 0x800f0922 と 0x800F0922 を別のものだと思った | 大文字と小文字は同じ値。0x を付けた8桁の全体で検索する |
| ログに -2147024894 のような負の数が出た | 同じ値を符号つきの10進数で表示している | 32ビットの値として16進数に直す(0x80070002) |
| 拡張コードの付いたコードが一覧で見つからない | 0xC1900101 - 0x4000D の全体で探した | 結果コード(前半)で引き、拡張コード(後半)はフェーズと操作として読む |
| 下4桁を10進数として引いてしまった | 0x0422 を 422 番と読んだ | 16進数の 0x0422 は10進数の 1058。変換してから System Error Codes を引く |
| Win32 の意味どおりに直したのに直らない | 番号の意味と、Windows Update での対処は別 | Windows Update 向けの公式の対処(一覧表)を先に試す |
書き写し違いのエラーは、手元で実際に出した原文が次のとおりです。
$ python3 -I -c 'int("0x8007OOO2",16)'
Traceback (most recent call last):
File "<string>", line 1, in <module>
int("0x8007OOO2",16)
~~~^^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 16: '0x8007OOO2'
作業の前に確かめたいことを、チェックリストにまとめました。
- 1コードを8桁すべて控えた0x を付けた全体と、KB の番号を一緒にメモする
- 2再起動を済ませた保留中の処理が残っていると、次の更新が入らない
- 3空き容量を見た「設定」→「システム」→「ストレージ」で、目安と比べる
- 4トラブルシューティング ツールを実行した「その他のトラブルシューティング ツール」の Windows Update
- 5大事なファイルのバックアップを取ったコマンドの手順やクリーン インストールの前に
Windows Update のエラーコードのよくある質問
この節では、Windows Update のエラーコードについてよく調べられる疑問への答えが分かります。
Q. 0x800f0922 は何をすれば直りますか?
Microsoft の公式の文書は、VPN を切ってやり直すことと、空き容量を増やすことを挙げています。更新のサーバーに接続できないときと、システム予約パーティションの空きが足りないときに出ると説明されています。
Q. 0x80070002 は何のエラーですか?
下4桁の 0x0002 は Win32 の 2 番、ERROR_FILE_NOT_FOUND(指定されたファイルが見つからない)です。公式の対処は、再起動・トラブルシューティング ツール・空き容量の確認です。
Q. エラーコードはどこで確かめられますか?
「スタート」→「設定」→「Windows Update」→「その他のオプション」→「更新履歴」で、失敗した更新のコードを確かめられます。
Q. 一覧表にないコードはどう調べればよいですか?
先頭の4桁で発生元を見分けます。0x8007 なら下4桁を10進数に直して System Error Codes を、0x8024 なら Windows Update error codes by component を引きます。
Q. 0x8007 で始まるコードは全部 Windows Update の問題ですか?
いいえ。0x8007 は Windows の一般的なエラーを包んだ形なので、ほかのアプリや操作でも同じコードが出ます。Windows Update で出たときは、Windows Update 向けの公式の対処を先に試します。
Q. 0xC1900101 のあとの 0x4000D などは何ですか?
拡張コードです。最初の数字がフェーズ、最後の2桁が操作を表し、0x4000D はフェーズ 4(SP_EXECUTION_OOBE_BOOT)のデータの移行での失敗です。
Q. 更新にはどれくらいの空き容量が要りますか?
公式の文書の目安は、品質更新で 2〜3 GB 以上、機能更新で 6〜11 GB 以上です。トラブルシューティングの文書は、64 ビット版で 20 GB 以上、32 ビット版で 16 GB 以上としています。
Q. Windows を使わずにコードの意味を調べられますか?
はい。この記事の Python のコードはどの OS でも動き、facility と code に分けられます。文言を Windows から取り出す ctypes.FormatError と certutil -error は Windows の上でだけ使えます。
Q. 0xc1900223 が出たら何をすればよいですか?
公式のアップグレードのヘルプは、Windows Update が後で自動的にやり直すので操作は要らない、としています。
Q. 何をしても直らないときはどうしますか?
大事なファイルのバックアップを取り、Microsoft のサポートに相談します。会社の PC は、コードと KB の番号を添えて管理者に伝えます。
まとめ
- まず試すのは3つ:再起動・空き容量の確保・Windows Update のトラブルシューティング ツール(公式の順)。
- コードは更新履歴で確かめる:「設定」→「Windows Update」→「その他のオプション」→「更新履歴」で、コードと KB の番号を控える。
- 先頭4桁で発生元が分かる:0x8007 は Windows の一般的なエラー、0x8024 は Windows Update、0x800F は更新のインストールの仕組み、0xC190 はアップグレード。
- 0x8007xxxx は下4桁が Win32 のエラー番号:16進数を10進数に直して System Error Codes を引く。Python のビット演算で分解・変換できる。
- 対処は公式の文書の範囲で:出所の分からない修復ツールやレジストリの直接編集に頼らず、直らなければ Microsoft のサポートか管理者に相談する。
参考・出典
この節では、この記事の根拠にした公式の文書が分かります(確認日 2026年11月12日)。
- Microsoft サポート「Windows の更新に関する問題のトラブルシューティング」:https://support.microsoft.com/ja-jp/help/10164
- Microsoft サポート「Windows のアップグレードとインストールに関するエラーのヘルプ」:https://support.microsoft.com/ja-jp/help/10587/
- Microsoft サポート「Windows Update トラブルシューティング ツール」:https://support.microsoft.com/ja-jp/help/4027322
- Microsoft サポート「Windows 更新プログラム用に空き領域を増やすには」:https://support.microsoft.com/ja-jp/help/4013876
- Microsoft サポート「Windows の更新プログラムのインストール」:https://support.microsoft.com/ja-jp/help/4027667
- Microsoft サポート「Windows Update をアンインストールする方法」:https://support.microsoft.com/ja-jp/windows/how-to-uninstall-a-windows-update-c77b8f9b-e4dc-4e9f-a803-fdec12e59fb0
- Microsoft Learn「Windows Update common errors and mitigation」:https://learn.microsoft.com/en-us/troubleshoot/windows-client/installing-updates-features-roles/common-windows-update-errors
- Microsoft Learn「Windows Update error codes by component」:https://learn.microsoft.com/en-us/windows/deployment/update/windows-update-error-reference
- Microsoft Learn「Windows Update troubleshooting guidance」:https://learn.microsoft.com/en-us/troubleshoot/windows-client/installing-updates-features-roles/troubleshoot-windows-update-issues
- Microsoft Learn「Windows Update log files」:https://learn.microsoft.com/en-us/windows/deployment/update/windows-update-logs
- Microsoft Learn「Windows 10 upgrade error codes」:https://learn.microsoft.com/en-us/windows/deployment/upgrade/upgrade-error-codes
- Microsoft Learn「[MS-ERREF]: HRESULT」:https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-erref/0642cb2f-2075-4469-918c-4441e69c548a
- Microsoft Learn「HRESULT_FROM_WIN32 macro (winerror.h)」:https://learn.microsoft.com/en-us/windows/win32/api/winerror/nf-winerror-hresult_from_win32
- Microsoft Learn「System Error Codes (0-499)」:https://learn.microsoft.com/en-us/windows/win32/debug/system-error-codes--0-499-
- Microsoft Learn「System Error Codes (1000-1299)」:https://learn.microsoft.com/en-us/windows/win32/debug/system-error-codes--1000-1299-
- Microsoft Learn「System Error Codes (1300-1699)」:https://learn.microsoft.com/en-us/windows/win32/debug/system-error-codes--1300-1699-
- Microsoft Learn「System Error Codes (12000-15999)」:https://learn.microsoft.com/en-us/windows/win32/debug/system-error-codes--12000-15999-
- Microsoft Learn「WinINet errors」:https://learn.microsoft.com/en-us/windows/win32/wininet/wininet-errors
- Microsoft Learn「certutil」:https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/certutil
- Python ドキュメント「組み込み例外(OSError.winerror)」:https://docs.python.org/3/library/exceptions.html
- Python ドキュメント「ctypes(FormatError)」:https://docs.python.org/3/library/ctypes.html
- Python ドキュメント「shutil(disk_usage)」:https://docs.python.org/3/library/shutil.html
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「Windows Updateのエラーコード一覧|0x800f0922等の意味と直し方」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。