「回復パーティション」がディスクの末尾にあると困る場合があります。例えば、HDD→SSDの換装など容量の小さいディスクへ丸コピーしたいようなときです。コピー元の容量を減らすためにCドライブなどのパーティション縮小をしても、ディスクの末尾に回復パーティションが残ってしまいます。今回、その問題に対処してみたので、手順をまとめました。
いくつかの対処方法
ディスクの末尾に回復パーティションが残ってしまう問題に対して、対処方法はいくつか考えられます。例えば以下の通りです。
- 回復パーティションを削除
回復パーティションの内容(WinRE)を「回復ドライブ」(USBメモリ)に展開してしまってから、回復パーティションを削除してしまう方法です。回復ドライブの作成手順は以下のとおりです。
- 回復パーティションの開始位置だけを前へずらす
こちらは未確認ですが、こちらの記事で使ったツール「GParted」を使えば開始位置を前へずらすことができそうです。 - 回復パーティションの中身(WinRE)をCドライブの中へ移動
- 回復パーティションをCドライブより手前のパーティションへ移動
最後の2つはほぼ同じで、回復パーティションの中身(WinRE)を邪魔にならない場所に移動する方法です。今回はこの方法についてまとめました。
確認環境
確認したPCの環境は以下の通りです。
OSビルド: 19044.1566
ブート方式: UEFI
初期状態
初期状態は以下の通りです。ディスクの末尾に回復パーティションがある状態です。
※:Cドライブの前にあるTドライブについては後で説明します。
回復パーティションの中にあるWindows回復環境(WinRE)の状態も確認しておきます。
管理者権限でコマンドプロンプトを開いて「ReAgentc.exe /info
」と叩くと、WinREの情報が表示されます。私の環境での出力例は以下の通りです。
C:\Windows\system32>reagentc /info
Windows 回復環境 (Windows RE) およびシステム リセット構成
情報:
Windows RE の状態: Enabled
Windows RE の場所: \\?\GLOBALROOT\device\harddisk0\partition4\Recovery\WindowsRE
ブート構成データ (BCD) ID: 67c3fba0-93e1-11ec-91b4-d4105ed5bb92
回復イメージの場所:
回復イメージ インデックス: 0
カスタム イメージの場所:
カスタム イメージ インデックス: 0
REAGENTC.EXE: 操作は成功しました。
上記は、0番目のディスクの4番目のパーティションの「\Recovery\WindowsRE
」というフォルダにWinREがある、という意味です。
ディスクやパーティションの番号は Diskpartで確認することができます。
DISKPART> list disk
ディスク 状態 サイズ 空き ダイナ GPT
### ミック
------------ ------------- ------- ------- --- ---
ディスク 0 オンライン 238 GB 2048 KB *
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 5 プライマリ 1023 MB 117 MB
Partition 3 プライマリ 236 GB 1141 MB
Partition 4 回復 541 MB 237 GB
DISKPART> select partition 4
パーティション 4 が選択されました。
DISKPART> list volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 T NTFS Partition 1023 MB 正常
Volume 1 C NTFS Partition 236 GB 正常 ブート
Volume 2 FAT32 Partition 100 MB 正常 システム
* Volume 3 NTFS Partition 541 MB 正常 非表示
回復パーティションを移動する手順
初期状態から始めて、「回復パーティション」を移動する手順を順次説明します。
回復パーティションにドライブレターを追加
初期状態では、回復パーティションにはドライブレター(C:やD:など)は付いていません(Diskpartで見ても、Volume 3の「Ltr」欄が空欄となっています)。そこで、Diskpartを使ってドライブレター「R」を割り当てます。
DISKPART> assign letter=R
DiskPart はドライブ文字またはマウント ポイントを正常に割り当てました。
DISKPART> list volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 T NTFS Partition 1023 MB 正常
Volume 1 C NTFS Partition 236 GB 正常 ブート
Volume 2 FAT32 Partition 100 MB 正常 システム
* Volume 3 R NTFS Partition 541 MB 正常 非表示
移動先パーティションの準備
回復パーティションの中にあるWindows回復環境(WinRE)をCドライブなどの中に移動する場合は、「C:\Recovery\WindowsRE
」などのフォルダを用意します。
私の場合、Cドライブより手前に用意したパーティション(仮にTドライブという名前)に回復パーティションを移動することにして、「T:\Recovery\WindowsRE
」というフォルダを用意しました。
なお、Cドライブより手前に空きを作る方法については、こちらの記事で説明しています。
WinREのコピー
上で用意したパーティション内のフォルダに、回復パーティションの中のWinREをコピーします。
C:\Windows\system32>xcopy /h R:\Recovery\WindowsRE\winre.wim T:\Recovery\WindowsRE
R:\Recovery\WindowsRE\Winre.wim
1 個のファイルをコピーしました
(Cドライブにコピーする場合も同様です)
新しいWinREの有効化
コピーしたWinREを有効化するために、まず、回復パーティションにある古いほうのWinREを無効化します。
C:\Windows\system32>reagentc /disable
REAGENTC.EXE: 操作は成功しました。
次に、新しいWinREを有効化します。
C:\Windows\system32>reagentc /setreimage /path T:\Recovery\WindowsRE
ディレクトリは次に設定されています: \\?\GLOBALROOT\device\harddisk0\partition5\Recovery\WindowsRE
REAGENTC.EXE: 操作は成功しました。
C:\Windows\system32>reagentc /enable
REAGENTC.EXE: 操作は成功しました。
その後、WinREの状態を確認すると、以下の通り場所が変わっているのが分かります。
C:\Windows\system32>reagentc /info
Windows 回復環境 (Windows RE) およびシステム リセット構成
情報:
Windows RE の状態: Enabled
Windows RE の場所: \\?\GLOBALROOT\device\harddisk0\partition5\Recovery\WindowsRE
ブート構成データ (BCD) ID: 72d15473-93f8-11ec-91bb-9dea02301704
回復イメージの場所:
回復イメージ インデックス: 0
カスタム イメージの場所:
カスタム イメージ インデックス: 0
REAGENTC.EXE: 操作は成功しました。
新しいパーティションの種類を変更
Cドライブの中にWinREをコピーした場合は、この作業は不要です。
私のように、WinREをコピーした先のパーティションを新しい「回復パーティション」としたい場合は、以下の手順でパーティションの種類を変更する必要があります。
まず、Diskpartを起動し、WinREをコピーした先のパーティションを選択しておきます。
DISKPART> list partition
Partition ### Type Size Offset
------------- ------------------ ------- -------
Partition 1 システム 100 MB 1024 KB
Partition 2 予約 16 MB 101 MB
* Partition 5 プライマリ 1023 MB 117 MB
Partition 3 プライマリ 236 GB 1141 MB
Partition 4 回復 541 MB 237 GB
DISKPART> list volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
* Volume 0 T NTFS Partition 1023 MB 正常
Volume 1 C NTFS Partition 236 GB 正常 ブート
Volume 2 FAT32 Partition 100 MB 正常 システム
Volume 3 R NTFS Partition 541 MB 正常 非表示
コピー先パーティションのドライブレター(この例では「T」)を削除します。
DISKPART> remove
DiskPart はドライブ文字またはマウント ポイントを正常に削除しました。
次に、「回復パーティション」用のパーティションIDを設定します。
DISKPART> set id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
DiskPart は、パーティション ID を設定しました。
更に、GPT属性を変更して非表示ドライブに設定します。
DISKPART> gpt attributes=0x8000000000000001
選択された GPT パーティションに DiskPart で属性を割り当てました。
これで、以下の通りパーティションの種類を変更することができました。
DISKPART> list volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
* Volume 0 NTFS Partition 1023 MB 正常 非表示
Volume 1 C NTFS Partition 236 GB 正常 ブート
Volume 2 FAT32 Partition 100 MB 正常 システム
Volume 3 R NTFS Partition 541 MB 正常 非表示
DISKPART> list partition
Partition ### Type Size Offset
------------- ------------------ ------- -------
Partition 1 システム 100 MB 1024 KB
Partition 2 予約 16 MB 101 MB
* Partition 5 回復 1023 MB 117 MB
Partition 3 プライマリ 236 GB 1141 MB
Partition 4 回復 541 MB 237 GB
古い回復パーティションの削除
最後に古い回復パーティション(Rドライブ)を削除します。
Diskpartで古い回復パーティションを選択しておきます。
DISKPART> list partition
Partition ### Type Size Offset
------------- ------------------ ------- -------
Partition 1 システム 100 MB 1024 KB
Partition 2 予約 16 MB 101 MB
Partition 3 回復 1023 MB 117 MB
Partition 4 プライマリ 236 GB 1141 MB
* Partition 5 回復 541 MB 237 GB
DISKPART> lis volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 C NTFS Partition 236 GB 正常 ブート
Volume 1 FAT32 Partition 100 MB 正常 システム
Volume 2 NTFS Partition 1023 MB 正常 非表示
* Volume 3 NTFS Partition 541 MB 正常 非表示
正しく選択できていることを確認したうえで、以下のコマンドで削除を行います。
DISKPART> delete partition override
最終状態は以下の通りです。
もともとディスクの末尾にあった回復パーティションを丸ごと引っ越しすることができました!
まとめ
今回、ディスク末尾にある「回復パーティション」を別のパーティションに移動してみました。少し手間はかかりましたが、Diskpartなどの標準ツールを駆使して丸ごと引っ越すことができました。よかったら参考にしてみてください。最後までお読みいただきありがとうございました!