Windowsをインストールするとストレージ(HDD/SSDなど)に回復パーティションが作成されます。Windowsのアップグレードを繰り返していると、回復パーティションが複数できたりします。この回復パーティションのサイズを変更します。
今回は、既存の回復パーティションのサイズの変更方法についてです。
回復パーティションはWindows回復環境(Windows RE)を保存するために使われます。ところが、以前の投稿に書きましたが、回復パーティションが二つもあるにもかかわらず、サイズが足らず、どちらも使われていない状態になることがあります。
アップグレード後の回復パーティションが使われない例
以下に示すのは、Windows 8.1の環境をWindows 10 1703にアップグレードした時のパーティション構成です。
diskpart.exe
コマンドを使用して、パーティション構成を確認すると以下のようです。
DISKPART> list part Partition ### Type Size Offset ------------- ------------------ ------- ------- Partition 1 回復 300 MB 1024 KB Partition 2 システム 100 MB 301 MB Partition 3 予約 128 MB 401 MB Partition 4 プライマリ 126 GB 529 MB Partition 5 回復 483 MB 126 GB
ストレージデバイスの最後に二つ目の回復パーティションが追加されているのがわかります。追加された回復パーティションのサイズは483MBです。
現在、どちらの回復パーティションが使われているかを確認するには、Reagentc.exe
コマンドを使います。このコマンドをオプションで/info
をつけて実行することにより、現在使われている回復パーティションがわかります。
Windows 8.1からWindows 10 1703にアップグレードした環境で確認します。
PS C:\WINDOWS\system32> .\ReAgentc.exe /info Windows 回復環境 (Windows RE) およびシステム リセット構成 情報: Windows RE の状態: Enabled Windows RE の場所: \\?\GLOBALROOT\device\harddisk0\partition5\Recovery\WindowsRE ブート構成データ (BCD) ID: 578983f9-1fcf-11e9-9669-ff135b40ba65 回復イメージの場所: 回復イメージ インデックス: 0 カスタム イメージの場所: カスタム イメージ インデックス: 0
Windows REの場所は、\\?\GLOBALROOT\device\harddisk0\partition5\Recovery\WindowsRE
となっています。harddisk0
は、PC上の一つ目のストレージデバイスを表します。また、partition5
は、そのストレージデバイス上の5つ目のパーティションを表します。Recovery\WindowsRE
がパーティションの中のフォルダーを表します。
このように、一つ目の回復パーティションは使用されず、二つ目の回復パーティションが利用されていることがわかります。
上記は、アップグレードのときに新たな回復パーティションを作成できた時の例です。
新たな回復パーティションが作成できなかったとき(または、既存の回復パーティションのサイズが足りなかったとき)は、Windows REは回復パーティションではなく、システムドライブ(C:\)のパーティションに保存されます。たとえば、上記の例の\\?\GLOBALROOT\device\harddisk0\partition5\Recovery\WindowsRE
のpartition5
の部分がWindowsシステムドライブのパーティションである、partition4
になります。
Windowsシステムドライブに配置されるWindows RE(Windows回復環境)
回復パーティションのサイズが小さく、回復パーティションにWindows回復環境が保存できない場合は、WindowsのシステムドライブのパーティションにWindows回復環境が保存されます。
しかし、よく考えてみてください。Windowsの調子が悪いときにシステムを初期状態に戻したりします。その初期状態に戻すためのプログラムとして、Windows回復環境が利用されます。そのWindows回復環境のプログラムが、Windowsのシステムドライブに保存されているということは、システムドライブの調子が悪いときは、そのWindows回復環境ごとお亡くなりになってしまうこともあり得ます。
なんか、いやですよね。Windows回復環境はシステムドライブ(C:\)のパーティションとは別のパーティションである回復パーティションにあってほしいです。
今回の目的
今回は、このようにWindows REがシステムドライブのパーティションにできてしまったものを、本来の場所である回復パーティションに再配置します。そのためには、回復パーティションのサイズを十分な大きさにする必要があります。
また、現在、二つ目の回復パーティションにWindows REが保存されていたとしても、サイズに十分な余裕がないと、将来のアップグレードで回復パーティションが使われなくなる可能性があります。今回の方法を使うと、回復パーティションのサイズを十分な大きさに変更することもできます。
回復パーティションのサイズを調整する
作成もしくはサイズを大きくする回復パーティションの位置は、システムドライブのパーティションのすぐ後ろの位置とします。また、作成する回復パーティションのサイズは約1GB(1023MB)とします。
1GB(1024MB)にしないのは、前に投稿しましたが、回復パーティションのサイズの推奨値の抜粋です。
-
- 500 MB 以上のパーティションの場合は、少なくとも 320 MB の空き領域が必要です。
- 1 GB を超えるパーティションの場合は、少なくとも 1 GB の空き領域を確保しておくことをお勧めします。
とあり、回復パーティションのサイズが1GB以上のときは、空き領域を1GB以上用意する必要があり、結果として1.5GB以上のパーティションサイズにする必要があるからです。
作業は管理者権限のコマンドプロンプト、もしくは、管理者権限のWindows Power Shellプロンプトを使用して行います。
ここから先の作業は、失敗するとシステムが起動しなくなることがあるので十分に注意して行ってください。失敗したとしても当方では一切責任を負えません。
Windows を無効化する
Windows REを無効化して、Windows REをストレージから削除します。はじめに現在の状態を確認するために、ReAgentc.exe /info
を実行します。
PS C:\Windows\system32> ReAgentc.exe /info Windows 回復環境 (Windows RE) およびシステム リセット構成 情報: Windows RE の状態: Enabled Windows RE の場所: \\?\GLOBALROOT\device\harddisk0\partition4\Recovery\WindowsRE ブート構成データ (BCD) ID: dd83505c-ea24-11e8-b871-8da9e6c2ae4a 回復イメージの場所: 回復イメージ インデックス: 0 カスタム イメージの場所: カスタム イメージ インデックス: 0 REAGENTC.EXE: 操作は成功しました。 PS C:\Windows\system32>
Windows REが有効(Enabled)となっており、partition4
に配置されていることがわかります。ユーザーの環境によって、保存されているパーティション番号は異なるので、partition4
ではない場合もあります。
次に、現状のWindows REを削除するためにReAgentc.exe /disable
を実行します。
PS C:\Windows\system32> ReAgentc.exe /disable REAGENTC.EXE: 操作は成功しました。 PS C:\Windows\system32>
すると、Windows REが削除されます。削除されているのを確認するために、再度ReAgentc.exe /info
を実行します。
PS C:\Windows\system32> ReAgentc.exe /info Windows 回復環境 (Windows RE) およびシステム リセット構成 情報: Windows RE の状態: Disabled Windows RE の場所: ブート構成データ (BCD) ID: 00000000-0000-0000-0000-000000000000 回復イメージの場所: 回復イメージ インデックス: 0 カスタム イメージの場所: カスタム イメージ インデックス: 0 REAGENTC.EXE: 操作は成功しました。 PS C:\Windows\system32>
Windows REが無効化(Disabled)され削除されていることが確認できます。
システムドライブのパーティションの直後のパーティションを確認する
現在のパーティション構成を確認します。diskpart.exe
を使用します。
diskpart.exe
を起動したら、disk 0を選択して(select disk 0
)、選択したdiskのパーティション情報を表示します(list partition
)。ここでは、disk 0にシステムドライブがあることを想定しています。disk 0以外のドライブがシステムドライブの場合は、そのdisk番号を選択してください。
PS C:\Windows\system32> diskpart.exe Microsoft DiskPart バージョン 10.0.17763.1 Copyright (C) Microsoft Corporation. コンピューター: DESKTOP-12345678 DISKPART> list disk ディスク 状態 サイズ 空き ダイナ GPT ### ミック ------------ ------------- ------- ------- --- --- ディスク 0 オンライン 953 GB 0 B * ディスク 1 オンライン 894 GB 1024 KB * DISKPART> select disk 0 ディスク 0 が選択されました。 DISKPART> list partition Partition ### Type Size Offset ------------- ------------------ ------- ------- Partition 1 回復 499 MB 1024 KB Partition 2 システム 99 MB 500 MB Partition 3 予約 16 MB 599 MB Partition 4 プライマリ 953 GB 615 MB DISKPART>
この場合は、partition 4がシステムドライブのパーティションとなります。この後ろに回復パーティションを作成します。
システムドライブのパーティションの後ろにすでに回復パーティションがある場合、その回復パーティションを削除してよいか確認します。回復パーティションがない場合は、次のいくつかのステップは飛ばし、「システムドライブのパーティションを縮小する」のステップから行います。
既存の回復パーティションの中を確認する
このステップは、システムドライブのパーティション(ここでは、Partition 4とします)の後ろに回復パーティション(ここではPartition 5とします)があったことを想定します。回復パーティションがあった場合、その回復パーティションを削除してよいか確認します。
というのは、回復パーティションには、Windows REだけでなく、PCを工場出荷時に戻すためのイメージを保存するために使用されていることもあるからです。2GBを超えるようなサイズの回復パーティションは多くの場合、Windows RE用ではありません。
引き続きDiskpartで作業します。Partition 5にドライブレターを割り当てて、エクスプローラーでパーティションの中のフォルダー構成を確認できるようにします。
DISKPART> select partition 5 パーティション 5 が選択されました。 DISKPART> assign letter=R DiskPart はドライブ文字またはマウント ポイントを正常に割り当てました。 DISKPART>
この場合では、ドライブレターRにパーティションを割り当てています。エクスプローラーで確認すると、以下のようにドライブRが確認できます。
この例の場合、空き領域が「0.98MB / 0.99GB」と表示されており、10MB程度使用済であることがわかります。Windows REを無効化しているので、ドライブRはほとんど使われていません。このパターン場合は、この回復パーティションは削除して問題ありません。
この例の場合、空き領域が「523MB / 0.99GB」と表示されており、480MB程度使用済であることがわかります。使用量が500MB前後であるためWindows REが残っているものと思われます。念のためフォルダー構成を確認します。
フォルダー構成を確認するときは、赤枠の「隠しファイル」にチェックを入れ隠しファイルを表示するようにします。Recoveryフォルダーしかありません。このパターン場合も、Windows REのためだけにしか利用されていないため、この回復パーティションは削除して問題ありません。
回復パーティションにWindows RE以外のデータがある場合
上記以外のパターン、すなわち、
- 回復ドライブRの使用領域が700MB以上ある場合
- フォルダー構成を確認してRecoveryフォルダー以外がある場合
は、Windows RE以外のデータ(たとえば工場出荷状態に戻すためのイメージなど)が存在している可能性があります。この場合は、既存の回復パーティションを削除するのは避けましょう。
この回復パーティションのイメージのバックアップを取って、回復パーティションをサイズ変更して再作成した後に、バックアップを元に戻す方法もあります。しかし、今回は、作業を簡単にするために、新たな回復パーティションを作成する方法で行います。そのため、次のステップ「既存の回復パーティションを削除する」はスキップします。
既存の回復パーティションを削除する
既存の回復パーティションが削除しても問題ないことが確認できた場合は、そのパーティション(ここでは、Partition 5とします)を削除します。削除する前に、削除する回復パーティションのサイズを確認するために、list partition
でサイズを確認しておきます。下記の場合は、削除する回復パーティションのサイズは、480MBです。
DISKPART> list partition Partition ### Type Size Offset ------------- ------------------ ------- ------- Partition 1 回復 499 MB 1024 KB Partition 2 システム 99 MB 500 MB Partition 3 予約 16 MB 599 MB Partition 4 プライマリ 952 GB 615 MB Partition 5 回復 480 MB 952 GB DISKPART>
delete partition override
コマンドで選択しているパーティションを削除できます。このコマンドは、使い方を間違ったた場合、システムが起動しなくなったり、データが消えたりします。コマンドを実行する前には、目的のストレージのパーティション(この例の場合は、回復パーティションであるpartition 5)が選択されていることを必ず確認してください。
DISKPART> select partiton 5 パーティション 5 が選択されました。 DISKPART> delete partition override DiskPart は選択されたパーティションを正常に削除しました。 DISKPART>
これで、不要な回復パーティションを削除できました。
システムドライブのパーティションを縮小する
最終的に約1GB(=1023MB)の回復パーティションを作成します。そのためには、システムドライブのパーティションの後ろに1023MBの空き領域が必要となります。
前のステップで回復パーティションを削除した場合は、1023MBから削除したサイズ(たとえば480MBとします)を引いたサイズ543MB (=1023MB – 480MB)の追加の空き領域が必要です。
前のステップで回復パーティションを削除していない場合は、1023MBの追加の空き領域が必要です。
その必要なサイズだけ、システムドライブのパーティションであるPartition 4を小さくします。
作業としては、システムドライブのパーティションであるPartition 4を選択して(select part 4)、必要なサイズ(たとえば1023MBとします)だけパーティションを小さくします(shrink desired=1023
)。
DISKPART> select partiton 4 パーティション 4 が選択されました。 DISKPART> shrink desired=1023 ボリュームは、次の方法で正常に縮小されました: 1023 MB DISKPART>
これで、Partition 4の後ろに約1GB(1023MB)の空き領域ができました。
ただし、システムドライブのパーティションに十分な空き領域がない場合は、パーティションの縮小に失敗します。その場合はあきらめてください。
新しい回復パーティションを作成する
create partition
コマンドを使って約1GB(1023MB)の新しい回復パーティションを作成します。回復パーティションを作成するので、idに回復パーティションのidであるde94bba4-06d1-4d40-a16a-bfd50179d6ac
を指定します。
DISKPART> create partition primary size=1024 id=de94bba4-06d1-4d40-a16a-bfd50179d6ac DiskPart は指定したパーティションの作成に成功しました。 DISKPART> list partition Partition ### Type Size Offset ------------- ------------------ ------- ------- Partition 1 回復 499 MB 1024 KB Partition 2 システム 99 MB 500 MB Partition 3 予約 16 MB 599 MB Partition 4 プライマリ 952 GB 615 MB * Partition 5 回復 1023 MB 952 GB DISKPART>
1023MBの新しい回復パーティションが作成できました。
つづいて、属性情報を回復パーティションに適した値に設定します。また、作成した回復パーティションをNTFS形式でフォーマットします。
DISKPART> gpt attributes=0x8000000000000001 選択された GPT パーティションに DiskPart で属性を割り当てました。 DISKPART> format FS=NTFS 100% 完了しました DiskPart は、ボリュームのフォーマットを完了しました。 DISKPART>
これで、diskpart.exe
での作業はおしまいです。exit
コマンドでdiskpartを終了します。
DISKPART> exit DiskPart を終了しています... PS C:\Windows\system32>
Windows RE環境を再作成する。
Windows RE(Windows回復環境)の再作成は簡単です。ReAgentc.exe
を使います。引数に/enable
を付けることにより、Windows REが再作成できます。
PS C:\Windows\system32> ReAgentc.exe /enable REAGENTC.EXE: 操作は成功しました。 PS C:\Windows\system32> ReAgentc.exe /info Windows 回復環境 (Windows RE) およびシステム リセット構成 情報: Windows RE の状態: Enabled Windows RE の場所: \\?\GLOBALROOT\device\harddisk0\partition5\Recovery\WindowsRE ブート構成データ (BCD) ID: dd835062-ea24-11e8-b871-8da9e6c2ae4a 回復イメージの場所: 回復イメージ インデックス: 0 カスタム イメージの場所: カスタム イメージ インデックス: 0 REAGENTC.EXE: 操作は成功しました。 PS C:\Windows\system32>
これで、新たに作成した約1GB(1023MB)の回復パーティションにWindows RE環境を移動することができました。
今回は、回復パーティションのバックアップを取らずに、回復パーティションのサイズを変更する方法を紹介しました。そのため、既存の回復パーティションにWindows回復環境以外の情報が保存されていた場合は、もう一つ回復パーティションを作成しました。
既存の回復パーティションのバックアップを取って、サイズを変更し、そのバックアップを戻す方法は、機会があれば、紹介したいと思います。