Windowsアップデート中にエラーコード「0x80070643」が発生して更新できない場合の対処方法
概要
Windows10の更新プログラムKB5034441(またはKB5028997等)が0x80070643エラーでインストールできない問題の原因と解決方法について説明をした記事です。
Microsoftの公式の記事を見ていても図など無く、理解がし辛いと感じたので備忘録を兼ねての記事です。
※この作業はコマンドプロンプトを使用しディスク内の操作を行います。自己責任の元、作業を行ってください。
原因
回復パーティションの容量不足
図2の左端にある「1.07GB正常(回復パーティション)」と書かれた部分の容量が足りない場合に、エラーコード「0x80070643」が発生し何度更新を行ってもエラーになります。(図は適正容量に改善後の数値です)
解決方法
①現在のディスク内にある「回復パーティション」の容量を確認
まずは、自分のパソコンの「回復パーティション」の容量が規定数値(1GB)あるのか確認します
図3の手順で「ディスクの管理」を起動します。起動すると下図の画面が表示されます。(ディスクの管理については、他にも起動方法があります)
この「ディスクの管理」画面が表示されたら、画面下部のWindows(C:)が入っているディスク(図4ではディスク0)内の「回復パーティション」の数値をメモしておきます。
1GB(1,000MB)は必要ですので、足りない分を計算します。(例:回復パーティションが512MBだった場合は、1,000-512(MB)=488MBとなります。)
②回復パーティションの拡張
大まかな手順を書くと、全部で6工程あります。
WinREの無効化
パーティション構成の確認
Cドライブ縮小
回復パーティションの削除
回復パーティションの新規作成
1.で無効化したWinREの有効化
1個づつ操作方法を見ていきます。
(1)WinREの無効化
まずは、「コマンドプロンプト」を管理者として起動します。
図3と同じく、[Windows]キー+[R]キーを押し「ファイル名を指定して実行」ダイアログを表示させます。
名前欄に「cmd」と入力します。ここで、[ENTER]を入力すると普通に起動するので、管理者と起動する場合は[SHIFT]+[Ctrl]+[Enter]と入力することで「ユーザーアカウント制御」画面に切り替わり、「はい」を押すと管理者として「コマンドプロンプト」が起動します。管理者として起動した場合は、下図の左上に表示されている通り、「管理者」と表示されます。
管理者としてコマンドプロンプトが起動したら、下記のコマンドを実行する。
reagentc /info
実行すると。、現在のWindows REの状態が表示される。
図7を見ると、Windows RE の状態は「Enabled」(有効)となっているので、これを無効化するコマンドを実行する。
reagentc /disable
これで、「Disabled」(無効)の状態になる。
(2)パーティション構成の確認
※ここからは、図の表示方法が変わりますが全てコマンドプロンプト内の画像になります。より、具体的にお見せしたいのでコマンドプロンプトの画像を拡大して切り取りしております。
パーティション構成の確認のために、まずディスク管理に特化したツールを起動させます。
diskpart
を実行すると図9のように、管理者(C:¥Windows¥・・・)から「DISKPART>」に変化します。これで、ディスク管理が出来るようになります。
次にパソコンが認識をしているディスクを確認します。
list disk
コマンドを実行すると、ディスクの状態が確認(図10)できます。
これは、冒頭の方でお話をしたディスク管理画面でも確認ができます。
図10を見ると「ディスク0」と「ディスク1」が表示されていますが、ディスク管理画面を見ると、「ディスク0」は「ベーシック」、「ディスク1」は「リムーバブル」という事がわかります。この時、私のパソコンにはUSBメモリが接続されていたので「ディスク1」が認識されている状態です。
次に「回復パーティション」のあるディスクに、コマンドプロンプトでアクセスをします。図10を見ると、「ディスク0」に「回復パーティション」があるので「ディスク0」にアクセスします。
select disk [ディスク番号] ※diskと[ディスク番号]の間にはスペース入力
コマンドを実行すると図11のように変わります。
「ディスク0」が選択されたら、次にディスク内のパーティション構成を確認します。
list partiton
コマンドを実行すると、図12のようにパーティション構成が表示されます。
(3)Cドライブの縮小
回復パーテーションがあるディスクが選択できたなら、次にCドライブを縮小し回復パーティションを拡張させる準備をします。
現状私のパソコンでは修復済みなので、1GB以上は確保してあるのですが念のため430MBだけ増やす作業をします。読者の方は、1GB(1,000MB)になるように増加分を計算してください。
まず、下記のコマンドを実行しCドライブを選択します。私のコマンドプロンプトの表示では「プライマリ」と表示されている番号になります。
select partition [Cドライブ番号] ※partition と [Cドライブ番号]の間にはスペースを入力
これにより、Cドライブが選択されました(図13)
Cドライブが無事選択できたなら、回復パーティションを増加させる分をCドライブから縮小させます。
shrink desired = [縮小分] minimum=[縮小分]
このコマンドにより、Cドライブは縮小されディスクの管理で確認をすると「未割り当て」として表示されます。(図14参照)
この時に、ディスクの管理画面が「Windows(C:)」「未割り当て」「正常(回復パーティション)」の並び順になっていることを確認してください。もし、この並び順でなければこれから説明する事が出来なくなります。この並び順でない方は、専門的な知識が無いと対処できません。
もし、違うという方はお気軽にメールまたはX(旧Twitter)までご連絡をいただくか、お近くのパソコン修理店までご相談ください。詳しいことは図16の後に後述してあります。
それでは上記の並び順という方は、次の手順に従った作業を続けてください。
(4)回復パーティションの削除
次におこなう作業は、回復パーティションの削除になります。
現在コマンドプロンプト上ではCドライブが選択されている状態なので、回復パーティションを選択し直します。
list partition ※念のために回復パーティションの番号を確認します。
※Partition3に※印が付いているので、3が選択状態と判明
select partition [回復パーティション番号]
これにより、回復パーティションが選択されます。(図15)
回復パーティションが選択できたら、いよいよ削除します。
delete partition override
これにより、回復パーティションが削除され図14で表示されていた「未割り当て」分の430MBに加えて、回復パーティションを削除した領域分が合わさり1.49GB分の「未割り当て」領域が完成しました。(図16)
図14の並び順でないと駄目な理由を少しお話しします。
ディスクの管理画面が「Windows(C:)」「未割り当て」「正常(回復パーティション)」の場合と、仮に「正常(回復パーティション)」「Windows(C:)」「未割り当て」と仮定した場合のお話しをします。
ディスクの管理では右側に隣接した領域でしか合算されないというルールがあります。正常の並び順だと、「Windows(C:)」「未割り当て」「正常(回復パーティション)」の状態で「回復パーティション」を削除すると、「Windows(C:)」「未割り当て」「未割り当て」となり、未割り当て分が合算され「Windows(C:)」「未割り当て」となります。
しかし、「正常(回復パーティション)」「Windows(C:)」「未割り当て」の状態で「回復パーティション」を削除すると、「未割り当て」「Windows(C:)」「未割り当て」となり「未割り当て」領域は合算されることはありません。
なので、正常の並び順でない読者様は専門的な知識がある方にご相談をすることをオススメします。
(5)回復パーティションを再構築(GPTの場合)
まず、図10の画像を見てください(下図に再掲します)
このコマンドプロンプト上で、右端に「GPT」と表示されている下に「ディスク0」には※印が、「ディスク1」には空欄になっています。これは、Windwosをインストールする際にパーティションスタイルという物を設定します。パーティションスタイルにはMBRとGPTの2種類が存在します。
今回はMBR形式の画像が用意できない都合上で申し訳ありませんが、GPT形式を主体に説明しMBR形式の場合はコマンドのみ掲載させていただきます。
まず、パーティションを作成します
create partition primary id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
※このコマンドはコピーしてお使いください
[MBRの方は下記のコマンドを実行してください]
create partition primary id=27
これにより、未割り当て領域がパーテーションとして変更されました。(図17)
この段階では、パーテーションが出来ただけなので次いで属性を割り当てます。(MBRの方はこの作業はありませ)
gpt attributes =0x8000000000000001
※このコマンドもコピーしてお使いください。ちなみに、8と1の間の0の数は14個です。
これにより、パーテーションを作成された領域は「回復パーティション」として認識されました。(図18参照)
次にボリュームラベルの付与とフォーマット(NTFS形式)作業を行います。
format quick fs=ntfs label="Windows RE tools"
これにより、回復パーテーションはNTFS形式にフォーマットされました。(図19参照)
これで回復パーテーションの再構築は終了しました。
最後にパーティション構成の確認とボリュームが変更されているか確認します。
list partition (図20で「回復」が目標サイズで作られている事を確認)
list volum (図21でLavel項目で図19で書き換えた名称に変わっているか確認)
この2つが無事確認できたら、回復パーティションの拡張作業が終わりです。お疲れさまでした・・・と言いたいところですが、もう少しだけお付き合いください。
ここまで、確認が出来たら
exit
コマンドを使い、Diskpartを終了させます。(図22参照)
(6)最終作業 WinREの有効化
ここまで、長い戦いをしていたのでお忘れになっているかもしれませんが図8でWindows REという物を無効化しました。これは、回復パーティションがWindowsREを参照しているため、変更を加えるために一時的に無効化しました。
これから、最後の作業をおこないます。難しい作業はないです、図8で説明した事の逆を行います。
reagentc /enable
を実行すると、有効化されます。(図23参照)
これで有効化されましたが、本当に有効化されているのか確認してみましょう。
reagentc /info
ちゃんと、「Enabled」に変更されていますね。(図24参照)
ここまで、お疲れ様でした。
これで、Windows Updateエラー「0x80070643」を解決させる為の一連の作業は終わりです。
コマンドプロンプトを終了し、Windows Updateを行えば今まで通りアップデートされます。また、このWindows Updateエラー「0x80070643」にはウイルス対策ソフトが起動していることによるエラーにも使われます。
まずは、ウイルス対策ソフトを一時停止した後にアップデートを行い、それでもこのエラーが出る場合は一連の流れに沿って、回復パーティションを拡張してみてください。
長文になりましたが、皆様のパソコンライフに少しでもお役に立てていたら幸いです。
コメントは随時募集しています。何かのネタになるかもしれませんし、お困り事に対応できるかもしれません。
それでは、これにて失礼します。
次は短い記事で、お役立ち情報を出す予定です。お楽しみに!
この記事が気に入ったらサポートをしてみませんか?