目次
経緯
スタッフの使用しているWindows10の更新エラーへの対応を行った。
現象
更新プログラム「KB5034441」がエラーになってしまい、「常態:ダウンロード エラー – 0x80070643」と表示される。

原因
Microsoftの公式アナウンスによると、回復パーティションの空き領域が不足していることが原因のようです。
参考:KB5034441: Windows 10 バージョン 21H2 および 22H2 用 Windows 回復環境の更新プログラム: 2024 年 1 月 9 日
対処法
前提条件1
PowerShellが必要となりますので、入っていない場合はダウンロードしてインストールしてください。
前提条件2
必ずバックアップ・回復ポイントを取ってください。
エラー解消法
管理者権限でPowerShellを起動。下記コマンドを全行コピペして実行。
$syspart = (Get-Partition -DriveLetter $env:SystemDrive[0])
$recpart = (Get-Partition).Where({$_.Type -eq 'Recovery' -or $_.MbrType -eq 0x27})[0]
$IsGpt = ($recpart | Get-Disk).PartitionStyle -eq 'GPT'
$dpscript = Join-Path $env:TEMP '\diskpart.txt'
$dparam = @("sel disk $($syspart.DiskNumber)")
$dparam += "sel part $($syspart.PartitionNumber)"
$dparam += "shrink desired=250 minimum=250"
$dparam += "sel part $($recpart.PartitionNumber)"
$dparam += "delete part override"
if($IsGpt){$dparam += "create part primary id=de94bba4-06d1-4d40-a16a-bfd50179d6ac"}
if($IsGpt){$dparam += "gpt attributes=0x8000000000000001"}
if(-not $IsGpt){$dparam += "create part primary id=27"}
$dparam += "format quick fs=ntfs"
if(-not $IsGpt){$dparam += "set id=27"}
$dparam | Out-File $dpscript -Force -Encoding ascii
if($stop = (-not $recpart -or $recpart.DriveLetter -or $syspart.DiskId -ne $recpart.DiskId -or $recpart.PartitionNumber - $syspart.PartitionNumber -ne 1)){throw 'This system is not supported.'}
reagentc /disable
if(-not $stop){diskpart /s $dpscript}
del $dpscript
reagentc /enable無事に上記コマンドが実行され、成功を確認してから、再度WindowsUpdateからアップデートを行って、正常に「KB5034441」がインストールされ「最新」表示がされていることを確認してください。


コメント