
WinRE/복구 파티션 문제를 해결하는 PowerShell 스크립트 - KB5034441, KB5028997, CVE-2024-20666 Windows 업데이트 실패
Windows 복구 환경(WinRE)을 새 복구 파티션으로 안전하게 이동/재생성하는 PowerShell 스크립트입니다.
키워드: WinRE Windows 복구 복구 파티션 reagentc KB5034441 KB5028997 CVE-2024-20666 BitLocker Windows 업데이트 수정 파티션 크기 조정 GPT UEFI
이 스크립트는 WinRE 파티션과 관련된 일반적인 Windows 업데이트 오류를 해결합니다:
| 🇹🇷 Türkçe | 🇬🇧 English |
|---|---|
| Bu script'i çalıştırmadan önce mutlaka tam sistem yedeği alın! Disk/partition işlemleri geri dönüşü olmayan veri kaybına yol açabilir. | 이 스크립트를 실행하기 전에 전체 시스템 백업을 반드시 수행하세요! 디스크/파티션 작업은 돌이킬 수 없는 데이터 손실을 초래할 수 있습니다. |
Winre-Fix.ps1 Windows Recovery Environment (WinRE) bileşenini güvenli bir şekilde yeni bir Recovery partition'a taşıyan/yeniden oluşturan bir PowerShell betiğidir.
-WhatIf ile simülasyon çalıştırın.| Parametre | Açıklama |
|---|---|
-WhatIf | Gerçek değişiklik yapmadan adımları simüle eder (güvenli test modu) |
-Force | Onay istemeden tüm adımları uygular + minimum alan uyarılarını geçer |
-Verbose | Ayrıntılı çıktı/log için verbose modu |
1. PRE-CHECK: Disk 0'da "Unallocated" (boş) alan var mı?
├─ Yok → HATA: "No unallocated space found" → Çıkış
├─ < 1.2 GB → Uyarı, -Force gerekli
└─ >= 1.2 GB → OK, devam
↓
2. Yedek onayı iste (YES yazılmalı, -Force/-WhatIf ile atlanır)
↓
3. Recovery partition'ı bul (GPT Type ile tüm partition'ları tarar)
├─ Bulunamadı → HATA → Çıkış
└─ Bulundu → OK, devam
↓
4. Partition doğrulama (boyut < 10 GB olmalı)
├─ Çok büyük → HATA: "Too large, might be Windows!" → Çıkış
└─ OK → devam
↓
5. WinRE disable et (reagentc /disable)
↓
6. Eski Recovery partition'ı sil
↓
7. C: sürücüsünü genişlet (1 GB rezerv bırakır)
↓
8. Yeni Recovery partition oluştur + NTFS formatla
↓
9. GPT Type + Hidden attribute ayarla (diskpart)
↓
10. WinRE enable et (reagentc /enable)
↓
TAMAMLANDI!
# 1. Simülasyon (güvenli test)
.\Winre-Fix.ps1 -WhatIf -Verbose
# 2. Normal çalıştırma (onay sorar)
.\Winre-Fix.ps1
# 3. Otomatik çalıştırma (onay sormaz)
.\Winre-Fix.ps1 -Force
C:\temp\WinRE-Fix-Log.txtWinre-Fix.ps1 Windows Recovery Environment(WinRE) 구성 요소를 안전하게 새 복구 파티션으로 이동/재생성하는 PowerShell 스크립트입니다.
-WhatIf로 시뮬레이션을 실행하세요.| 매개변수 | 설명 |
|---|---|
-WhatIf | 실제 변경 없이 단계 시뮬레이션 (안전 테스트 모드) |
-Force | 확인 프롬프트 건너뛰기 + 최소 공간 경고 무시 |
-Verbose | 상세 출력/로깅 활성화 |
1. 사전 확인: Disk 0에 "할당되지 않음"(빈) 공간이 있는가?
├─ 없음 → 오류: "할당되지 않은 공간을 찾을 수 없음" → 종료
├─ 1.2 GB 미만 → 경고, -Force 필요
└─ 1.2 GB 이상 → 확인, 진행
↓
2. 백업 확인 요청 ("YES" 입력 필요, -Force/-WhatIf 시 생략)
↓
3. 복구 파티션 찾기 (GPT 유형으로 모든 파티션 검색)
├─ 없음 → 오류 → 종료
└─ 있음 → 확인, 진행
↓
4. 파티션 유효성 검사 (크기가 10 GB 미만이어야 함)
├─ 너무 큼 → 오류: "너무 큼, Windows 드라이브일 수 있음!" → 종료
└─ 확인 → 진행
↓
5. WinRE 비활성화 (reagentc /disable)
↓
6. 이전 복구 파티션 삭제
↓
7. C: 드라이브 확장 (1 GB 예약)
↓
8. 새 복구 파티션 생성 + NTFS 포맷
↓
9. GPT 유형 + 숨김 속성 설정 (diskpart)
↓
10. WinRE 활성화 (reagentc /enable)
↓
완료!
# 1. 시뮬레이션 (안전 테스트)
.\Winre-Fix.ps1 -WhatIf -Verbose
# 2. 일반 실행 (확인 요청)
.\Winre-Fix.ps1
# 3. 자동 실행 (확인 없음)
.\Winre-Fix.ps1 -Force
C:\temp\WinRE-Fix-Log.txtMIT 라이선스 - 사용에 따른 책임은 본인에게 있습니다.
Windows 시스템의 안전한 WinRE 파티션 관리를 위해 제작되었습니다.
| 검사 | 설명 |
|---|
| 🔒 관리자 | 관리자로 실행되지 않으면 스크립트 종료 |
| 💾 할당되지 않은 공간 | 변경 전에 디스크 여유 공간 확인 |
| ✅ 백업 확인 | 진행 전 "YES" 입력 필요 (-Force 시 생략) |
| 🔍 GPT 유형 스캔 | 올바른 GPT 유형을 위해 모든 파티션 검색하여 복구 파티션 찾기 |
| 📏 크기 정상 확인 | 복구 파티션이 10 GB 미만이어야 함 (Windows 삭제 방지!) |
| 📝 전체 로깅 | 모든 작업을 C:\temp\WinRE-Fix-Log.txt에 기록 |
| 🛡️ Winre.wim 확인 | WinRE 활성화 전 복구 이미지 존재 여부 확인 |