いつものしらべてもでてこない

調べた事を書きます

Windows7で回復ドライブが無い場合に回復パーティションを作成する方法。回復ドライブを作成できません。

 Windowsリカバリーやコピーなどで復元した際に回復ドライブの無いディスクを作ってしまう事があります。
 回復ドライブは通常、Windowsのインストール時にディスクの未使用領域にインストールする事で自動的に回復用のパーティションが作成されるようになっています。
 回復ドライブが無いと回復ディスクを作成出来ません。sfc /scannow が実行できない場合もあります。
 これを後から手動で作成します。Windows7向けの方法です。
 可能な限りコピー&ペーストして修正してください。

回復ドライブの作成方法

 回復ドライブの作成は回復パーティションを作成した後、Microsoftの案内する手順通りにすると作成できます。
 注意点はDVD-ROMドライブのドライブレターが環境によって異なるので変更しないといけない事とコマンドが長いのでコピー&ペーストで作業する事です。
 手順の中でドライブレターを使用環境に合わせた文字に変更する箇所は1か所だけですので作業自体は簡単です。
 ここでは reagentc /enable で作成できない場合を扱います。reagentc /info で情報を表示すると空っぽの情報が表示されます。

ディスクの管理でドライブ構成を確認する

 田 スタートメニューを右クリックしてメニューを開く。
 ディスクの管理(K)をクリックして開く。

 ディスクの管理でボリュームの列のC:をクリックするとCドライブのディスクが選択されCドライブが斜線表示される。
 その右側に未割り当てが512MBか1GB(1024MB)以上無い場合はCドライブを縮小する必要がある。

Cドライブを縮小する必要がある場合

 C:の斜線表示の部分を右クリックしてメニューを開く。
 ボリュームの縮小をクリックする。
 縮小する領域のサイズに 512 (又は1024) を入力する。
 縮小をクリックして縮小する。

 縮小出来ない場合はファイルを削除して空き領域をcipher /w:Cコマンドでwipe(ゼロライト)してから縮小するかWindowsを再インストールする際にCドライブを削除する必要があります。別の物理ドライブに作るのは今と同じ事が起こるのでお勧めしません。
 ここではその手順は説明しません。

Diskpartで回復ドライブを作成する

 以下のコマンドを自分の環境と比べながら順に実行する。
 田 スタートメニューをクリックする。
 diskpart と入力してEnterキーで起動する。セキュリティの確認を求められるので「はい」をクリックする。

diskpart

 list disk
 select disk 0
 list disk
選択したディスク0の先頭に * (チルダ)が付く。間違えたら select し直す。
 list partition
選択したディスクのパーティションの一覧を表示して選択したディスクが正しいか確認する。

 create partition primary size=512 id=27

Diskpartは指定したパーティションの作成に成功しました。
sizeに関しては512(MB)でも足りますが、後述の更新プログラムを適用すると1024が必要になります。その際に拡張できないと思いますので、回復用のパーティションを削除して、手前にあるパーティションを縮小して、再度回復用のパーティションを作成してください。

 assign letter=R
このドライブレターの割り当てはディスクの管理からでは出来ません。
 exit

回復ドライブを拡張したい場合

 後述の更新プログラムを適用すると、システムイメージの作成で「バックアップに失敗しました。」と出る事があります。

バックアップに失敗しました。
ディスク領域が不足している為、保存場所にボリュームのシャドウ コピーを作成できません。バックアップするすべてのボリュームについて、シャドウ コピーの作成に必要な最低限のディスク領域が利用可能であることを確認してください。これは、バックアップの保存先と、バックアップに含まれるボリュームの両方について行う必要があります。最小要件: 500MB 未満のボリュームに対して 50 MB の空き領域、500 MB を超えるボリュームに対して 320 MB の空き領域が必要です。推奨事項: ボリュームのサイズが 1GB を超える場合、各ボリュームについて、少なくとも 1GB の空きディスク領域が必要です。(0x80780119)

 この場合、diskpartから領域を拡張します。
 現在容量が512MBの場合。ディスク0、パーティション1の場合。
 list disk
 select disk 0
 list disk
選択されたディスクが正しいか確認する。

 list partition
 select partition 1
 list partition
選択されたパーティションが正しいか確認する。

 パーティションを 512 MB 拡張する。
 extend size=512

OEM パーティション、ESP パーティション、回復パーティション、またはオフラインボリュームは拡張できません。 選択されたボリューム拡張できません。 別のボリュームを選択してから再実行してください。

 回復パーティションからNTFSパーティションに変更。
 set id=07

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

