かつて山市良と呼ばれたおじさんのブログ

vol.2 推奨パーティション構成を満たしていない理由、満たせなくなった理由

2024年04月12日配信
2024年04月12日更新
執筆者:山内 和朗

 Windows回復環境(WinRE)イメージの更新失敗の理由の1つは、WinREが格納されている回復パーティションの容量不足にあります。なぜそのような状況になるのか、それはMicrosoftが示す推奨パーティション構成にWindowsセットアップが追い付いていない、または推奨パーティション構成になっていても、品質更新プログラムによりその推奨構成を満たせなくなってしまうことがあるからです。

 

Windows 11バージョン22H2以降は累積更新でWinREも更新

 

 画面1を見てください。これは、Windows 11バージョン23H2をクリーンインストールした直後のデバイスのパーティション構成です。WinREが有効になっているかどうか、および回復パーティションの場所は「reagentc /info」を管理者として実行することで確認できます。また、回復パーティションの空きは「DISKPART」コマンドを使用して回復パーティションにドライブ文字を割り当てることで確認できます。また、現在のWinREイメージのサイズは、「dir ドライブ文字¥recovery¥windowsre /a」を実行することで確認できます。

画面1
画面1 Windows 11バージョン23H2のクリーンインストール後のパーティション構成と回復パーティションの空き領域を確認

 

 このパーティション構成は、Windowsセットアップが自動作成したものです。最新のWindowsおよびWindows Serverのクリーンインストールでは、Windowsセットアップにインストールを任せる限り、このように回復パーティションがCドライブ用のパーティションの後ろ、OSディスクの最後に配置されます。回復パーティションのサイズは異なる場合があります(※)。

 

※ Windows 10/11、Windows Server 2022のクリーンインストールで確認した限り、最近の Windows セットアップは、インストールメディアに収録されているWinREイメージ(winre.wim)のサイズ+84MBの空き領域を確保するように、回復パーティションのサイズを決定しているようです。


 前回説明したように、Windows 11バージョン22H2以降は、毎月の累積更新プログラムにWinREの更新プログラムも累積されるようになりました。画面2は、1月の累積更新プログラムをインストールして再起動した後のものです。同じように回復パーティションの空き領域やWinREイメージのファイルサイズやタイムスタンプを確認してみると、確かにWinREが更新されていることがわかるでしょう。まだ空き領域が80MB残っていますが(setupact.logによると、回復パーティションには少なくとも、Windows 10/11で52MB、Windows Serverで84MBの空き領域《固定》が必要なようです)、WinREイメージが更新されさらに大きくなると、いずれ回復パーティションのサイズ拡張が必要になるかもしれません。

 

画面2
画面2 1月の累積更新プログラム(Bリリース)のインストールにより、WinREが更新されたことを確認


 ちなみに、WinREを更新するために回復パーティションの空き容量が不足していたとしても、Windows 11バージョン22H2以降の累積更新プログラムのインストールは成功します。WinREを更新できない場合、累積更新プログラムのインストール全体をエラーで失敗させるのではなく、元のWinREイメージにロールバックします。ちなみに、Windows 11バージョン22H2のクリーンインストールの既定のパーティション構成の場合、1月の累積更新プログラムによるWinREの更新は失敗する可能性があります(累積更新プログラムのインストールは成功します)。

 

Windowsの推奨パーティション構成のいま・むかし

 

 最新のWinodwsのWindowsセットアップが自動作成したパーティション構成は、Microsoftが以下のドキュメントに示す推奨パーティション構成に従うものです(画面3)。なお、ここではUEFIベースのシステムについてのみ説明します。まだBIOSベースのシステムを使用している方もいるかもしれませんが、WinREの脆弱性について心配する必要がないためBIOSベースのシステムについては言及しません。WinREの脆弱性の有無以前に、BIOSベースのシステムというだけでそのデバイスのブートプロセスは脆弱です。そっちを心配してください。セキュアブート機能を備えるUEFIは、Windows 11から必須要件になりました。

UEFI/GPT ベースのハード ドライブ パーティション > パーティションのレイアウト
https://learn.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/configure-uefigpt-based-hard-drive-partitions?view=windows-11#partition-layout

 

