はじめに
Windows10 Update でKB5034441の0x80070643エラーが発生する場合の対処方法を備忘録的に軽く記載します。
(色々面倒なことがあったので参考情報を記載します)
ある程度再現性を重視して、手順には、PCを普段から使っている人には冗長な内容も記載しています。
目次
- 前提
- エラー概要
- 対処方法
- 参考文献
前提
本件エラーの解決を確認した環境等をまとめます。
対象者
- Windows UpdateでKB5034441の0x80070643エラーが発生した人
- Windows 10 ユーザー
- Windows 11 ユーザーも対象の可能性あり(実機で未確認)
- 普段ICT関連に詳しいけど、たまにPowerShellとかになると操作方法忘れる人
- 普段ICT関連触れている程度の人(ICT見習い系)
動作確認環境
- OS
- Windows 10
- version 22H2
- CPUアーキテクチャ
- x64(64bit)
- PatchWinREScript_2004plus.ps1スクリプト動作環境
- Windows 10
- version 2004 以降(Windows 11を含む)
エラー概要
- Windows 10 21H2/22H向けに配信されている
- Windows回復環境(WinRE)の更新プログラム
- KB5034441
- 適用した際に、「0x80070643エラー」などで更新に失敗する不具合が発生
0x80070643 エラーで更新に失敗する問題に対処するための「PowerShellスクリプト」をMicrosoftが公開した模様。
このスクリプトを使用すれば、エラーを回避して正常にアップデートを完了させることができるとのこと。
なお、この更新プログラムの目的は、実行中の PC 上の Windows Recovery Environment (WinRE) に安全な OS 動的更新プログラム (KB5034232) を自動的に適用するためのものらしい。
⇒ 今回は、上記の「KB5034232」をローカルにダウンロードして手動で適用することになると考えられる。
対処方法
1. Windowsバージョン確認
[Windowsキー] + [R] ⇒ 「winver」を入力して実行
※参考:バージョン一覧
2. バージョンに合わせたスクリプトを保存
こちらのページにて、Windowsバージョンに合わせて、2つのスクリプトから選択してコピー
↓
テキストエディタ等で拡張子「.ps1」ファイルとして名前を付けて保存
3. 更新プログラム(KB5034232)をダウンロード
こちらのサイトの検索欄で「KB5034232」を検索
↓
環境に合わせた拡張子「.cab」ファイルをダウンロード
※(例) Windows 10 Version 22H2、64bit OSの場合:
⇒「2024-01 Dynamic Update for Windows 10 Version 22H2 for x64-based Systems (KB5034232)」の項目からダウンロード
4. PowerShellを管理者権限で起動
モニター左下の「Windowsの検索欄」で「powershell」で検索
↓
Windows PowerShell(x86ではない)の「管理者として実行する」メニューを選択して起動
5. PowerShell のスクリプトの実行ポリシーを確認
Get-ExecutionPolicy
を実行
Get-ExecutionPolicy
6. RemoteSigned 以上の権限が無ければ権限を変更
Set-ExecutionPolicy 実行ポリシー名
こちらの記事(Qiita:Targityen様)を参考にしてください。
※Set-ExecutionPolicy RemoteSigned
が一般的と思われる。
実行例:
Set-ExecutionPolicy RemoteSigned
⇒y
(はい(Y))を入力して[Enter]キー押下
7. 保存したスクリプトをコマンドライン上で実行
引数無しでも引数ありでもOK。
※(例) カレントディレクトリのスクリプトファイル名が「PatchWinREScript_2004plus.ps1」の場合:
.\PatchWinREScript_2004plus.ps1
8. ダウンロードした更新プログラムのフルパスを入力
引数無しでスクリプトを実行した場合、下記の様なメッセージが出力されるので、
packagePath:
の後に続けて、手順3でダウンロードした更新プログラムのフルパス
例:C:\Users\TestUserName\work\data\windows10.0-kb5034232-x64_ff4651e9e031bad04f7fa645dc3dee1fe1435f38.cab
を入力して、[Enter]キー押下
コマンド パイプライン位置 1 のコマンドレット PatchWinREScript_2004plus.ps1
次のパラメーターに値を指定してください:
(ヘルプを表示するには、「!?」と入力してください。)
packagePath:
9. しばらく(数分程)スクリプトの完了を待機
※コマンドライン上の入力カーソルが有効になるまで。
※下記の間に「エラー: 50」、「この要求はサポートされていません。」が出てもOK。
スクリプト実行中のコマンドラインのメッセージ出力の流れ(一部抜粋)
1 個のファイルが正常に処理されました。0 個のファイルを処理できませんでした
↓
REAGENTC.EXE: 操作は成功しました。
↓
イメージを保存しています
↓
イメージのマウントを解除しています
↓
操作は正常に完了しました。
↓
この操作を正しく終了しました。
↓
- Delete mount direcotry
10. 再度WindowsUpdateを再試行
Windowsの設定画面から、再度WindowsUpdateを実行して、正常に更新できれば完了です。
参考文献
- Windows 10 KB503444で0x80070643エラーが出る不具合に対処するスクリプトをMicrosoftが公開、適時利用を(enjoypclife.net - よっしー様)
エラー情報まとめ記事 - Microsoft Windows 10のバージョン履歴(Wikipedia)
バージョン一覧 - KB5034957: CVE-2024-20666 のセキュリティの脆弱性に対処するために、展開されたデバイスの WinRE パーティションを更新する(Microsoft公式サポート)
KB5034957:スクリプト公開ページ - Microsoft Update カタログ(Microsoft公式 更新プログラムダウンロードサイト)
ダウンロードサイト - KB5034441: Windows 10 バージョン 21H2 および 22H2 用 Windows 回復環境の更新プログラム: 2024 年 1 月 9 日(Microsoft公式サポート)
KB5034441:更新プログラム概要 - PowerShell のスクリプトが実行できない場合の対処方法(Qiita:Targityen様)
PowerShell権限変更