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

vol.5 回復パーティションをディスクの先頭から最後に移動するには(前編)

2024年04月21日配信
執筆者:山内 和朗

 これまで指摘してきたとおり、Windows Server 2019以前のWindows Serverのクリーンインストール時に自動作成される既定のパーティション構成では、回復パーティションがディスクの先頭に配置されています(画面1)。ディスクの先頭にある回復パーティションは、すぐ後ろにシステムパーティション、MSRと続くため、簡単に拡張することができません。かといって、運用中のサーバーの再インストールは時間も労力もかかります。現在のインストールはそのままに、パーティションのレイアウトを変更して、ディスクの最後に配置できれば、その後は比較的簡単に拡張できるようになります。

 

画面1

画面1 Windows Server 2019以前のWindows Serverの既定では、回復パーティションがディスクの先頭にあり、最後にあるのとは異なり、その場所で拡張できない

 

 実は、Windows Server 2019の既定のパーティション構成の場合でも、Vol.3と同じ手順で十分な容量を持つ回復パーティションをディスクの最後に(Windowsパーティションのすぐ後ろに)作成することは可能です。しかし、その場合、元々ディスクの先頭にあった以前の回復パーティションの領域は未割当ての状態になります。それで構わないというのであれば、何も難しいことはありません。未割当てのまま放っておけばいいだけです。今回の内容は、ディスク先頭に未割当て領域ができてしまうのがどうしても許せないという場合の話です。

 

レイアウト変更から回復パーティション拡張までのストーリー

 

 サードパーティのパーティション操作ツールを利用しない限り、パーティションのレイアウト変更は少し厄介な作業です。実際にうまくいくかどうか確信はありませんが、図1のような作業の流れを考えてみました。

図1
図1 パーティションレイアウトの変更から回復パーティション拡張までの流れ(今回は手順2まで)

 簡潔に言うと、C:ドライブを含むバックアップをWindows Server標準の「Windows Serverバックアップ」(Windows 10/11の場合は「システムイメージの作成」で対応可)で外付けハードディスクや共有フォルダーに取得し、各パーティションのサイズはそのまま、レイアウトを変更して再作成したあと、C:ドライブの内容だけをバックアップからリストアし、ブート構成(BCD)をシステムパーティションにセットアップします。これで通常起動できるようになるはずなので、起動後にWinREをセットアップします。


 この流れのポイントは、バックアップの取得前に、一時的にWinREを無効化しておくことです。WinREを無効化しておくことにより、現在のWinREイメージ(回復パーティション内の¥Recovery¥WindowsRE¥winre.wim)が、C:ドライブ(C:¥Windows¥Recovery)に退避され、C:ドライブの内容の一部としてバックアップできるからです。そのため、回復パーティションのバックアップはリストアする必要がありません。C:ドライブのリストア後にWinREを有効化すれば、C:ドライブと一緒にリストアされた退避されたWinREを使用してWinREがセットアップされるはずです。


 もう1つのポイントは、新しいレイアウトでパーティションを作成する際に、同じパーティションサイズか、少なくともC:ドライブをバックアップ時より大きなサイズにすることです。C:ドライブのパーティションサイズがバックアップ取得時よりも小さいと、C:ドライブの内容をバックアップからリストアできないからです(拒否されます)。そのため、DISKPARTコマンドを使用して、現在のパーティションのサイズを事前に確認しておいてください(画面2)。

画面2
画面2 DISKPARTコマンドを使用して、各パーティションの現在のサイズを確認しておく

 では、図1の流れに沿って、Windows Server 2019(デスクトップエクスペリエンス)を例に実際にやってみましょう。

 

WinREの無効化してバックアップ、その後WinREを再び有効化

 

 まず、稼働中のWindows Server 2019のコマンドプロンプトで以下のコマンドを実行し、WinREが有効になっていることと、WinREの現在の場所を確認します。クリーンインストールした環境の場合、通常、ディスク0のパーティション1、つまりOSディスクの先頭にある第1パーティションが回復パーティションになっているはずです。

reagentc /info

 次に、以下のコマンドラインを実行して、WinREを無効化します。このコマンドを実行すると、現在、回復パーティションに格納されているWinREのイメージ(winre.wim)が、C:ドライブ(C:¥Windows¥Recovery)に退避されます。

reagentc /disable

 次に、C:ドライブにWinREイメージが退避されている状態で、「Windows Serverバックアップ」を使用して、少なくともWindowsパーティションであるC:ドライブを含むバックアップを外付けハードディスクや共有フォルダー(共有フォルダーを使用する例はリストアの際の共有への接続手順が増えて複雑になるため、今回は説明しません)に作成します(画面3)。ローカルバックアップに対応した「Windows Serverバックアップ」は、サーバーの機能として既定で有効になっていません。まだ有効化していない場合は、「役割と機能の追加」ウィザードなどを使用して有効にしてください。

画面3
画面3 現在のWinREをいったん無効化してから、ペアメタル回復用バックアップを作成する

 今回の作業のためにベアメタル回復用のフルバックアップは必須ではありませんが、万が一に操作を誤ってシステムを壊してしまった場合に元の状態に戻せるように、ベアメタル回復(まっさらなディスクにすべてをリストア)できるフルバックアップを取得しておくことをお勧めします。

 バックアップが成功したら、次のコマンドラインを実行してWinREを現在の回復パーティションで再び有効化します(画面4)。WinREをここで有効化することも、この後の作業を継続するためにポイントになる部分です。

reagentc /enable

画面4

画面4 バックアップが成功したら、WinREを再び有効化する

次回に続く...

blog_subscribe

blog_comment

最新記事