Shumaher’s_Blog@AlexZ.me

— yet another stupid personal weblog

Загрузка Windows Recovery Environment (или любого WIM-образа) с USB flash

Windows Recovery Environment

Загрузиться в 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 может не существовать, тогда она находится на специальном загрузочном разделе Windows "Зарезервировано системой", который имеет размер 100-500 Мб и расположен на диске до основного системного раздела С:\.
Тогда этому мелкому разделу нужно присвоить букву в Управлении дисками.

Более сложный случай: папка \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.

WIM-образы можно смонтировать в систему при помощи DISM:

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, которая скопирует больше файлов)

Отступление про разные версии Windows

От того, какой вы возьмёте файл 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.
Но проверить это (и может модернизировать эту инструкцию) мне не на чем ввиду отсутствия подходящего устройства.


UPD 02.02.2016, 15:20:

Дополнения про извлечение образов из скрытых разделов и про монтирование их в систему при помощи DISM.

VN:F [1.9.17_1161]
Rating: 0.0/5 (0 votes cast)
Оставьте свой комментарий




OpenID WordPress.com Yahoo

Это не спам.