それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

WinREを作り直したときの記録

WinREを作り直し。

WinREを作り直すことにした。

ディスク領域を末尾につくる

これは、末尾に作るのはgdisk が簡単だったと思う。

gdisk64.exe \\

Command (? for help): p
Disk \\.\physicaldrive0: 1000215216 sectors, 476.9 GiB
Sector size (logical): 512 bytes
Disk identifier (GUID): 9DB1BCCA-303E-4D33-B11E-EBC1072C212B
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 1000215182 # 末尾は 1000215182
Partitions will be aligned on 2048-sector boundaries
Total free space is 390194566 sectors (186.1 GiB)


Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          534527   260.0 MiB   EF00  EFI system partition
   2          534528          567295   16.0 MiB    0C01  Microsoft reserved ...
   3          567296       610022630   290.6 GiB   0700  Basic data partition

Command (? for help): n
Partition number (4-128, default 4): 607925478
Value out of range
Partition number (4-128, default 4): 4
## 末尾 から1GB確保する。
First sector (34-1000215182, default = 610023424) or {+-}size{KMGTP}: 998118064
Information: Moved requested sector from 998118064 to 998117376 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (998117376-1000215182, default = 1000215182) or {+-}size{KMGTP}:
Current type is 'Microsoft basic data'
Hex code or GUID (L to show codes, Enter = 700): 2700 # winREは 2700(27)
Changed type of partition to 'Windows RE'

Command (? for help): p

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          534527   260.0 MiB   EF00  EFI system partition
   2          534528          567295   16.0 MiB    0C01  Microsoft reserved ...
   3          567296       610022630   290.6 GiB   0700  Basic data partition
   4       998117376      1000215182   1024.3 MiB  2700  Windows RE
   
1000215216
1000215182-1024*1024*1024/512=998118030

再フォーマットとドライブレターの割り当て

> diskpart

diskpart > list disk
diskpart > select disk 0 
diskpart > list part
diskpart > select part 4
diskpart > FORMAT QUICK FS=NTFS LABEL="WINRE"
diskpart > assign letter=r
diskpart > gpt attributes=0x8000000000000001
diskpart > set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"

実際のログ

DISKPART> list disk

  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online          476 GB   275 GB        *
  Disk 1    Online         1886 MB  1085 MB

DISKPART> select disk 0

Disk 0 is now the selected disk.

DISKPART> list part

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    System             260 MB  1024 KB
  Partition 2    Reserved            16 MB   261 MB
  Partition 3    Primary            200 GB   277 MB
  Partition 4    Recovery          1024 MB   475 GB

DISKPART> select part 4

Partition 4 is now the selected partition.

DISKPART> FORMAT QUICK FS=NTFS LABEL="WINRE"

  100 percent completed

DiskPart successfully formatted the volume.

DISKPART> assign letter=r

DiskPart successfully assigned the drive letter or mount point.

DISKPART> gpt attributes=0x8000000000000001

DiskPart successfully assigned the attributes to the selected GPT partition.

DISKPART> set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"

DiskPart successfully set the partition ID.

DISKPART> exit

用意したWinReをコピーする

MD R:\Recovery\WindowsRE
## xcopy /h C:\Windows\System32\Recovery\Winre.wim r:\Recovery\WindowsRE
## 私はWinREを保存したPATHからコピーした
xcopy /h "C:\Users\takuya\Downloads\Winre.wim" r:\Recovery\WindowsRE

-- C: ドライブのWinREとして、 R:\ を指定する。

reagentc /setreimage /path R:\Recovery\WindowsRE /target C:\Windows
reagentc /setreimage /path r:\Recovery\WindowsRE /target C:\Windows
reagentc /enable
reagentc /info
PS C:\WINDOWS\system32> reagentc /setreimage /path r:\Recovery\WindowsRE /target C:\Windows
Directory set to: \\?\GLOBALROOT\device\harddisk0\partition4\Recovery\WindowsRE
REAGENTC.EXE: Operation Successful.

もし、enabledにならない場合は、

## 削除する。
rm "C:\Windows\System32\Recovery\ReAgent.xml" 

WinRE自体は、500MBなので、1GBも確保する必要はなかったかもしれない。

ここで、Cドライブ内部のWinREを指定することもできるが、Bitlockerが有効になってると、できない。

Bitlocker暗号化のCドライブ内部のWinREに起動前にアクセスできるわけがないですからね。

WinREがない場合の対応。

ISOから取り出す。

windowsのISOから取り出す。

ただし、WindowsのISOに含まれるWinREは「古くて脆弱」な可能性がるためにおすすめしません。修正パッチを当てて運用します。

リカバリメディアから

または、USBインストールメディア作成ツールで作ったUSBメモリから取り出す。(おすすめ

WinREの脆弱性修正版を取得する

WinREにはBitlocker回避バグがあるため、最新のものを用意したほうがいいらしい

USBインストール作成ツールで最新のものを用意してない場合やWinREが用意したWinREが危殆化パッチを当てる

reagentc /setreimage /path R:\Recovery\WindowsRE /target C:\Windows

以上の作業により、WinREが確保されるので、

リカバリメディアを作成することができる。

リカバリメディアをシステムを含めて作ることで、手間が大幅に軽減されて嬉しい。

出来上がったリカバリメディアからWinREを切り離してパーティションに導入すれば、最新版のWinREを作ることができる。