Рассмотрим общий вопрос: Windows 7 не загружается. И в защищенном режиме тоже. Что делать, как определить причину и восстановить работоспособность?
Можно переставить жесткий диск на исправный комп и посмотреть что к чему. Но второй машины может и не быть, да и просто неудобно. Реестр приходится интерпретировать вручную, вернуться на точку отката невозможно и т.д.
Проще загрузится с CD, который содержит минимальную ОС и набор утилит. Существует множество сборок как на основе Linux, так и на основе Windows XP. Не будем разбирать преймущества и недостатки каждой - это тема для многотомного романа, а не для форума. Скажу только, что наиболее удобным и функциональным решением является Emergency Repair Disk Commander (ERD).
На текущий момент существуют версии 2003, 2005, 6.0, 6.5, 7.0. Для работы с XP используйте 2005, для Vista 6.5, для Windows 7 - 7.0.
ERD Commander является основной утилитой Diagnostic and Recovery Toolset (DaRT), которая входит в Microsoft Desktop Optimization Pack (MDOP). В MDOP 2011 R2 содержаться четыре версии ERD 2005, 6.0, 6.5, 7.0.
Очень удобно когда все они находятся на одном CD, а еще лучше на флэшке. Способу объединения нескольких версий ERD на одном носителе и посвящена данная тема.
Шаг 1
Опубликовано пользователем manager
Начнем с MDOP 2011, где взять не объясняю. Считаем, что он у нас есть. В его состав входят: ERD 2005, ERD версий 6.0, 6.5 и 7.0 в 32 и 64 вариантах. Следует помнить, что 32-битный ERD не поймет 64-битную ОС и наоборот.
Зачем нужна версия 6.0 я не знаю, потому из участников нашей флэшки ее исключаем. Все версии лежат в виде MSI файлов. Устанавливаем их по очереди, для этого понадобятся две Windows 7, 32 и 64-битная.
С помощью каждой установки формируем ISO файл. В процессе формирования можно добавить дополнительные драйвера и программы, которые будут доступны в ERD. По окончании у нас должно получится 5 файлов: ERD2005.ISO, ERD65_32.ISO, ERD65_64.ISO, ERD70_32.ISO, ERD70_64.ISO. Эти имена будут использоваться в последующих шагах.
Шаг 2
Опубликовано пользователем manager
Подготовим флэшку. Наша задача создать раздел, отформатировать его в NTFS и сделать загрузочным (активным). Воспользуемся уже установленной ранее Windows 7. А именно утилитой DISKPART. После запуска попадаем в интерпретатор команд. Смотрим список дисков LIST disk, находим флэшку и выбираем ее командой SELECT disk. Создаем раздел командой CREATE partition, затем на этом разделе создаем том - CREATE volume. Выбираем том командой SELECT volume и форматируем его командой FORMAT fs=ntfs. Выбираем раздел - SELECT partition и помечаем его как загрузочный - ACTIVE.
Удалить все существующие тома и разделы на флэшке удобно командами SELECT disk и CLEAN. Команда CLEAN all заполнит весь диск побайтно нулями.
Теперь записываем на флэшку нужные нам файлы из подготовленных на шаге 1 ISO образов. Из ERD2005.ISO нам нужен каталог i386, копируем его в корень флэшки и переименовываем в MININT. Кроме этого в корень нужно скопировать NTDETECT.COM из этого же каталога. Далее. За основу возьмем 32-битный ERD 7.0. Копируем все содержимое ERD70_32.ISO в корень флэшки. Из остальных ISO нам нужны только BOOT.WIM файлы, находящиеся в каталоге SOURCES. Действуем следующим образом, из ERD70_64.ISO копируем файл BOOT.WIM в каталог SOURCES на флэшке. Имя при копировании изменям на ERD70_64.WIM. Таким же образом поступаем с ERD65_32.ISO и ERD65_64.ISO. В итоге в корне флэшки у нас получилась следующая структура: (DIR) boot (DIR) EFI (DIR) sources (DIR) MININT bootmgr ntdetect.com Каталог SOURCES содержит переименованные BOOT.WIM из соответствующих ISO: BOOT.WIM - ERD 7.0 32 бита ERD70_64.WIM - ERD 7.0 64 бита ERD65_32.WIM - ERD 6.5 32 бита ERD65_64.WIM - ERD 6.5 64 бита
Шаг 3
Опубликовано пользователем manager
После шага 2 мы получили работоспособную загрузочную флэшку с ERD 7.0 для 32-битной Windows 7.
Чтобы загружать остальные WIMы придется поработать с BCDEDIT.EXE. Утилита позволяет редактировать Boot Configuration Data файлы, которые в Windows 7 и Server 2008 пришли на смену BOOT.INI. BCD файл представляет из себя куст реестра и может быть подключен и отредактирован в REGEDIT. Но правильнее будет пользоваться BCDEDIT.
На нашей флэшке (например диск G:) уже находится BCD файл он так и называется BCD и располагается в каталоге BOOT. В нем уже имеются все необходимые для корректной загрузки записи. Просмотреть их можно BCDEDIT.EXE /store g:\boot\bcd /enum all. В разделе Device options находится GUID ramdisksdidevice, который понадобится нам в дальнейшем. Запомним его, например, {7619dcc8-fafe-11d9-b411-000476eba25f}.
Для загрузки дополнительных WIM (начнем с ERD70_64.WIM) нам нужно создать запись Windows Boot Loader: BCDEDIT.EXE /store g:\boot\bcd /create /application osloader. При успешном создании команда возвратит нам GUID созданной записи. Запомним его, например, {2d61bad9-312f-11e1815d-7a8020000200}.
В созданной записи заполняем атрибуты:
description - "ERD 7.0 64 bit"
inherit = {bootloadersettings}
device - ramdisk=[boot]sources\ERD70_64.WIM,{7619dcc8-fafe-11d9-b411-000476eba25f}
osdevice - ramdisk=[boot]sources\ERD70_64.WIM,{7619dcc8-fafe-11d9-b411-000476eba25f}
path - \windows\system32\boot\winload.exe
locale - EN-us
systemroot - \windows
detecthal - yes
winpe - yes
ems - yes
Атрибуты заполняются командой BCDEDIT.EXE /store g:\boot\bcd /set {2d61bad9-312f-11e1815d-7a8020000200} атрибут значение. Например,
BCDEDIT.EXE /store g:\boot\bcd /set {2d61bad9-312f-11e1815d-7a8020000200} description "ERD 7.0 64 bit"
После заполнения атрибутов надо добавить запись в меню загрузки. BCDEDIT.EXE /store g:\boot\bcd /displayorder {2d61bad9-312f-11e1815d-7a8020000200} /addlast.
Проделываем аналогичные манипуляции для ERD65_32.WIM и ERD65_64.WIM. Создаем записи, запоминаем GUID, заполняем атрибуты и добавляем в меню.
Шаг 4
Опубликовано пользователем manager
Последний по списку, но не по значению - ERD 2005. Ни версия 6.5, ни 7.0 не умеет полноценно работать с XP. Для загрузки legacy ОС - так Микрософт называет XP, в BCD предусмотрен специальный механизм.
Создаем запись Windows Legacy OS Loader. Команда BCDEDIT.EXE /store g:\boot\bcd /create {ntldr}. В созданной записи нужно заполнить только 3 атрибута.
description - "ERD 2005"
device - boot
path - \minint\setupldr.bin
Заполняем их командой BCDEDIT.EXE /set (см. шаг 3) используя идентификатор записи {ntldr}
Добавляем запись в меню BCDEDIT.EXE /store g:\boot\bcd /displayorder {ntldr} /addlast.
Флэшка готова к использованию.