雑木林

頭の中の整理と忘れないための確認メモ

Windows10のCドライブを拡張するために回復パーティションを再作成する

Windows環境において何らかのトラブルが発生してOSが起動不可になった際に、
回復環境(回復パーティション)を使ってトラブルシュートやOSの初期化を行うことが稀にあります。
一方、ディスク容量を拡張する際に、回復パーティションが邪魔になることがあるので、
回復パーティションを削除、再作成する際の作業をメモを残しておきます。

試した環境

 

回復パーティションとディスク拡張問題

Windows10 2004以降では、OSインストール時に回復パーティション
システム領域(Cドライブ)が存在するディスクの一番後ろの位置に作成します。

f:id:zokibayashi:20220213160347p:plain

この、ディスクの一番後ろの領域に回復パーティションができるという仕様は、
仮想環境等においてディスクを拡張してCドライブの容量を拡張したい場合に邪魔になります。

f:id:zokibayashi:20220213161851p:plain

パーティションを変更するツールを使って回復パーティションを移動すればよいのですが、
商用利用NGだったりするので、今回はコマンドでどうにかしてみました。

回復パーティションの再作成手順

BIOSUEFIで若干コマンドは異なりますが、以下の流れで再作成が可能です。

  1. Windows REの無効化
  2. 既存の回復パーティションの削除
  3. Cドライブの拡張
  4. 回復パーティションの作成
  5. Windows REの有効化

Windows REの無効化

回復パーティションの中にあるWindows REを無効化します。
このとき、C:\Windows\System32\RecoveryにWinre.winという名前の隠しファイルが作成されます。
Winre.winは回復環境を有効化する際に利用するので、必ず実施してください。

C:\Windows\system32>ReAgentc.exe /disable
REAGENTC.EXE: 操作は成功しました。

既存の回復パーティションの削除

コマンドプロンプトを管理者権限で実行し、これまで使っていた回復パーティションを削除します。 BIOSUEFIによってパーティションレイアウトが異なるので注意してください。

C:\Windows\system32>diskpart

Microsoft DiskPart バージョン 10.0.19041.964

Copyright (C) Microsoft Corporation.
コンピューター: DESKTOP-XXXXXXX

DISKPART> select disk 0

ディスク 0 が選択されました。

DISKPART> list partition

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    プライマリ               50 MB  1024 KB
  Partition 2    プライマリ               99 GB    51 MB
  Partition 3    回復                 552 MB    99 GB

DISKPART> select partition 3

パーティション 3 が選択されました。

DISKPART> delete partition override

DiskPart は選択されたパーティションを正常に削除しました。

DISKPART> list partition

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    プライマリ               50 MB  1024 KB
  Partition 2    プライマリ               99 GB    51 MB
C:\Windows\system32>diskpart

Microsoft DiskPart バージョン 10.0.19041.964

Copyright (C) Microsoft Corporation.
コンピューター: DESKTOP-XXXXXXX

DISKPART> select disk 0

ディスク 0 が選択されました。

DISKPART> list partition

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    システム               100 MB  1024 KB
  Partition 2    予約                  16 MB   101 MB
  Partition 3    プライマリ               99 GB   117 MB
  Partition 4    回復                 552 MB    99 GB

DISKPART> select partition 4

パーティション 4 が選択されました。

DISKPART> delete partition override

DiskPart は選択されたパーティションを正常に削除しました。

DISKPART> list partition

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    システム               100 MB  1024 KB
  Partition 2    予約                  16 MB   101 MB
  Partition 3    プライマリ               99 GB   117 MB

正常に削除ができていれば、以下のようなパーティション構成になります。 f:id:zokibayashi:20220213213847p:plain

Cドライブの拡張

続いて、Cドライブの空き領域を拡張します。
このとき、新しく作る回復パーティション用に1GBの領域を確保します。

  • BIOSの場合(drive 0 、partition 2がCドライブ)
DISKPART> select partition 2

パーティション 2 が選択されました。

DISKPART> extend

DiskPart はボリュームを正常に拡張しました。

DISKPART> shrink minimum=1024

ボリュームは、次の方法で正常に縮小されました: 1024 MB
  • UEFIの場合(drive 0 、partition 3がCドライブ)
DISKPART> select partition 3

パーティション 3 が選択されました。

DISKPART> extend

DiskPart はボリュームを正常に拡張しました。

DISKPART> shrink minimum=1024

ボリュームは、次の方法で正常に縮小されました: 1024 MB

正常に容量拡張ができていれば、以下のようなパーティション構成になります。 f:id:zokibayashi:20220213214658p:plain

回復パーティションの作成

先ほど空き容量を確保した1GBの領域を回復パーティション用に設定します。
BIOSUEFIで大きくコマンドが異なりますので注意してください。

DISKPART> create partition primary

DiskPart は指定したパーティションの作成に成功しました。

DISKPART> format quick fs=ntfs

  100% 完了しました

DiskPart は、ボリュームのフォーマットを完了しました。

DISKPART> set id=27

DiskPart は、パーティション ID を設定しました。

DISKPART> exit

DiskPart を終了しています...
DISKPART> create partition primary

DiskPart は指定したパーティションの作成に成功しました。

DISKPART> format quick fs=ntfs

  100% 完了しました

DiskPart は、ボリュームのフォーマットを完了しました。

DISKPART> set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"

DiskPart は、パーティション ID を設定しました。

DISKPART> gpt attributes=0x8000000000000001

選択された GPT パーティションに DiskPart で属性を割り当てました。

DISKPART> exit

DiskPart を終了しています...

正常に回復パーティションが作成ができていれば、以下のようなパーティション構成になります。 f:id:zokibayashi:20220213215629p:plain

Windows REの有効化

作成した回復パーティションを使った回復環境を有効化します。 このとき、Winre.winが回復パーティションに展開されます。

C:\Windows\system32>ReAgentc.exe /enable
REAGENTC.EXE: 操作は成功しました。

回復環境の動作確認

以下のコマンドを実行して回復環境を起動します。

C:\Windows\system32>shutdown /r /o /t 0

トラブルシューティング -> 詳細オプション から各種オプションが表示されていれば完了です。 (回復パーティションが正しく設定できていない場合、詳細オプションが表示されません。) f:id:zokibayashi:20220213231050p:plain