Windows 10の回復パーティションを新しく作る

使いまわしのSSDにWindows 10を入れたところ、回復パーティションではなくC:\Recoveryに回復環境が作られてしまった。なんか気持ち悪いので、いつも通りの回復パーティション式に変更できないか調べて試したら出来たのでメモ。

(2021-10-01 追記)

最近のバージョン(少なくとも20H2で確認)では回復パーティションは作られないのが標準のようだ。Windows 11への移行なども見据えると、素直にC:\Recovery方式に準じた方がいいのかも。

  • Windows 10 Pro バージョン 1809 (64bit/UEFIブート)
  • ThinkPad T450s

BIOSブートではパーティション設定が違うため、本記事の方法は適用できない。MS公式ドキュメントにBIOSブート向けの記載があるので参考にしてくだしあ。

コマンドプロンプトを管理者として実行し、diskpartを起動する。

以下のコマンドで回復パーティションを作る。select disk, create partitionsize, assign letterの値は各自の環境に読み替えてくだしあ。なお、select diskで指定する値はlist diskで確認できる。

回復パーティションの容量は1 GiBが公式の推奨値である。ここでは念には念を入れて3 GiB確保した。当然ながら、ディスクに回復パーティション分の空き領域が必要となる。足りなければ、ディスクの管理でC:ドライブを縮小するなりして確保してくだしあ。

select disk 0
create partition primary size=3072
format quick fs=ntfs label="Recovery tools"
assign letter="T"
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
gpt attributes=0x8000000000000001

set idとgpt attributesが肝。これらプロパティを設定すると回復パーティションとして扱われる。

正しく作成できれば、以下のような感じで認識される。

DISKPART> lis par

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    システム               512 MB    20 KB
  Partition 2    予約                  16 MB   513 MB
  Partition 3    プライマリ              585 GB   529 MB
* Partition 4    回復                3072 MB   586 GB

このコマンドプロンプトは後ほど仕上げ作業で使うので、消さずに残しておく。

作成した回復パーティションにWindows REをコピーする。新たなコマンドプロンプトを管理者として実行し、以下のコマンドを実行する。

mkdir T:\Recovery\WindowsRE
xcopy /h C:\Windows\System32\Recovery\Winre.wim T:\Recovery\WindowsRE

作成した回復パーティションをWindowsに登録する。

まずは回復環境を無効にする。

> reagentc /disable
REAGENTC.EXE: 操作は成功しました。

> reagentc /info
Windows 回復環境 (Windows RE) およびシステム リセット構成
情報:

    Windows RE の状態:         Disabled
    Windows RE の場所:
    ブート構成データ (BCD) ID: 00000000-0000-0000-0000-000000000000
    回復イメージの場所:
    回復イメージ インデックス: 0
    カスタム イメージの場所:
    カスタム イメージ インデックス: 0

REAGENTC.EXE: 操作は成功しました。

次に作成した回復パーティションをWindowsに登録する。

/pathオプションは登録する回復環境のパス、/targetは登録先のWindowsフォルダを指定する。

> reagentc /setreimage /path T:\Recovery\WindowsRE /target C:\Windows
ディレクトリは次に設定されています: \\?\GLOBALROOT\device\harddisk0\partition4\Recovery\WindowsRE

回復環境を有効化し、正しく登録されているか確認する。

> reagentc /enable
REAGENTC.EXE: 操作は成功しました。

> reagentc /info
Windows 回復環境 (Windows RE) およびシステム リセット構成
情報:

    Windows RE の状態:         Enabled
    Windows RE の場所:         \\?\GLOBALROOT\device\harddisk0\partition4\Recovery\WindowsRE
    ブート構成データ (BCD) ID: 31099d0b-3da4-11e9-836a-c8ff28b541b0
    回復イメージの場所:
    回復イメージ インデックス: 0
    カスタム イメージの場所:
    カスタム イメージ インデックス: 0

REAGENTC.EXE: 操作は成功しました。

C:\Recoveryの中身が殆ど空になっていることを確認し、削除する。デフォルトではアクセス権が一切ないので、てきとーに付与して作業して下さい。

回復パーティションに割り当てていたドライブレターを消す。冒頭のdiskpartのコマンドプロンプトが残っているなら、単にremove letterすればおk。

> remove letter=T

再起動した際、ドライブレターが復活するようなら、ボリュームに対して同様の操作をしてみる。

> diskpart
DISKPART> select volume 回復パーティションのドライブレター
DISKPART> remove letter=T
  • pc/windows_create_recovery_partition.txt
  • 最終更新: 2023-03-10 16:20
  • by Decomo