必要に応じてドライブレターを割り当てる。
 assign letter=R

ドライブ文字またはマウントポイントを正常に割り当てました。

 512 MB のドライブを 512 MB 拡張する。
 extend size=512

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

 set id=27

選択されたボリュームまたはパーティションは使用中です。 操作を続行するには、OVERRIDE パラメータを使用してください。

 set id=27 override

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

 exit

回復ドライブが正常に動作するようにイメージを書き込み必要に応じて更新プログラムを適用する。

 次の Microsoft の記事の通りにコマンドを入力して設定する。
 Windows 7 および Windows Server 2008 R2Windows 回復の更新プログラムについて
support.microsoft.com

インストール メディアから WinRE.wim を見つけてコピーする

 ここは上の記事のほぼコピーです。
 コマンドは極力コピー&ペーストしてください。インストールメディアのドライブ部分は変更してください。

 WinRE.wim がシステムで構成されていない場合は、次の手順を実行します。
 オペレーティング システムのインストールに使用した Windows インストール メディアで WinRE.wim ファイルを見つけます。

 田 スタートメニューをクリックする。
 command と入力してEnterキーで起動する。

 次のローカル フォルダーを作成します。
  mkdir C:\OS_Image
  mkdir C:\OS_Image\Mount
  mkdir C:\Winre

 Install.wim ファイルを Windows インストール メディアから C:\OS_Image にコピーします。インストール メディアがドライブ D に置かれている場合は、Install.wim ファイルは D:\sources フォルダーに置かれています。

 次の DISM コマンドを入力して、Install.wim ファイルをマウントします。

 DISM /mount-wim /wimfile:C:\OS_Image\Install.wim /index:1 /MountDir:C:\OS_Image\mount
 次のコマンドを入力して、Windows RE イメージ (Winre.wim) ファイルをマウントされた Windows イメージから C:\WinRE にコピーします。

 Copy C:\OS_image\mount\windows\system32\recovery\WinRE.wim C:\winre\
 次のコマンドを入力して、マウントされた Windows イメージをマウント解除します。

 DISM /unmount-wim /MountDir:C:\OS_Image\mount /discard
 C:\OS_Image フォルダーと C:\OS_Image\Mount フォルダーをそれらにコピーされた Install.wim ファイルと共に削除します。

KB2883457 セキュリティ更新プログラム パッケージを WinRE.wim に挿入する

 これはやらなくても良いですが作業はこれで終わりではありません、下に続きます。

 KB2883457 セキュリティ更新プログラム パッケージを C:\WindowsUpdate フォルダーにコピーします。

 次のローカル フォルダーを作成します。
  mkdir C:\WinRE\Mount

 次のコマンドを入力して、Winre.wim ファイルをマウントします。
 DISM /mount-wim /wimfile:C:\winre\WinRE.wim /index:1 /MountDir:C:\winre\mount

 次のコマンドを入力して、セキュリティ パッケージをマウントされた Winre.wim ファイルに挿入します。
 DISM /image:C:\Winre\mount /Add-Package /Packagepath:C:\WindowsUpdate

 次のコマンドを入力して、セキュリティ パッケージが正常に統合されたことを確認します。
 DISM /image:C:\winre\mount /Get-Packages

 次のコマンドを入力して、Winre.wim ファイルに対する変更をコミットします。
 DISM /unmount-wim /MountDir:C:\Winre\mount /commit

回復ドライブを設定する

 reagentc /info
REAGENTC.EXE: 操作は完了しました
 reagentc /enable
REAGENTC.EXE: 操作は完了しました
 reagentc /info
REAGENTC.EXE: 操作は完了しました
 有効化されて回復環境が設定されてBCDが設定されました。

回復環境が動作するか確認する。

 田 スタートメニューをクリックする。
 一番下の電源をクリックする。
 SHIFTを押したまま再起動をクリックする。

若しくは、
 田 スタートメニューをクリックする。
 ⚙ 設定をクリックする。
 更新とセキュリティをクリックする。
 回復をクリックする。
 「PCの起動をカスタマイズする」のすぐ下にある再起動をクリックする。

 これで回復環境が起動すれば成功です。

