Если ваша Windows RE стояла на том же диске, что и система. То у вас это обновление было установлено и у вас нет проблемы. Если есть маленький отдельный раздел, то обновление не устанавливается.
Чтобы всё это исправить, запустите PowerShell от имени администратора и пересоздайте раздел не меняя параметры загрузчика.
Чтобы определить куда подключен раздел восстановления введите:
PS C:\WINDOWS\system32> reagentc /info
Информация о конфигурации среды восстановления Windows и
сброса системы:
Состояние среды восстановления Windows: Enabled
Расположение среды восстановления Windows: \\?\GLOBALROOT\device\harddisk0\partition4\Recovery\WindowsRE
Идентификатор данных конфигурации загрузки: efd963f9-afa6-11ee-8020-84c5a61716fe
Расположение образа для восстановления:
Индекс образа для восстановления: 0
Расположение пользовательского образа:
Индекс пользовательского образа: 0
REAGENTC.EXE: операция выполнена успешно.
У меня WinRE находится на диске 0, раздел 4. Чтобы убедиться, что это она можно ввести команду:
Get-Partition -DiskNumber 0 -PartitionNumber 4
Указав соответствующие номера для диска и раздела.
Отключите WinRE:
reagentc /disable
Удалите раздел через diskpart
DISKPART> select disk 0
DISKPART> select partition 4
DISKPART> delete partition override
Уменьшите раздел системного раздела, или того раздела, что слева от этой удаленного раздела восстановления так, чтобы можно было создать раздел размером в 990 мегабайт. Если смотрите через оснастку "управление дисками", то свободно в неразмеченной области должно быть 992 мегабайта. В моем случае, раз раздел восстановления имел номер 4, значит уменьшаем раздел 3. Например, если раздел был изначально 554 мегабайта, то нужно высвободить 436. Это можно сделать в графическом интерфейсе через управление дисками или через diskpart:
DISKPART> select disk 0
DISKPART> select partition 3
DISKPART> shrink desired=436 minimum=436
После этого должно было освободиться достаточное количество свободного места. Затем нужно создать раздел восстановления заново. Для этого нужно сначала определить используемый тип таблицы разделов MBR или GPT. В diskpart это делается так:
DISKPART> list disk
Диск ### Состояние Размер Свободно Дин GPT
-------- ------------- ------- ------- --- ---
Диск 0 В сети 953 Gбайт 1024 Kбайт *
DISKPART>
То что стоит звездочка в колонке GPT говорит о том, что таблица разделов имеет формат GPT, если звёздочки нет, значит формат MBR. Создание раздела восстановления на GPT и MBR разное.
Для GPT нужно зайти в diskpart и выполнить:
DISKPART> select disk 0
DISKPART> create partition primary
DISKPART> set id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
DISKPART> format quick fs=ntfs label="WINRETOOLS"
DISKPART> gpt attributes=0x8000000000000001
Для MBR нужно зайти в diskpart и выполнить:
DISKPART> select disk 0
DISKPART> create partition primary
DISKPART> set id=27
DISKPART> format quick fs=ntfs label="WINRETOOLS"
После выполненных команд раздел будет вновь создан с тем же номером. Это можно увидеть так:
DISKPART> list partition
Раздел ### Тип Размер Смещение
------------- ---------------- ------- -------
Раздел 1 Системный 150 Mб 1024 Kб
Раздел 2 Зарезервирован 128 Mб 151 Mб
Раздел 3 Основной 952 Gб 279 Mб
Раздел 4 Восстановление 990 Mб 952 Gб
DISKPART>
ВАЖНО! Нельзя делать размер раздела выше чем 1GB, потому что если вы так сделаете, то вам снова не хватит места:
https://learn.microsoft.com/en-us/troubleshoot/windows-client/windows-security/disk-partition-requirement-use-windows-re-tool
1. Если раздел ниже 500МБ, то свободно должно быть 50 МБ для старых версий ОС и 200МБ для новых
2. Если раздел ниже 500МБ-999МБ, то свободно должно быть 320 МБ
3. Если раздел выше 1ГБ, то свободно должно быть не менее 1ГБ
Если вы решили переборщить с размером раздела восстановления, то делайте 2ГБ.
После того как вы всё это проделали вам нужно снова включить WinRE обратно:
reagentc /enable
И после этого перезагрузить компьютер. Только после перезагрузки это обновление поставится.
Внимательно следите за номерами дисков и разделов, чтобы случайно не удалить что-то нужное 😃
И кстати. Если у вас по какой-то причине WinRE обратно не включается, то вам придётся его (WinRE) переустановить заново. Для этого вам потребуется WinRE.wim. Если вы его потеряли и он reagentc сообщает, что он не найден, то:
Его нужно выдрать из установочного образа Windows 10/11 или что там у вас (как его вытаскивать через DISM - это целая эпопея)
Примонтировать раздел восстановления с любой буквой (например R). Выбрать партицию в diskpart и сделать: assign letter R
Положить туда образ по пути: R:\Recovery\winre.wim
Натравить reagentc на новую локацию: reagentc /setreimage /path "R:\Recovery\winre.wim"
Включить среду восстановления через reagentc /enable
Удалить точку монтирования через: mountvol R: /d
Если последнее не сделать, то при перезагрузке буква будет восстанавливаться.
Индийское видео про восстановление утраченного образа WinRE:
При этом если при включении у вас возникает WinRE у вас возникает таинственная ошибка "7b", то это означает что у вас скорее всего ноутбук, и в нем его производитель понаделал кучу кастомных опций для WinRE. Это значит что вам нужно перед включением вычистить все строчки из bcdedit, который отвечают за режим восстановления.
Проверяйте через "bcdedit /enum all", ищите и удаляйте строчки "Загрузка Windows" у которых идентификатор имеет GUID, а не {current} и у которых атрибут winpe имеет значение yes. Удаляется командой:
bcdedit /delete {efd963f9-afa6-11ee-8020-84c5a61716fe}
У вас там будут ваши GUID-ы. И главное, помните, что bcdedit не работает в оболочке PowerShell и вам нужно запустить именно cmd от имени администратора.
В общем, спасибо, Microsoft. Год начался прекрасно...