消えた「WinRE」問題の再発と回復パーティションの移動:その知識、ホントに正しい? Windowsにまつわる都市伝説(154)
Windows 10の新規インストールを既定のオプションで進めてしまうと、Windows 8.1以前で採用されていた古いパーティション構成でセットアップされてしまうという問題があります。この問題と「Windows回復環境(WinRE)」のサイズの問題が重なると、少し厄介なことになります。さらに、問題が発生していることに気付かずに「BitLocker」を有効にしてしまうと……。
空っぽの回復パーティションと消えたWinRE問題とは?
本連載の第116回では、「Windows 10 バージョン1803」で発生した「Windows回復環境(WinRE)」が回復パーティションではなく「C:\Recovery\WindowsRE」にセットアップされてしまうという問題を解説しました。
- Windows 10の回復パーティションから消えた「WinRE」の行方(本連載 第116回)
2019年11月にリリースされた「Windows 10 バージョン1909(x64)」でも再発したので注意喚起としてあらためて説明します。なお、使用したインストールメディア(インストールメディアのISOイメージは不定期にリフレッシュされたものがリリースされます)によっては、「Windows 10 バージョン1809」や「Windows Server 2019」の新規インストールでも発生することを確認しています。
WinREが回復パーティションではなく、「C:\Recovery\WindowsRE」にセットアップされてしまう問題には、2つの問題が影響しています。
一つは、Windows 10の新規インストールでパーティションの作成をセットアップに任せてしまうと、Windows 10の推奨パーティション構成ではなく、Windows 8.1以前の古いパーティション構成でセットアップされてしまうという問題です。
Windows 10の推奨パーティション構成では、回復パーティションはディスクの最後に配置され、回復パーティションがWinREやOEMのツールを格納するために使用されます。しかし、古いパーティション構成では、BIOSシステムの場合は第1パーティションのシステムパーティションにブート構成(BOOT\BCD)とともにWinREが格納され、UEFIシステムの場合は第1パーティションに回復パーティションが準備されます。
- BIOS/MBR-based hard drive partitions[英語](Microsoft Hardware Dev Center)
- UEFI/GPT-based hard drive partitions[英語](Microsoft Hardware Dev Center)
もう一つの問題は、WinREのイメージである「WinRE.wim」のサイズの肥大化です。Windows 10のセットアップが作成したBIOSシステムのシステムパーティション/UEFIシステムの回復パーティションに、WinREを格納するために必要な十分な空き領域がない場合、WinREの配置に失敗し、「C:\Recovery\WindowsRE」にWinREをセットアップしてしまうのです。WinREの現在の状態は、「reagentc /info」コマンドで確認することができます。
上記ドキュメントによると、回復パーティションにはWinREのサイズに加えて、最小52MB〜推奨250MBの空き領域と、NTFSが予約する5M〜15MB(750MBより大きいパーティションではそれ以上)を加えた領域が必要と説明されています(以前は320MBと記載されていましたが、より詳細な情報に更新されました)。BIOSシステムのシステムパーティションを共用する場合、さらにブート構成(BOOT\BCD)のための領域も必要になります。
64bit(x64)版Windows 10 バージョン1909の場合(x86は未確認)、WinRE関連のファイルサイズの合計は約464MBでした。これに対し、Windows 10のセットアップが自動作成したUEFIベースの回復パーティションは529MB、BIOSシステムのシステムパーティションは579MB(BCD関連で35MBを使用)、いずれも空き領域が微妙に足りなかったようで、「C:\Recovery\WindowsRE」にWinREがセットアップされてしまいました(画面1、画面2)。
画面1 Windows 10 バージョン1909の新規インストールで自動構成されたUEFIシステムのパーティション構成と「C:\Recovery\WindowsRE」にセットアップされたWinRE。つまり、回復パーティション(partition1)は空っぽ
OSとWinREは別のパーティションにあるべきで、WinREが「C:\Recovery\WindowsRE」に配置されているのは不適切な状態です。例えば、トラブルシューティング(システムのリストア)や「BitLockerドライブ暗号化」による暗号化に影響します。
この不適切な状態は、次回の機能更新プログラムによるアップグレード時に、ディスクの最後に新たに回復パーティションが作成され(「C:\」のパーティションを縮小して)、正常化されますが、UEFIシステムの場合は未使用のパーティション(空っぽの回復パーティション)がずっと残ってしまいます。
これを避けるには、新規インストール時に手動でパーティションを切ってセットアップするしかありません。その方法については、以下の連載記事で紹介しています。
- Windows 10のOSイメージ展開の新常識(その1)――推奨パーティション構成(連載:企業ユーザーに贈るWindows 10への乗り換え案内 第34回)
「C:\Recovery\WindowsRE」を新しい回復パーティションに移動(UEFIの場合)
新規インストールせず、すぐに不適切な状態を解消したいという場合は、新たに回復パーティションを作成して、「C:\Recovery\WindowsRE」のWinREを移動します。BIOSシステムでの手順については、本連載の第116回で説明しました。
UEFIシステムも同じように行えばよいと思っていたのですが、少し注意が必要だったので、今回はUEFIシステムの場合で説明します。以下の例では、Cドライブのパーティションを縮小して、OEM向けの推奨サイズである990MBの回復パーティション(ラベル名は「WINRE」)を作成します。
コマンドプロンプト(またはWindows PowerShell)を管理者として開き、次のように実行します。
diskpart DISKPART> list disk DISKPART> select disk OSディスクのディスク番号 DISKPART> list partition DISKPART> select partition Cドライブのパーティション番号 DISKPART> shrink minimum=990 DISKPART> create partition primary DISKPART> format quick fs=ntfs label="WINRE" DISKPART> assign letter=R DISKPART>
「DISKPART」コマンドのプロンプトをこの状態で維持したまま、新たにコマンドプロンプトを管理者として開き、以下のコマンドを実行します。この例では「C:\Recovery\WindowsRE」にWinREがセットアップされていることを前提にします。別の場所にセットアップされている場合は、そのパーティションにドライブ文字を割り当てて、コピー元として使用してください。
reagentc /info (現在、WinREが有効なことと、配置先のパーティションを確認) mkdir R:\Recovery\WinRE copy /h C:\Recovery\WindowsRE\winre.wim R:\Recover\WindowsRE reagentc /disable reagentc /setreimage /path R:\Recovery\WindowsRE
ここまで来たらDISKPARTコマンドのプロンプトに戻り、以下のように実行してドライブ文字の割り当てを解除し、その後、回復パーティションのための属性を設定します。また、未使用の回復パーティション(第1パーティション)を削除します。最後に、「reagentc /enable」コマンドを実行して、新しい回復パーティションのWinREを有効化します(画面3、画面4)。
DISKPART> remove DISKPART> set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac" DISKPART> gpt attributes=0x8000000000000001 DISKPART> select partition 1 DISKPART> delete partition override DISKPART> exit reagentc /enable
画面3 新しいパーティションを作成し、ドライブ文字(「R」など)を割り当て、「C:\Recovery\WindowsRE\winre.wim」を「R:\Recovery\WindowsRE」にコピーし、WinREの場所を登録する
「reagentc /disable」コマンドでWinREを無効化すると「C:\Recovery\WindowsRE\winre.wim」にアクセスできなくなってしまうので、コピー後にWinREを無効化してください。また、ドライブ文字の割り当て解除と回復パーティションの属性設定の順番を間違えると、ドライブ文字を削除した状態でWinREが有効化できなかったり(Disabledのまま)、削除したはずのドライブ文字が再起動後に再割り当てされたりするので注意してください。
WinRE問題発生中を知らずにOSドライブでBitLockerを有効化すると……
「C:\Recovery\WindowsRE」にWinREがセットアップされている場合、システムイメージのリストアなど、一部のトラブルシューティング作業をローカルのWinREから実行できません。インストールメディアやシステム修復ディスク、回復ドライブから起動したWinREでは可能ですが、恐らく影響を受ける作業を行う必要が生じるまで、WinREが不適切な場所にセットアップされていることに気が付かないでしょう。
「C:\Recovery\WindowsRE」にWinREがセットアップされている弊害としてはもう一つ、BitLockerドライブ暗号化でWinREが無効化されてしまうという問題を筆者は確認しています。
この問題の影響を受ける場合、BitLockerドライブ暗号化でOSドライブを暗号化すると、BitLocker用のドライブの準備が正常に行われずに、「Windows回復環境を手動で有効にしてシステムドライブに移動しない限り、Windows回復環境は使用できなくなります」と表示されるはずです。不親切なことに、WinREを手動で有効化する方法や、移動する方法は示されません(画面5)。
そもそも、「システムドライブに移動」という表現は、BitLockerドライブ暗号化が初めて導入された「Windows Vista」当時の古いパーティション構成に基づいたもので、現在のパーティション構成では適切な表現ではありません。
UEFIシステムの場合は、コマンド1つで簡単に正常化できます。コマンドプロンプトやWindows PowerShellを管理者として開き、次のコマンドを実行します(画面6)。つまり、BitLocker用に新しい回復パーティションが準備され、WinREのイメージの登録まで済んでいる状態です。
reagentc /enable
BIOSシステムの場合、新たに回復パーティションが作成されることはなく、WinREは現在の場所のまま無効化されるようで、上記コマンドラインでは有効化できませんでした(画面7)。
画面7 BIOSベースのシステムの場合、回復パーティションは作成されず、単にWinREが無効化される。BitLockerを無効化することで、再び「C:\Recovery\WindowsRE」のWinREを有効化できるようになる
BIOSシステムの場合は、BitLockerをいったん無効化し、暗号化を解除すると上記コマンドの実行で「C:\Recovery\WindowsRE」のWinREが再び有効化されるので、本連載第161回で説明したように、手動で回復パーティションを準備し、WinREを新しい回復パーティションにセットアップしてから、BitLockerを有効化します。
WinREのイメージがどうしても見つからないという場合は、インストールメディアの「Sources\install.wim(またはinstall.esd)」の中にある「\Windows\System32\Recovery\winre.wim」から取り出して使用するという方法があります。
しかし、その手順は複雑で面倒です。代替方法としては、システム修復ディスクや回復ドライブからWinREを起動する方法があります。これらは「コントロールパネル」→「システムとセキュリティ」→「バックアップと復元(Windows 7)」にある「システム修復ディスクの作成」、および「コントロールパネル」→「すべてのコントロールパネル項目」→「回復」にある「回復ドライブの作成」から作成できます。
筆者紹介
山市 良(やまいち りょう)
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2019-2020)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 次期Windows 10最新動向:リリース秒読みの「19H1」はこう変わる
間もなくリリースされるWindows 10の新しい機能アップデート「19H1」。それに実装される新機能をまとめてみた。また、同時に変更となるライフサイクルなどについても解説する。 - 【新元号発表目前!】Windows 10/Officeの新元号対応どうするどうなる!?
新元号への切り替えが2019年5月1日に行われる。Windows OS/Officeでこの新元号に対応するにはどうすればよいのか、注意すべき点はあるのかなどをまとめる。 - 【Windows 10】できる人は知っているキーボードショートカット
Windows 10でキーボードショートカットを使うと、マウスを使うよりも素早い操作が可能だ。ただ、種類も多く、知っていると便利なのに意外と使われていないものも多いようだ。ここでは基本的なキーボードショートカットを紹介する。 - Windows 10への移行計画を早急に進めるべき理由
本連載では、これからWindows 10への移行を本格的に進めようとしている企業/IT管理者に向け、移行計画、展開、管理、企業向けの注目の機能を解説していきます。第1回目は、「Windows 10に移行すべき理由」を説明します。