Windows Recovery Environment (WinRE) คือระบบปฏิบัติการขั้นต่ำที่อิงตาม Windows Preinstallation Environment (WinPE) ซึ่งรวมเครื่องมือจำนวนหนึ่งเพื่อซ่อมแซม, รีเซ็ต และวินิจฉัย Windows หากระบบปฏิบัติการหลักไม่บูทได้ด้วยเหตุผลใดเหตุผลหนึ่ง คอมพิวเตอร์จะพยายามเริ่ม WinRE ซึ่งอาจช่วยแก้ไขปัญหาได้ด้วยตนเองหรืออัตโนมัติ ใน WinRE คุณสามารถซ่อมแซมบูทโหลเดอร์อัตโนมัติ, กู้คืน OS จากสำรองข้อมูลภาพ, ย้อนกลับไปยังจุดกู้คืนระบบ, รัน command prompt, ฯลฯ
Windows RE ประกอบด้วย 3 ไฟล์ ซึ่งตั้งอยู่ในพาร์ติชัน System Reserved ที่ซ่อนอยู่:
- winre.wim – WIM image พร้อม WinPE และเครื่องมือกู้คืนเพิ่มเติมหลายอย่าง;
- boot.sdi – ใช้สร้าง RAM disk ในหน่วยความจำ;
- ReAgent.xml — ไฟล์การกำหนดค่า Windows RE

ในบทความนี้ เราจะแสดงวิธีบูทคอมพิวเตอร์เข้า WinRE และวิธีซ่อมแซมสภาพแวดล้อมกู้คืน Windows 10 หากมันไม่ทำงาน
วิธีบูท Windows เข้าสู่ Recovery Environment
เพื่อบูทคอมพิวเตอร์เข้าสู่สภาพแวดล้อมกู้คืนครั้งต่อไปที่คุณรีสตาร์ท Windows คุณต้องกดปุ่ม Restart ในเมนู Start พร้อมกับค้างปุ่ม Shift

คุณยังสามารถรีบูทคอมพิวเตอร์ในโหมด WinRE จาก command prompt โดยใช้พารามิเตอร์ใหม่ -o ของคำสั่ง shutdown:
shutdown /f /r /o /t 0

คำสั่งนี้ไม่สามารถรันได้เมื่อเชื่อมต่อกับคอมพิวเตอร์ผ่าน RDP จะปรากฏข้อผิดพลาด "The parameter is incorrect (87)"
มีคำสั่งอีกอย่างบังคับให้เข้าสู่ recovery environment ที่การบูทครั้งต่อไปของคอมพิวเตอร์:
reagentc /boottore
คอมพิวเตอร์จะบูทเข้าสู่ Windows Recovery Environment อัตโนมัติ หากพยายามบูท Windows ปกติ 3 ครั้งติดต่อกันล้มเหลว เพื่อบูทคอมพิวเตอร์เข้า WinRE เพียงแค่ขัดจังหวะการบูท Windows ปกติด้วยปุ่มพลังงาน 3 ครั้งติดต่อกัน
เครื่องมือซ่อมแซมและแก้ไขปัญหา WinRE
มีเครื่องมือกู้คืนและแก้ไขปัญหาหลายอย่างในสภาพแวดล้อมกู้คืน WinRE ช่วยให้คุณแก้ไขปัญหา Windows ต่างๆ WinRE บน Windows 10 รวมเครื่องมือต่อไปนี้:
- Reset this PC – อนุญาตให้รีเซ็ต Windows กลับเป็นการตั้งค่าโรงงาน (ข้อมูลส่วนตัวและไฟล์จะถูกลบ);
- System Restore – อนุญาตให้กู้คืนสถานะ Windows โดยใช้จุดกู้คืนที่สร้างไว้ก่อนหน้า;
- System Image Recovery – อนุญาตให้กู้คืน Windows จากสำรองข้อมูลภาพเต็มบนสื่อภายนอก;
- Automatic Repair/Start-up Repair – Windows พยายามค้นหาและแก้ไขปัญหาที่เป็นไปได้โดยอัตโนมัติ (วิซาร์ดสามารถซ่อมแซมบูทโหลเดอร์, การกำหนดค่า BCD และ MBR (Master Boot Record) ได้ด้วยตนเอง);

