April 17, 2023

Собственный Recovery раздел для восстановления системы.  

Актуально для Windows 10/11 и GPT разметки.

Для чего это нужно?

Например, вы решили сэкономить, и купили ноутбук без предустановленной Windows, но хотите, чтобы в ноутбуке был раздел восстановления, как в версиях с предустановленной Windows.
Или часто своими кривыми руками ломаете систему и вынуждены переустанавливать ее с нуля (это я).

Такая опция избавит вас от установочных флешек и накатки драйверов, если вдруг потребуется начисто переустановить систему.

Когда настанет час Х, достаточно будет загрузиться в специальную среду восстановления WinRE и выбрать там пункт "Восстановление системы".


Выполняем чистую установку Windows

Это необходимо, чтобы образ восстановления был не слишком большого размера, и восстановленная система работала как и положено.

Все как обычно - качаем образ, выбираем редакцию, создаем локальную учетную запись.

Активируем Windows любым способом

Например, можно воспользоваться HWID активатором. В этом случае активация привязывается к железу навсегда.
При повторной установке (если ставить эту же редакцию), Windows активируется автоматически при подключении к интернету.

Окно Microsoft Activation Scripts (MAS)
Кэп: Данный способ позволяет вам только активировать Windows, но лицензию таким образом вы не получите.


Для HWID активации откройте терминал от Администратора и выполните команду:

irm https://massgrave.dev/get | iex

Далее выберите пункт HWID и дождитесь окончания активации.

Устанавливаем необходимые драйверы

Тут все понятно и индивидуально. В моем случае, я сначала позволил Windows установить все со своих серверов. Затем установил более свежий драйвер для дискретного видео и пару утилит от производителя.

Создаем образ восстановления

Как создать и сжать том рассказывать не буду, тут все тривиально

В управлении дисками создаем простой том размером 10-15 гб и меткой Recovery. В нем создаем папку Recovery. После создания образа этот раздел можно будет уменьшить.
Перезагружаем девайс с зажатой клавишей SHIFT, после перезагрузки попадаем в среду WinRE. Далее следуем по пунктам меню:

Устранение неисправностей -> Доп. параметры -> Командная строка

Выполняем команды:

diskpart 
# запуск diskpart 
lis vol  
# выводим список томов

Этот список томов я вывел уже в Windows, просто для примера

Видим список томов и их буквы. Определяемся, какой букве соответствует раздел с вашей Windows и созданный ранее Recovery.
В среде WinRE не всегда раздел с Windows может быть с буквой C, поэтому не пугаемся. Допустим, в нашем случае раздел с Windows это "С", а раздел с Recovery это "D".

Далее вводим:

exit 
# выходим из diskpart
 
Dism /Capture-Image /ImageFile:D:\Recovery\install.wim /CaptureDir:C:\ /name:"System Recovery" /description:"WIN_RECOVERY" /compress:max
# запускаем процесс создания образа системы 
# на подготовленный раздел Recovery

Поясняю где тут что

install.wim - название образа восстановления
D:\Recovery - место хранения образа восстановления
C:\ - раздел с установленной Windows

Дожидаемся окончания операции. Это занимает несколько минут.

Далее выполняем:

reagentc /setosimage /path D:\Recovery /index 1 /target C:\windows
# Данная команда привязывает созданный нами install.wim 
# к системной среде восстановления WinRE

Теперь можно закрыть терминал и перезагрузиться в Windows.

Наводим порядок

Осталось сжать раздел восстановления, скрыть его из проводника, и запретить любые манипуляции средствами Windows.

По желанию, сжимаем раздел восстановления под размер образа средствами Windows. Например, у меня размер образа занимает 8.2 Гб, поэтому я сжал раздел до 8.3 Гб.

Далее открываем терминал от имени Администратора и выполняем:

diskpart
# запускаем diskpart
lis vol
# выводим список томов
sel vol X
# выбираем том, на котором наш раздел с Recovery (X - номер раздела)
remove-letter=D
# удаляем ранее присвоенную разделу букву, чтобы скрыть его из проводника
lis dis	
# выводим список дисков
sel dis X
# выбираем диск, на котором наш раздел с Recovery (X - номер диска)
lis par	
# выводим список разделов на выбранном диске
sel par X	
# выбираем раздел с Recovery (X - номер раздела)
set id=DE94BBA4-06D1-4D40-A16A-BFD50179D6AC override	
# присваем ID раздела восстановления
gpt attributes=0x8000000000000001	
# присваиваем атрибуты скрытого раздела
exit
# выходим из diskpart
reagentc /info
# проверяем что мы наворотили

Должно получиться как-то так:

Путь GLOBALROOT у вас будет другим, главное, чтобы в конце был указан созданный каталог recovery

Выходим из терминала. Раздел восстановления полностью готов.

Теперь, чтобы переустановить Windows достаточно попасть в среду WinRE и проследовать по пунктам:
Устранение неисправностей -> Вернуть компьютер в исходное состояние -> Удалить все -> Локальная переустановка
Как попасть в WinRE:

  • Перезагрузить девайс с зажатой клавишей shift
  • Выполнить в терминале команду: systemreset --factoryreset
  • При включении девайса зажать специальную клавишу (у всех по разному, у MSI это F3)

Небольшое замечание по гайду

Данный способ не совсем заменяет заводской раздел восстановления, так как с завода создается отдельная запись в среде WinRE, по вызову которой девайс восстанавливает не только Windows с драйверами, но так же и пакет программ, OEM записи в реестре и прочие настройки.
Обычно там сложная структура каталогов, xml файлы для отображения в среде WinRE и зачастую свой собственный UI.
В случае нашего раздела восстановления, если в WinRE выбрать пункт "Сохранить файлы и настройки", Windows все равно удаляет установленные программы и записи в реестре.
Как это все осуществить на таком более глубоком уровне я пока еще не разобрался, но если вы уже имели такой опыт, прошу поделиться им в комментариях.