Windows 10の更新プログラムで回復パーティションが1GBに設定されている場合にWindows REイメージの更新に失敗する問題が発生 − Microsoftのサポートがアレすぎるので今後回復パーティションのサイズは2GB〜3GBに設定した方がよさそう

Windows 10の更新プログラム、KB5034441(ドライブ暗号化で使用するBitLockerの脆弱性を修正)を適用する際「回復パーティションが1GB未満だとWindows REイメージの更新に失敗する」という不具合が発生しています(かのあゆの環境では確認出来ませんでしたが、Wndows 11環境でも同じような問題が発生したという報告もあるようです)。

昨年からWindows Updateで更新プログラムを配信する際、回復パーティションに配置されているWindows REイメージ(winre.wim。通常は¥Recovery¥WindowsRE内に隠しファイルとして格納されています)にもセキュリティアップデートを適用するという仕様変更が行われていますが、今回のアップデートでは更新後のイメージのファイルサイズが1GB以上にオーバーしてしまう関係で正常に更新できないことが原因で、この問題が発生しています。

かつては、回復パーティション内にOEM側でカスタマイズされたOSイメージも含んでいましたが、Windows 10以降ではOSのリカバリーやシステムファイルの修正に必要になるコマンドラインツールとユーティリティのみ収録した、最小限のWindows PEイメージのみ格納されていて、OSのリカバリーはC:¥Windows¥System32¥WinSXS内に格納されているシステムファイルからOSコピーを作成する形で実現しています(そのため、一度でもWindows Updateを行ってしまうと工場出荷時の状態に戻すことが出来なくなります)

※メーカーによっては“真の意味で”工場出荷時の状態に戻せるよう、別途OSイメージを格納したリカバリーパーティションを用意している場合もあります。

PC のリカバリ機能のしくみ:Microsoft Learn

そういう事情もあり、あらかじめマスターを作成して環境構築したカスタムイメージを作成する場合や、データ用とシステム用に分割したいなどの理由により自分でパーティションを設定する際、回復パーティションはWindows REイメージを格納するのに十分な1GBしか割り当てていない場合が多いかと思われますが、この仕様変更により本来重要なセキュリティアップデートを適用出来ないというトラブルが発生してしまっているユーザーは多いのではないかと思われます。

なお普通にOSをクリーンインストールする場合は自動的に最適なサイズに割り当ててくれるので特に意識する必要はありません。

当初Microsoftが案内していたのは「DISKPARTコマンドで回復パーティションを削除し、250MBずつサイズを増やしながら再度回復パーティションを作成する」というものでしたが、MS-DOSやUNIX系OSを触っていたような古参ユーザーならともかく、GUIベースのOS(アンヨヨイヨ、iOSといったモバイルOSを含む)に慣れているようなユーザーにとっては、触るのも怖いでしょうし、実際一歩間違えると本当に大切なデータを失う可能性があります。

KB5028997: WinRE 更新プログラムをインストールするためにパーティションのサイズを手動で変更する手順:Microsoft

※Microsoft公式サポートの情報ですが、ここに書いてある内容がわからないのであれば絶対に実行しないでください。パーティションを直接操作しているため、最悪大事なデータをすべて失う可能性があります。

正直こんな手順をユーザーに案内したMicrosoftはアホなのか?と思えてしまうのですが、後ほどパーティションを弄ることなくWindows REイメージを更新できるPowerShellスクリプトを公開する形で対応しています。なら最初からそうしろ。

KB5034957: CVE-2024-20666 のセキュリティの脆弱性に対処するために、展開されたデバイスの WinRE パーティションを更新する:Microsoft

PowerShellも一般ユーザーが触るものではないことには変わりないのですが、挙動を見た感じ回復パーティションのサイズを一切変更することなくWindows REイメージを更新できているので前述のDISKPARTコマンドを使用する手順よりは安全です。

前述の通り、Windows REイメージにも直接パッチを適用するという仕様に変更されているので、今後も似たような問題が発生する可能性があります。

今回のMicrosoftのサポート内容を見ていると今後もまっとうな対応は期待出来なさそうですし、今後回復パーティションを自分で割り当てる必要がある場合は最低2GB、余裕を持たせたいのであれば3GB程度に設定した方が安全です。その分ユーザーが使用出来る容量は当然減ってしまいますが・・・・

コメント

タイトルとURLをコピーしました