- Windows Startup Settings – อนุญาตให้เลือกสถานการณ์การบูท Windows ต่างๆ: Safe Mode, ปิดการบังคับใช้ลายเซ็นดิจิทัลของไดรเวอร์, ปิดการรีสตาร์ทอัตโนมัติ عندข้อผิดพลาดระบบ (นี่คือวิธีเดียวที่จะเห็นรหัสข้อผิดพลาด BSOD บนหน้าจอบูท Windows), ฯลฯ;
- Uninstall Updates – อนุญาตให้ลบการอัปเดตที่ติดตั้งล่าสุด (มีประโยชน์หาก Windows ไม่บูทหลังติดตั้งอัปเดต);
- Go back to the previous version – อนุญาตให้ย้อนกลับไปยังビルด์ Windows 10 ก่อนหน้า;
- Command Prompt – รันบรรทัดคำสั่งเพื่อรันคำสั่งวินิจฉัยและซ่อมแซมด้วยตนเอง

หากคุณต้องการรัน command prompt หรือเครื่องมือแก้ไขข้อผิดพลาดอื่น WinRE จะขอรหัสผ่านของบัญชีผู้ดูแลระบบท้องถิ่น (รหัสผ่านจะเทียบกับข้อมูลในฐานข้อมูล SAM ท้องถิ่น)

คุณควรเห็นหน้าต่าง command prompt X:\Windows\System32>
จากบรรทัดคำสั่ง คุณสามารถตรวจสอบดิสก์ด้วยเครื่องมือ chkdsk, ตรวจสอบและซ่อมแซม Windows image โดยใช้ sfc.exe หรือ DISM, รัน regedit.exe, bootrec.exe, startrep.exe (เครื่องมือนี้ช่วยค้นหาและแก้ไขปัญหากับรีจิสทรี, ไดรเวอร์, พาร์ติชัน, ฯลฯ) และคำสั่งอื่นๆ (มีบทความหลายอย่างบนเว็บไซต์แสดงวิธีแก้ไขปัญหา Windows ต่างๆ ใน recovery environment หรือ WinPE)

เพื่อปิด WinRE command prompt และกลับไปยังการเลือกโหมดบูท ให้รันคำสั่ง:
exit
ไม่พบ Recovery Environment ใน Windows 10
ในบางกรณี คอมพิวเตอร์ไม่สามารถบูทเข้าสู่ Windows Recovery Environment ได้ หากคุณพยายามรีเซ็ต Windows, หรือบูทเข้า recovery mode คุณอาจเห็นข้อผิดพลาดอย่าง "Could not find the recovery environment" หมายความว่าพาร์ติชันที่มี WinRE หรือไฟล์ .wim ของสภาพแวดล้อมกู้คืนถูกลบ/เสียหาย; ไม่ว่าจะเป็น ReAgent หรือ BCD ที่กำหนดค่าไม่ถูกต้อง
เหตุผลที่สภาพแวดล้อม WinRE หยุดบูทหรือทำงานไม่ถูกต้องอาจแตกต่างกัน:
- WinRE ถูกปิดใช้งานในการตั้งค่า Windows;
- Boot Configuration Data Store (BCD) ไม่มีรายการสำหรับบูทใน recovery mode;
- ไฟล์ winre.wim (WinRE environment image) หายหรือถูกย้าย;
- ไฟล์การกำหนดค่า WinRE ReAgent.xml หายหรือมีการตั้งค่าผิดพลาด
ต่อไป เราจะดูวิธีหลักในการกู้คืนสภาพแวดล้อม WinRE ใน Windows 10 (สำหรับ Windows 7 และ Windows 8.1 ขั้นตอนเหมือนกัน)

ซ่อมแซม WinRE (Windows Recovery Environment) ด้วยเครื่องมือ ReAgentc
วิธีเปิดหรือปิด Windows Recovery Environment ใน Windows 10 ด้วยตนเอง
ลองปิดและเปิด WinRE บนคอมพิวเตอร์ของคุณโดยรันคำสั่งต่อไปนี้ใน command prompt ที่มีสิทธิ์ผู้ดูแลระบบ:
reagentc /disable
reagentc /enable

หากคุณแปลงตารางพาร์ติชันดิสก์จาก MBR เป็น GPT โดยใช้เครื่องมือ MBR2GPT คุณอาจพบข้อผิดพลาด:
MBR2GPT: Failed to update ReAgent.xml, please try to manually disable and enable WinRE.
เพื่อแก้ไข คุณต้องรีบูทและปิด/เปิด WinRE ด้วยตนเอง
หากปรากฏข้อผิดพลาด "REAGENTC.EXE: Unable to update Boot Configuration Data" ให้แก้ไขปัญหากับ Windows bootloader ก่อน (คำแนะนำสำหรับคอมพิวเตอร์ UEFI และ BIOS)
หากได้รับข้อความข้อผิดพลาด "REAGENT.EXE: The Windows RE image was not found" ไฟล์ winre.wim หรือพาร์ติชัน System Recovery น่าจะถูกลบ