ドライブレターが割り当てられた回復ドライブのドライブレターをシステムレジストリから削除する

 一旦ドライブレターを割り当てるとディスクの管理からドライブレターを削除しても再起動後にレジストリに残った情報でドライブレターが再割り当てされる事がある。
 その為、先ず再起動して回復ドライブのドライブレター確認する。
 田 スタートメニューをクリックする。
 regedit と入力しEnterキーを押して起動する。

 画面左に表示されているフォルダ表示の部分がキーです。右側は値になります。

 レジストリキーから該当ドライブのキーを表示する。キーのある場所は
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\VolumeInfoCache\
例えば回復ドライブが R: なら画面の左側の VolumeInfoCache の下に R: があると思います。これを右クリックして削除します。

 右クリックして表示されたメニューの削除をクリックする。
 「キーの削除の確認」の画面が出るので「はい」をクリックして削除する。

もう一か所削除する

\HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\
 画面右側に表示されている値の名前を見て R: なら \DosDevices\R:と 言う値を探す。
 右クリックして表示されたメニューの削除をクリックする。
 「値の削除の確認」の画面が出るので「はい」をクリックして削除する。

確認

 再起動してエクスプローラを開き先程のドライブレターの割り当てがなくなれば完了です。

TypeIDについて

 setid で使用されている TypeID についてです。消えると困るので表をコピーしておきます。

CREATE_PARTITION_PARAMETERS (vds.h) - Win32 apps | Microsoft Learn

learn.microsoft.com

Members

style

MbrPartInfo

Parameters for a Master Boot Record (MBR) disk. Used if style is VDS_PST_MBR.

MbrPartInfo.partitionType

Indicates the system-defined MBR partition type. Possible values are as follows:

Value Meaning
PARTITION_ENTRY_UNUSED
0x00
Unused entry.
PARTITION_FAT_12
0x01
Specifies a partition with 12-bit FAT entries.
PARTITION_XENIX_1
0x02
Specifies a XENIX Type 1 partition.
PARTITION_XENIX_2
0x03
Specifies a XENIX Type 2 partition.
PARTITION_FAT_16
0x04
Specifies a partition with 16-bit FAT entries.
PARTITION_EXTENDED
0x05
Specifies an MS-DOS V4 extended partition.
PARTITION_HUGE
0x06
Specifies an MS-DOS V4 huge partition. This value indicates that there is no Microsoft file system on the partition. Use this value when creating a logical volume.
PARTITION_IFS
0x07
Specifies an NTFS or ExFAT partition.
PARTITION_OS2BOOTMGR
0x0A
Specifies an OS/2 Boot Manager, OPUS, or Coherent swap partition.
PARTITION_FAT32
0x0B
Specifies a FAT32 partition.
PARTITION_FAT32_XINT13
0x0C
This value is not supported.
PARTITION_XINT13
0x0E
This value is not supported.
PARTITION_XINT13_EXTENDED
0x0F
This value is not supported.
PARTITION_PREP
0x41
Specifies a PowerPC Reference Platform partition.
PARTITION_LDM
0x42
Specifies a logical disk manager partition.
PARTITION_UNIX
0x63
Specifies a UNIX partition.
PARTITION_NTFT
0x80
Specifies an NTFT partition. This value is used in combination (that is, bitwise logically ORed) with the other values in this table.

TypeID | Microsoft Learn

learn.microsoft.com

BIOS/MBR-Based Systems

Partition type How to set the value Used for Receives a drive letter by default?

System partition

Set CreatePartitionType to Primary, and then set ModifyPartitionActive to true.

System boot information and Windows RE tools.

No

OEM partition

Set CreatePartitionType to Primary, and then set ModifyPartition<code>TypeID to a recognized value.

Recognized values include: 0x12, 0x84, 0xDE, 0xFE, and 0xA0.

OEM tools and other system utilities.

No

Windows data partition

Set CreatePartitionType to Primary.

Windows, applications, and data.

Yes

Recovery/utility partition

Set CreatePartitionType to Primary, and then set ModifyPartition<code>TypeID to 0x27.

Recovery files such as push-button recovery images and other system utilities.

No

UEFI/GPT-Based Systems

Partition type How to set the value Used for Receives a drive letter by default?

EFI system partition (ESP)

Set CreatePartitionType to EFI.

The system partition.

No

Microsoft Reserved partition

Set CreatePartitionType to MSR.

Managing the other hard-drive partitions.

No

Windows data partition

Set CreatePartitionType to Primary.

Windows operating system, applications, and data.

Yes

Recovery/utility partition

Set CreatePartitionType to Primary, and then set ModifyPartition<code>TypeID to de94bba4-06d1-4d40-a16a-bfd50179d6ac.

Recovery tools such as Windows RE, recovery files such as push-button reset images, and other system utilities.

No for Windows RE tools partitions.

Yes for push-button reset partitions and other utility partition types. For more information about hiding partitions, see Walkthrough: Deploy Push-Button Reset Features.


以上です。