【Windows】回復パーティションを移動する方法

PC

「回復パーティション」がディスクの末尾にあると困る場合があります。例えば、HDD→SSDの換装など容量の小さいディスクへ丸コピーしたいようなときです。コピー元の容量を減らすためにCドライブなどのパーティション縮小をしても、ディスクの末尾に回復パーティションが残ってしまいます。今回、その問題に対処してみたので、手順をまとめました。

スポンサーリンク

いくつかの対処方法

ディスクの末尾に回復パーティションが残ってしまう問題に対して、対処方法はいくつか考えられます。例えば以下の通りです。

スポンサーリンク

確認環境

確認したPCの環境は以下の通りです。

OS: Windows10 21H2
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ドライブより手前に空きを作る方法については、こちらの記事で説明しています。

【Windows】Cドライブの開始位置を後ろに移動してみた!
今回、WindowsのCドライブの開始位置を後ろへ移動してみました。その後もWindowsは正常に起動しているので成功のようです。ただ、たまたま運がよかっただけかもしれません。もう一度同じ手順で実施して成功する保証もありませんが、あくまで一...

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などの標準ツールを駆使して丸ごと引っ越すことができました。よかったら参考にしてみてください。最後までお読みいただきありがとうございました!

スポンサーリンク

参考にさせていただいたサイト

タイトルとURLをコピーしました