Microsoftは昨日、2024年1月の月例更新プログラムの一部として、Windows 10用の更新プログラムKB5034441を公開しました。
更新プログラムは、「攻撃者がWindows回復環境(WinRE)を使用することによって BitLocker暗号化をバイパスできるセキュリティの脆弱性に対処する」ものですが、この更新プログラムが0x80070643エラーによって正常にインストールできないという問題が多数報告されている事がわかりました(gHacks)。
Microsoftはすでにこの問題を認識しており、エラーが発生する原因は、回復パーティションのサイズがアップデートを適用するために十分でないためで、エラーメッセージ「Windows Recovery Environment servicing failed. (CBS_E_INSUFFICIENT_DISK_SPACE)」というエラーメッセージが表示されることがあると説明しています。
Microsoftは手動で回復パーティションのサイズを変更し、更新プログラムをインストールする方法を説明しているものの、この方法は、回復パーティションがOSパーティションの後にある場合にのみ機能します。
回復パーティション位置を確認するには「スタート」から「コンピューターの管理」を起動し、「ディスクの管理」を選択します。
回復パーティションがOSパーティションの後ろにあれば実行可能ということになります。
Microsoftが説明している手順は、WinREを無効にしたあと、OSパーティションを圧縮し、新しいリカバリパーティションを作成するというもので、以下のような長い手順が必要となっています。
パーティションのサイズを 250 MB 単位で手動で変更する
管理者としてコマンド プロンプト ウィンドウ (cmd) を開きます。
WinRE の状態をチェックするには、reagentc /info を実行します。 WinRE がインストールされている場合は、WinRE ディレクトリへのパスを持つ "Windows RE の場所" が必要です。 たとえば、“Windows RE location: [file://%3f/GLOBALROOT/device/harddisk0/partition4/Recovery/WindowsRE]\\?\GLOBALROOT\device\harddisk0\partition4\Recovery\WindowsRE.” です。 ここで、"harddisk" と "partition" の後の数値はディスクのインデックスであり、パーティション WinRE はオンです。
WinRE を無効にするには、reagentc /disable を実行します
OS パーティションを圧縮し、新しいリカバリ パーティション用にディスクを準備します。
OS を圧縮するには、diskpart を実行します
list disk を実行します
OS ディスクを選択するには、sel disk <OS ディスク インデックス> を実行します。これは WinRE と同じディスク インデックスである必要があります。
OS ディスクの下のパーティションをチェックして OS パーティションを見つけるには、list part を実行します
OS パーティションを選択するには、sel part<OS partition index> を実行します
圧縮 を実行します desired=250 minimum=250
WinRE パーティションを選択するには、sel part<WinRE partition index> を実行します
WinRE パーティションを削除するには、delete partition override を実行します
新しいリカバリ パーティションを作成します。
まず、ディスク パーティション スタイルが GUID パーティション テーブル (GPT) またはマスター ブート レコード (MBR) であるかどうかを確認します。 これを行うには、リスト ディスクを実行します。 "Gpt" 列にアスタリスク文字 (*) が含まれているかどうかを確認します。 アスタリスク文字 (*) がある場合、ドライブは GPT です。 それ以外の場合、ドライブは MBR です。
ディスクが GPT の場合は、create partition primary id=de94bba4-06d1-4d40-a16a-bfd50179d6ac に続いて gpt attributes =0x8000000000000001 コマンドを実行します
ディスクが MBR の場合は、create partition primary id=27 を実行します
パーティションをフォーマットするには、format quick fs=ntfs label=”Windows RE tools” を実行します
WinRE パーティションが作成されていることを確認するには、 list vol を実行します
diskpart から終了するには、exit を実行します
WInRE を再度有効にするには、reagentc /enable を実行します
WinRE がインストールされている場所を確認するには、reagentc /info を実行します
注 作成に失敗した場合、または WinRE パーティションを拡張したくない場合は、reagentc /enable を実行して WinRE を再度有効にします。
パーティション変更を伴う危険な作業であるため、実行前にシステムドライブ全体のバックアップをとっておくことをおすすめします。