ตรวจสอบรายการ BCD สำหรับ WinRE
ตรวจสอบให้แน่ใจว่า Boot Configuration Data (BCD) มีรายการที่ถูกต้องสำหรับบูทสภาพแวดล้อม WinRE
Note. หาก WinRE เปิดใช้งานสำเร็จโดยใช้ reagent รายการ WinRE ที่ถูกต้องควรปรากฏในการกำหนดค่าบูทโดยอัตโนมัติ อย่างไรก็ตาม คุณควรตรวจสอบค่าพารามิเตอร์ recoverysequence
แสดงรายการ BCD ปัจจุบัน:
bcdedit /enum all
ในรายการตัวเลือกบูท ให้ค้นหาส่วน Windows Boot Loader ที่มี identifier={current} ในตัวอย่างของเรา รายการนี้มีลักษณะดังนี้:
Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \Windows\system32\winload.exe
description Windows 10
locale en-US
inherit {bootloadersettings}
recoverysequence {7c817935-e52f-11e6-9c2c-0050569efccb}
recoveryenabled Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \Windows
resumeobject {1c7df7a0-4560-11e5-9675-8451eaa913bb}
nx OptIn
bootmenupolicy Standard
ค้นหาและจดจำค่า GUID ของแอตทริบิวต์ recoverysequence ในตัวอย่างของเราคือ {7c817935-e52f-11e6-9c2c-0050569efccb}

จากนั้นคุณต้องค้นหาส่วนการกำหนดค่าบูทที่มีค่า identifier เท่ากับค่า GUID ที่ได้ก่อนหน้านี้ และมี Windows Recovery Environment ในฟิลด์ description รายการนี้อาจมีลักษณะดังนี้:
Windows Boot Loader
-------------------
identifier {7c817935-e52f-11e6-9c2c-0050569efccb}
device ramdisk=[F:]\Recovery\WindowsRE\Winre.wim,{7c817936-e52f-11e6-9c2c-0050569efccb}
path \windows\system32\winload.exe
description Windows Recovery Environment
locale en-US
inherit {bootloadersettings}
displaymessage Recovery
osdevice ramdisk=[F:]\Recovery\WindowsRE\Winre.wim,{7c817936-e52f-11e6-9c2c-0050569efccb}
systemroot \windows
nx OptIn
bootmenupolicy Standard
winpe Yes

หากคุณไม่พบรายการนี้ ให้ค้นหารายการ BCD อื่นที่มี GUID อื่นเป็น identifier และมีข้อความ "Windows Recovery Environment" ในฟิลด์ description ซึ่งมีพาธไปยัง Winre.wim ในค่า device และ osdevice
พาธไปยังไฟล์ WIM อาจชี้ไปยังไดรฟ์อื่น (เช่น [\Device\HarddiskVolume2]) หากพบส่วนดังกล่าว คุณสามารถเชื่อมโยงรายการนี้เพื่อบูท WinRE เป็นสภาพแวดล้อมกู้คืนสำหรับ OS ปัจจุบัน คัดลอก GUID ของรายการที่พบและแทนที่โดยใช้คำสั่ง:
bcdedit /set {current} recoverysequence {FoundGUID}
Note. หากคุณใช้ multiboot ให้จำไว้ว่าแต่ละ OS เพิ่มรายการ Windows Recovery Environment ของตัวเองเข้าไปใน Microsoft Boot Manager สำคัญที่จะไม่สับสนกับมัน
ตำแหน่งของไฟล์ Winre.wim
ตรวจสอบให้แน่ใจว่า Winre.wim อยู่ในตำแหน่งที่ระบุ ปกติแล้วจะถูกเก็บในตำแหน่งต่อไปนี้:
- โฟลเดอร์ C:\Windows\System32\Recovery;
- พาร์ติชัน System Reserved แยกที่ซ่อนอยู่;
- OEM recovery partition ที่โรงงานผลิต (ตรวจสอบว่าคุณไม่ได้ลบมัน)
ในตัวอย่างของเรา ควรอยู่บนไดรฟ์ F:\ (F:\Recovery\WindowsRE \Winre.wim)
ตรวจสอบพาธไปยังไฟล์ wim ที่ระบุใน ReAgent.xml (ตั้งอยู่ในโฟลเดอร์ C:\Windows\System32\Recovery หรือในโฟลเดอร์ Recovery บนพาร์ติชันกู้คืน) เปิดไฟล์นี้ใน text editor ใดๆ และตรวจสอบค่าของแอตทริบิวต์ <ImageLocation path= หากพาธที่ระบุไม่มีอยู่ (พาร์ติชันต้นฉบับถูกลบ) คุณสามารถเปลี่ยนพาธเป็น <ImageLocation path="\Recovery\WindowsRE") สร้างโฟลเดอร์ C:\Recovery\WindowsRE และคัดลอก Winre.wim ไปวาง ปิดและเปิด WinRE อีกครั้ง:
reagentc /disable reagentc /enable
Tip. การกำหนดค่า Recovery Agent ปัจจุบันสามารถรับได้โดยใช้คำสั่ง reagentc /info คำสั่งนี้ช่วยรับตัวระบุ Boot Configuration Data (BCD) และพาธทางกายภาพไปยังไฟล์ Windows RE image:
(location: \\?\GLOBALROOT\device\harddisk0\partition1\Recovery\WindowsRE)