画面3
画面3 Microsoftが示す最新のUEFIディスクレイアウトの推奨構成

 推奨構成では、ディスクの先頭からWindowsブート環境を含む100MB、FAT32形式の「システムパーティション」、16MBの「Microsoft予約(MSR)パーティション」、Windowsディレクトリを含む、NTFS形式の「Windowsパーティション」(通常、C:ドライブ)、そしてディスクの最後尾にNTFS形式の「回復パーティション」が配置されます。回復パーティションにはさらに以下のような要件があります。

 

  • パーティションサイズは300MB以上。
  • 少なくとも100MBの空き容量(厳密にはWindows 10/11が52MB、Windows Serverが84MB)、将来の更新に対応できるように250MBの空き容量を推奨。ファイルシステム自体に追加の領域が必要になる場合があることに注意。例えば750MBのパーティションの場合NTFSで5~15MB以上が予約される場合がある。
  • Type ID: DE94BBA4-06D1-4D40-A16A-BFD50179D6ACがセットされていること。

 

 2024年1月にエラーを引き起こしたWindows 10/11の一部のバージョン、およびWindows Server 2022向けのWinREのセキュリティ更新プログラムのリリース情報には、後になって“この更新プログラムを正常にインストールするには、回復パーティションに250MBの空き領域が必要です。”という文言が追加されましたが、この250MBという要件は上記の推奨空き領域からくるもので、実際にはWinRE更新後の空き領域が100MB程度確保できれば、更新プログラムのインストールは成功します。


 実は、WindowsのクリーンインストールでWindowsセットアップが現在のパーティション構成を自動作成するようになったのはつい数年前、Windows 10バージョン2004(May 2020 Update)のリリースからです。その前までは、Windows 8.1以前からの古いパーティション構成を自動作成していました(画面4、画面5)。Windows Serverについては、最新のWindows Server 2022からであり、Windows Server 2019以前は古いパーティション構成です。

 

画面4
画面4 Windowsのクリーンインストールで現在のパーティション構成が既定になったのは、Windows 10バージョン2004から

 

画面5

画面5 Windows 10バージョン1909以前は、Windows 8.1以前からの古いパーティション構成が既定だった

 以下のドキュメントは、Windows 8/8.1およびWindows Server 2008 R2/2012/2012 R2向けのものですが、つい最近までWindowsセットアップは、クリーンインストールの際に、このパーティション構成を引き継いました(画面6)。そのディスクレイアウトは、ディスクの先頭から450(Windows 8.1の場合)または500MBの回復パーティション(当時はOEM/WinREツールのパーティションと呼ばれていたようです)、100MBのシステムパーティション、MSR、Windowsパーティションという配置でした。

Configure UEFI/GPT-Based Hard Drive Partitions > Default Configuration: Windows RE Tools, System, MSR, and Windows Partitions
https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-8.1-and-8/hh824839(v%3dwin.10)#default-configuration-windowsre-tools-system-msr-and-windows-partitions

 

画面6
画面6 Windows 8.1以前からUEFI/GPTベースのシステムの古いパーティション構成。画面5のWindows 10バージョン1909のパーティション構成はこれと同じレイアウト

 

移行期に多発したさまざまなWinRE問題

 

 Windows 10は短いサイクル(半期に一度)で機能更新プログラムによりアップグレードを繰り返してきました。アップグレードインストールは、クリーンインストールとは異なり、状況を複雑にします。先に言ってしまうと、アップグレードインストールの場合、比較的早いタイミングで新しいパーティション構成へと移行されました。言い換えると、パーティション構成を変えざるを得なかったのです。


 どういうことかというと、500MB前後の回復パーティションはディスクの先頭にあるためサイズ拡張が困難であり、WinREイメージの巨大化によって別パーティションを新たに作成する必要があったのです。そのタイミングはWindows 10バージョン1803の頃に来ました。移行期には回復パーティションからWinREイメージが失われたり、元々の回復パーティションとは別に、新たにディスクの最後尾に回復パーティションが追加されたり、アップグレードの繰り返しでさらに余計な回復パーティションが複数追加されたりなど、さまざまな状況を生じさせました(画面7)。OEMがプリインストールPCに回復ツールやイメージを格納するために、独自のパーティションを用意していることもあり、そのパーティションの影響でさらに複雑になることもあったかもしれません。

 

画面7
画面7 Windows 8.1からアップグレードを繰り返してきたWindows 10(バージョン1903)のパーティション構成。回復パーティションが2つある

 

回復パーティションがディスクの最後尾にあるメリットとは

 

 回復パーティションがディスクの最後尾(Windowsパーティションのすぐ後ろ)にある現在の推奨パーティション構成は、回復パーティションの拡張が必要な場合に比較的容易に対応できるというメリットがあります。1つ前のWindowsパーティションの縮小(Shrink)して空き領域を作り出し、現在の回復パーティションの領域と合わせて回復パーティションのサイズを増やす(現在の回復パーティションを削除して新たに回復パーティションを作成)ことができるからです。


 次回は、回復パーティションのサイズを増やす具体的な手順を説明します。

blog_subscribe

blog_comment

最新記事