
Сценарий PowerShell для устранения проблем с разделом WinRE/Recovery — ошибки обновления Windows KB5034441, KB5028997, CVE-2024-20666
PowerShell скрипт для безопасного перемещения/воссоздания среды восстановления Windows (WinRE) в новый раздел Recovery.
Ключевые слова: WinRE Windows Recovery Recovery Partition reagentc KB5034441 KB5028997 CVE-2024-20666 BitLocker Windows Update Fix Partition Resize GPT UEFI
Этот скрипт помогает исправить частые ошибки обновления Windows, связанные с разделом WinRE:
| 🇹🇷 Türkçe | 🇬🇧 Русский |
|---|---|
| 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 — это PowerShell скрипт, который безопасно перемещает/воссоздает среду восстановления Windows (WinRE) в новый раздел Recovery.
-WhatIf для симуляции.| Параметр | Описание |
|---|---|
-WhatIf | Симулирует шаги без внесения изменений (безопасный тестовый режим) |
-Force | Пропускает запросы подтверждения + игнорирует предупреждения о минимальном пространстве |
-Verbose | Включает подробный вывод/протоколирование |
1. ПРЕДПРОВЕРКА: Есть ли на Диске 0 нераспределённое пространство?
├─ Нет → ОШИБКА: "No unallocated space found" → Выход
├─ < 1.2 ГБ → Предупреждение, требуется -Force
└─ >= 1.2 ГБ → OK, продолжение
↓
2. Запрос подтверждения резервного копирования (необходимо ввести YES, пропускается с -Force/-WhatIf)
↓
3. Поиск раздела Recovery (сканирование всех разделов по GPT типу)
├─ Не найден → ОШИБКА → Выход
└─ Найден → OK, продолжение
↓
4. Проверка раздела (размер должен быть < 10 ГБ)
├─ Слишком большой → ОШИБКА: "Too large, might be Windows!" → Выход
└─ OK → продолжение
↓
5. Отключение WinRE (reagentc /disable)
↓
6. Удаление старого раздела Recovery
↓
7. Расширение диска C: (оставляется 1 ГБ резерва)
↓
8. Создание нового раздела Recovery + форматирование в 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.txtЛицензия MIT — Использование на свой страх и риск.
Создан для безопасного управления разделом WinRE в системах Windows.
| Проверка | Описание |
|---|
| 🔒 Администратор | Скрипт завершается, если не запущен от имени администратора |
| 💾 Нераспределённое пространство | Проверяет наличие свободного места на диске до внесения изменений |
| ✅ Подтверждение резервного копирования | Требует ввода "YES" перед продолжением (пропускается с -Force) |
| 🔍 Сканирование GPT типа | Находит раздел Recovery, сканируя все разделы на соответствие правильному GPT типу |
| 📏 Проверка размера | Раздел Recovery должен быть < 10 ГБ (предотвращает удаление Windows!) |
| 📝 Полное журналирование | Все операции записываются в C:\temp\WinRE-Fix-Log.txt |
| 🛡️ Проверка Winre.wim | Проверяет наличие файла образа восстановления перед включением WinRE |