รีเซ็ตการตั้งค่า WinRE ในไฟล์ ReAgent.xml
หากวิธีที่อธิบายข้างต้นไม่ช่วยกู้คืน WinRE คุณสามารถลองรีเซ็ตการตั้งค่าสภาพแวดล้อมกู้คืนในไฟล์ ReAgent.xml (สำรองไฟล์นี้ไว้ก่อน)
ใน Windows 10 เพียงลบไฟล์ ReAgent.xml และมันจะถูกสร้างขึ้นอัตโนมัติครั้งต่อไปที่คุณเปิดใช้งาน WinRE ด้วยคำสั่ง:
reagentc /enable
ใน Windows 7/Vista ให้เปิด ReAgent.xml ใน text editor (แนะนำให้ใช้ Notepad++) และล้างค่าพารามิเตอร์ต่อไปนี้: WinreBCD, WinreLocation, ImageLocation, InstallState, WinREStaged:
<WinreBCD id="{00000000-0000-0000-0000-000000000000}"/>
<WinreLocation path="" id="0" offset="0" guid="{00000000-0000-0000-0000-000000000000}"/>
<ImageLocation path="" id="0" offset="0" guid="{00000000-0000-0000-0000-000000000000}"/>
<InstallState state="0"/>
<WinREStaged state="0"/>
บันทึกการเปลี่ยนแปลง ตรวจสอบว่า Winre.wim อยู่ในโฟลเดอร์ %windir%\System32\Recovery เปิดใช้งาน WinRE ด้วยคำสั่ง:
reagentc /enable
ค้นหาและคัดลอกไฟล์ Winre.wim ด้วยตนเอง
หากคุณไม่พบไฟล์ Winre.wim ในโฟลเดอร์มาตรฐานใดๆ ลองค้นหาโดยใช้ file manager หรือคำสั่งต่อไปนี้:
dir /a /s c:\winre.wim

Tip อย่าลืมค้นหาไฟล์นี้ในพาร์ติชันที่ซ่อนอยู่ด้วย ซึ่งต้องกำหนดตัวอักษรไดรฟ์ล่วงหน้า
หากคุณพบไฟล์ ให้คัดลอกไปยังตำแหน่งเริ่มต้นโดยใช้คำสั่ง:
attrib -h -s c:\Recovery\3b09be7c-2b1f-11e0-b06a-be7a471d71d6\winre.wim xcopy /h c:\Recovery\3b09be7c-2b1f-11e0-b06a-be7a471d71d6\winre.wim c:\Windows\System32\Recovery
หากคุณไม่พบไฟล์ ให้คัดลอกจากอินสแตนซ์ Windows ที่คล้ายกัน (เวอร์ชัน OS และ bitness ต้องตรงกัน) หรือจากสื่อติดตั้ง/USB บูทได้ เพื่อทำเช่นนี้ ให้เปิด \sources\install.wim (หรือ install.esd) บน DVD/ ISO image โดยใช้ 7-Zip และแยก \Windows\System32\Recovery\Winre.wim และ ReAgent.xml ไปยังโฟลเดอร์ c:\Windows\System32\Recovery ไฟล์ boot.sdi ต้นฉบับต้องคัดลอกจากโฟลเดอร์ \Windows\Boot\DVD

คุณสามารถแทนที่ winre.wim ส่วนตัวด้วย image กู้คืน DaRT 10 ที่ขั้นสูงกว่า ซึ่งมีเครื่องมือเพิ่มเติมที่มีประโยชน์สำหรับการวินิจฉัยและแก้ไขปัญหาการบูท Windows
แทนที่พาธไปยังไฟล์ winre.wim ในการกำหนดค่า Recovery Agent:
reagentc /setreimage /path C:\windows\system32\recovery
ตอนนี้เพียงเปิดใช้งาน Windows Recovery Agent ด้วยคำสั่งนี้:
reagentc /enable