Загрузиться в WinRE может быть полезно для быстрого ремонта установленной Windows: восстановление запуска системы, восстановление из образа, откат к точке восстановления, изменение параметров загрузки, наконец, доступ к командной строке, а значит возможность делать много разных интересных вещей, типа format C:
.
Кроме того, можно запускать regedit.exe и другие системные программы, и даже некоторое стороннее ПО, если конечно для работы оно не требует запущенной "нормальной" Windows.
Альтернативным решением конечно является загрузка с установочного DVD или ISO-образа, но запуск WIM-образа Среды восстановления напрямую будет происходить быстрее — он весит гораздо меньше, чем целый DVD.
К тому же, на одной USB-флешке можно расположить несколько WIM-образов, например, 2 образа WinRE разной разрядности (x32 + x64), и другие образы с "ремонтных" DVD. У меня таким же образом загружается AntiWinLocker, и это без необходимости иметь отдельный ISO с ним.
В общем, возможность загрузить WIM-образ может быть очень полезной. Поэтому перейдем к делу.
На самом деле лично я создаю загрузочные флешки на основе GRUB4DOS, но сегодня рассмотрим менее альтернативный способ, чтобы обойтись только стандартными средствами ОС Windows.
Что понадобится
1) сам образ winre.wim, получить который можно двумя способами:
— из установленной системы, в Win7 он находится в C:\Recovery\recovery-guid (где папка recovery-guid — это набор букв/цифр); в Win8 и выше — в С:\Recovery\WindowsRE.
Тогда этому мелкому разделу нужно присвоить букву в Управлении дисками.
Более сложный случай: папка \Recovery находится на скрытом OEM разделе восстановления, которому уже просто так не присвоить букву, перед этим нужно сменить его тип.
Делается это при помощи Командной строки, запущенной от имени Администратора, и DiskPart:
diskpart DISKPART> list disk DISKPART> select disk 0 DISKPART> list partition DISKPART> select partition 2 DISKPART> detail partition DISKPART> set id = 07 override DISKPART> assign DISKPART> exit |
(disk 0
и partition 2
указаны для примера, см. реальные номера нужного диска/раздела в выводе команд list
; при помощи detail
посмотрите и запомните ID раздела до изменения, чтобы вернуть его назад)
ВАЖНО: winre.wim, скопированный из раздела восстановления, созданного производителем компьютера или ноутбука, может отличаться от стандартного и не иметь нужных функций!
Поэтому лучше взять его
— с установочного DVD из образа \sources\install.wim — внутри образа файл находится по пути \System32\Recovery.
md C:\wim rem в Win7: dism /Mount-Wim /WimFile:C:\Recovery\recovery-guid\winre.wim /Index:1 /MountDir:C:\wim /ReadOnly dism /Mount-Wim /WimFile:D:\sources\install.wim /Index:1 /MountDir:C:\wim /ReadOnly dism /Unmount-Wim /MountDir:C:\wim /Discard rem в Win8/8.1/10: dism /Mount-Image /ImageFile:С:\Recovery\WindowsRE\winre.wim /Index:1 /MountDir:C:\wim /ReadOnly dism /Mount-Image /ImageFile:D:\sources\install.wim /Index:1 /MountDir:C:\wim /ReadOnly dism /Unmount-Image /MountDir:C:\wim /Discard |
или открыть последней версией 7-Zip.
2) вспомогательный файл boot.sdi — тоже находится внутри winre.wim или install.wim по пути \Windows\Boot\DVD\PCAT, или на DVD в \boot.
3) программа bootsect.exe для того, чтобы сделать флешку загрузочной — искать также в WIM в \Windows\System32, или на DVD в \boot.
Форматирование флешки
Обычно этого делать не нужно, и флешки, как правило, уже имеют один раздел отформатированный в FAT32 (не смотря на то, что многие руководства по созданию загрузочных флешек рекомендуют отформатировать в NTFS, это не обязательно), который является активным (загрузочным). А может и не являться. :-)
Поэтому, если ваша флешка не грузится, отформатируйте её так:
diskpart DISKPART> list disk DISKPART> select disk 2 DISKPART> clean DISKPART> create partition primary DISKPART> select partition 1 DISKPART> active DISKPART> format FS=FAT32 DISKPART> assign DISKPART> exit |
(disk 2
указан для примера, см. реальный номер вашей флешки в предыдущей команде, иначе можно отформатировать жёсткий диск; используйте format FS=NTFS
, если вам так больше нравится)
Создание загрузочного сектора
bootsect /nt60 E: /mbr |
(где E: — буква, под которой смонтирована флешка)
Установка загрузчика bootmgr
Опять же, есть 2 способа: с использованием установочного DVD и без него.
1) Сначала рассмотрим способ только при помощи имеющейся системы:
bcdboot C:\Windows /l ru-ru /s E: |
Необходимо помнить про разрядность версии ОС!
Если вы создаёте флешку с x32-версией WinRE для лечения x32-систем, то и исходной системой, откуда копируется загрузчик при помощи bcdboot.exe, должна быть именно x32. Про x64, соответственно, тоже самое.
Но плюс в том, что при данном способе вы можете иметь на одной флешке хоть 10 версий WinRE — от всех систем (Windows Vista/7/8/8.1/10 + аналогичные серверные версии) и любой разрядности. Одновременно. Без регистрации и СМС. :-)
2) Если же использовать DVD, то необходимо скопировать следующие папки и файлы (и конечно же при ручном копировании версия Windows не важна!):
\boot\fonts\chs_boot.ttf \boot\fonts\cht_boot.ttf \boot\fonts\wgl4_boot.ttf \boot\bcd \bootmgr |
(это — минимальный набор необходимых файлов; их можно вручную скопировать и из системы, с диска C: — БЕЗ использования bcdboot.exe, которая скопирует больше файлов)
От того, какой вы возьмёте файл bootmgr, будет зависеть, каким будет загрузчик: текстовым, с управлением клавиатурой, либо графическим, с поддержкой мыши.
Win7 использует текстовый режим, а Win8/8.1/10 — графический.
Текстовый вариант, естественно, загружается быстрее.
3 файла шрифта выше — это минимальный набор для русского языка для bootmgr из Windows 7, к тому же, эти файлы опциональны — без них шрифт будет более простым.
Более новые версии Windows используют больше файлов шрифтов.
Я рекомендую использовать bootmgr из Windows 7, а образ winre.wim из Windows 10, т.к. среда восстановления теоретически совершенствуется от версии к версии.
Откуда брать файлы: из установленной системы или с DVD — значения не имеет.
Создание загрузочной записи
cd /d E:\boot bcdedit /store bcd /copy {default} /d "Windows Recovery Environment" bcdedit /store bcd /set {new-guid} device ramdisk=[boot]\boot\winre.wim,{7619dcc8-fafe-11d9-b411-000476eba25f} bcdedit /store bcd /set {new-guid} osdevice ramdisk=[boot]\boot\winre.wim,{7619dcc8-fafe-11d9-b411-000476eba25f} bcdedit /store bcd /set {new-guid} locale ru-RU |
(где {new-guid} — GUID новой загрузочной записи, см. в выводе первой команды)
После последовательного выполнения всех команд загрузочная запись будет создана, однако её содержание будет немного отличаться, в зависимости от того, откуда был взят файл-хранилище BCD.
Это связано с тем, что за основу для создания новой записи берутся разные исходные записи из хранилища: для запуска программы установки, или для загрузки Windows.
Полный листинг рабочей загрузочной записи, взятой с DVD Windows 7 x32:
Загрузка Windows ------------------- идентификатор {c53853d4-c6c5-11e5-af22-0018f368b2c9} device ramdisk=[boot]\boot\winre.wim,{7619dcc8-fafe-11d9-b411-000476eba25f} path \windows\system32\boot\winload.exe description Windows Recovery Environment locale ru-RU inherit {bootloadersettings} osdevice ramdisk=[boot]\boot\winre.wim,{7619dcc8-fafe-11d9-b411-000476eba25f} systemroot \windows detecthal Yes winpe Yes ems Yes |
На основе этой записи можно точно так же создавать другие, например для загрузки winre.wim из x64-версии Windows, всего лишь меняя путь до WIM-файлов в параметрах device
и osdevice
.
Копирование WIM-образа
Скопируйте файлы winre.wim и boot.sdi в папку \boot на флешке.
Папка может быть любой (тогда скорректируйте пути в командах bcdedit выше), но оба файла должны быть в одной и той же папке.
Для загрузки нескольких образов достаточно одного файла boot.sdi.
Загрузка с флешки
Не забудьте настроить BIOS на загрузку с USB, и через некоторое время вы окажетесь в среде восстановления Windows.
P.S. Комментаторы на Geektimes подсказывают, что этот способ не работает на компьютерах и планшетах с UEFI.
Но проверить это (и может модернизировать эту инструкцию) мне не на чем ввиду отсутствия подходящего устройства.
Дополнения про извлечение образов из скрытых разделов и про монтирование их в систему при помощи DISM.
Последние комментарии