- Загрузитесь с установочного диска Windows Server 2012.
- Когда увидите надпись «Press any key to boot from CD or DVD …», нажмите любую клавишу на клавиатуре.
- Выбор начальных настроек можете пропустить.
- Нажмите «Repair your computer».
- Выберите систему, которую хотите восстановить и нажмите Next.
- В диалоге выбора опций восстановления нажмите «Command Prompt»(командная строка).
Метод 1:
- Наберите
sfc /scannow
, и нажмите ENTER.
Этот метод работает, когда есть повреждения в системных файлах Windows. Файлы будут просканированы и повреждённые заменены на целые из резервного хранилища или из установочных файлов.
Повреждения файлов — повод проверить состояние жесткого диска
Метод 2:
- Наберите
Bootrec /RebuildBcd
, и нажмите ENTER.
Ищет установленные системы на всех дисках и полностью переписывает текущую конфигурацию загрузки.
Метод 3:
- Наберите
Bootrec /FIXMBR
, и нажмите ENTER.
- Наберите
Bootrec /FIXBOOT
, и нажмите ENTER.
- Наберите
Диск:\boot\Bootsect.exe /NT60 All
, и нажмите ENTER.
где Диск — имя диска, на котором расположены установочные файлы Windows Server 2012.
Эти команды перезаписывают загрузочную запись, загрузочный сектор и переписывают загрузочный код на всех разделах, которые могут быть загрузочными (первичные разделы с флагом ‘active‘)
Если вам помогла эта статья, поставьте лайк или напишите комментарий. Так я буду знать, какие из моих статей действительно полезны и о чём писать дальше.
Поддержать выход новых материалов
https://www.donationalerts.com/r/cbagpipe — в сообщении можете задать вопрос и указать контакт для ответа, прислать идею для нового контента или просто похвалить меня 😊.
Все, кто поддерживает мою работу, увековечены на отдельной странице.
При переносе ОС Windows Server 2012 R2 с одного сервера на другой, я сделал архивную копию Acronis`ом и развернул её на другом железе.
При загрузке с жёсткого диска Windows Server начал ругаться, что загрузиться не может и требует восстановиться с установочного диска.
Загрузился с флешки с Windows Server 2012 R2, загрузился в режим восстановления и открыл командную строку.
Выполнил последовательно следующие команды:
bootrec /scanos bootrec /fixmbr bootrec /fixboot bootrec /rebuildbcd
Что они делают:
Первая команда — будет вывод доступных boot-записей для ОС
Вторая и третья команда — восстанавливаем mbr и boot
Четвёртая команда — перестройка загрузочных записей после сканирования.
После этого ОС нормально загрузилась.
06 апреля 2020, 18:05
Александр
Windows
0
5735
0
Из этой категории
-
Windows не грузится после переноса на RAID
WINDOWS SERVER 2012/2016/2019: Изменение размера шрифта при подключении по RDP
Mukeydrv не работает. Обнаружена обновленная политика цифровых подписей
Проблемы с печатью из RDP
Разрешаем этому приложению вносить изменения на вашем устройстве
Очистка RDP подключения
Перенос папки пользователя и администратора на другой диск windows server
Показать скрытые устройства в диспетчере устройств Windows 7
Этому файлу не сопоставлена программа для выполнения этого действия
Исчезла служба Диспетчер печати в Windows Server 2012
Комментарии ()
Вы должны авторизоваться, чтобы оставлять комментарии.
В этой статье мы разберемся, как восстановить загрузчик Windows 10 или 11 на современном компьютере, на котором используется UEFI интерфейс вместо классического BIOS и таблица разделов диска GPT (вместо MBR). Повреждение загрузчика Windows может быть вызвано установкой второй ОС (Dual Boot — конфигурация), повреждением файловой систему, некорректным восстановлении Windows после сбоя, удалением скрытых разделов, вирусом-вымогателем и рядом других причин.
Данная статья содержит подробную пошаговую процедуру восстановления поврежденного или удаленного загрузчика ОС в Windows 11/10/8.1 и Windows Server 2022/2019/2016/2012R2 на компьютерах, которые работают в нативном (не legacy) режиме UEFI. Инструкцию можно использовать как для восстановления бинарных файлов загрузчика Windows, так и конфигурационного файла загрузчика EFI\Microsoft\Boot\BCD (в случаях, когда Windows не загружается из-за отсутствия или повреждения файла конфигурацией загрузка BCD.
Содержание:
- Не загружается Windows: Boot configuration data is missing EFI\Microsoft\Boot\BCD
- Автоматическое восстановление загрузчика Windows
- Ручное восстановление загрузчика Windows с помощью BCDBoot
Не загружается Windows: Boot configuration data is missing EFI\Microsoft\Boot\BCD
UEFI компьютер с Windows, установленной в наивном режиме, не сможет загрузиться при повреждении EFI загрузчика Windows. При попытке загрузиться с диска с повреждённым или отсутствующим EFI загрузчиком появится BSOD (синий экран смерти) с ошибкой:
The boot configuration data for your PC is missing or contains errors. File :\EFI\Microsoft\Boot\BCD Error code: 0xc000000f
или
Error code: 0xc000014c
В русской версии Windows ошибка может быть такая:
Ваш компьютер нуждается в ремонте Данные конфигурации загрузки для вашего ПК отсутствуют или содержат ошибки Файл:\EFI\Microsoft\Boot\BCD Код ошибки: 0xc000000f
Эта ошибка говорит о повреждении или даже полном удалении конфигурации загрузчика Windows — Boot Configuration Data (BCD). Если вы попытаетесь восстановить загрузчик на UEFI компьютере с помощью утилиты
bcdedit
, вы получите такую ошибку:
The boot configuration data store could not be found. The requested system device cannot be found.
Дело в том, что если Windows 10/11 установлена в нативном режиме UEFI на GPT диск, то EFI загрузчик Windows (Windows Boot Manager) хранит программу управления загрузкой и конфигурацию BCD на отдельном скрытом разделе EFI (размером 100 мб с файловой системой FAT32). Утилита bcdedit не видит этот EFI раздел, и соответственно не может управлять конфигурацией загрузчика на нем.
Если при загрузке Windows появляется только черный экран с надписью “Operating System not found”, скорее всего у вас полностью удален загрузчик Windows. Следуйте инструкции по ссылке.
Автоматическое восстановление загрузчика Windows
Процедура автоматического восстановления загрузчика, зашитая в среду восстановления Windows (WinRe), как правило, в таких случаях бессильна. Но попробовать все-же стоит:
- Загрузитесь с диска загрузочного диска, диска восстановления или установочной флешки с Windows 10 или 11;
- На экране установки нажмите кнопку Восстановление системы;
- Затем выберите пункт Поиск и устранение неисправностей -> Восстановление при загрузке и выберите ОС, загрузчик которой нужно попытаться восстановить;
- Но скорее всего результат будет отрицательный: Восстановление при загрузке не удалось восстановить компьютер
Ручное восстановление загрузчика Windows с помощью BCDBoot
Перейдем к процедуре ручного восстановления EFI загрузчика Windows на UEFI компьютере.
Для восстановления конфигурации загрузчика (BCD), вам нужно загрузить компьютер с оригинального установочного диска с Windows (диска восстановления или специально подготовленной установочной USB флешки с Windows ). После загрузки в среде восстановления нужно открыть окно командной строки: выберите Восстановление системы -> Диагностика -> Командная строка (System Restore -> Troubleshoot -> Command Prompt).
Командную строку также можно запустить, если у вас под рукой есть только установочный диск с Windows. Для этого достаточно на самом первом этапе установки Windows (при выборе языка и раскладки клавиатуры) нажать комбинацию клавиш Shift+F10 (или Shift+Fn+F10 на некоторых моделях ноутбуков).
В открывшейся командной строке выполните запустите утилиту управления дисками, набрав команду:
diskpart
Выведите список дисков в системе:
list disk
На этом этапе очень важно определить тип таблицы разделов на диске, на котором установлена Windows: MBR или GPT. Дело в том, что EFI загрузчик используется только на дисках с GPT разметкой.
Если у диска в столбце Gpt указана звездочка (
*
), тогда на диске используется таблица разделов GPT, если нет – MBR.
Если с помощью diskpart вы определили, что на вашем диске используется GPT разметка, следуйте дальнейшим шагам инструкции по восстановлению загрузчика.
Если у вас разметка MBR, тогда данная инструкция не применима к вашему компьютеру. Скорее всего у вас компьютер с BIOS, или в настройках UEFI включен режим совместимости Legacy/Compatibility Support Module/CSM.
На MBR дисках загрузчик хранится на отдельном разделе System Reserved, а не на EFI разделе (ни в коем случае не конвертируйте таблицу разделов MBR в GPT, пока не исправите загрузчик!!) Используйте другую инструкцию по восстановлению BCD загрузчика на MBR (Master Boot Record) диске.
Выберите диск, на котором установлена ваша Windows (если жесткий диск в системе один, его индекс должен быть равен 0):
sel disk 0
Выведите список томов и разделов в системе:
list partition
list volume
В нашем примере видно, что загрузочный раздел EFI имеет индекс Partition2 (он же Volume 5 с меткой Hidden). Проще всего определить EFI размер по файловой системе FAT32, размеру 100 Мб (это стандартный минимальный размер для Windows компьютеров, в редких случая размер раздела может быть). Чаще всего для него используется метка — System EFI или ESP/ EFI System Partion).
В нашем примере основной раздел, на который установлена Windows, имеет индекс volume 2, отформатирован в файловая система NTFS и ему назначена буква C:.
В вашем случае назначенная буква диске может отличаться. Это зависит, как вы загрузили свой компьютер в среде WinPE. Проще всего определить его по размеру. Если вы не уверены, нужно проверить что на этом диске есть каталог Windows. Выйдите из утилиты diskpart (команда exit) и выполните команду:
dir C:\
Убедитесь, что на этом диске есть каталоги
Windows
,
Program Files
,
Users
и прочие.
Если этих каталогов нет, значит вашему диску с Windows назначена другая буква диска. Проверьте содержимоет дисков с другими буквами.
Запомните букву диска, назначенную разделу с Windows, чуть ниже мы будем использовать ее в качестве одного из аргументов команды bcdboot.
В таблице также обязательно должен быть раздел MSR (Microsoft System Reserved) размером 16 мб в Windows 10/11 (или 128 Мб в Windows 8.1).
Назначьте скрытому EFI разделу произвольную букву диска (например, M:):
select volume 5
assign letter M:
Должна появится строка, свидетельствующая об успешном назначении буквы диска разделу EFI:
DiskPart successfully assigned the drive letter or mount point.
Завершите работу с diskpart:
exit
Перейдите в каталог с загрузчиком на скрытом разделе:
cd /d m:\efi\microsoft\boot\
В данном случае M: это буква диска, присвоенная разделу EFI чуть выше. Если каталог \EFI\Microsoft\Boot\ отсутствует
The system cannot find the path specified
), попробуйте следующие команды:
cd /d M:\Boot\
или
cd /d M:\ESD\Windows\EFI\Microsoft\Boot\
На этом этапе многие рекомендуют выполнить следующие команды, которые должны перезаписать загрузочную запись раздела, найти установленные Windows и добавить их в BCD:
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd
или даже:
bootrec /FixMbr
(восстановление MBR записи для GPT диска выглядит странным)
Все эти команды применимы только для дисков с MBR. Если ваш компьютер загружается в UEFI режиме, то на нем обязательно используется таблица разделов GPT (как раз наш случай). Поэтому при запуске команд
bootrec
вы увидите ошибку:
access is denied
Для исправления загрузочных записей на EFI разделе нужно использовать утилиту
BCDBoot
, а не bootrec.
Утилита BCDBoot позволяет восстановить файлы загрузчика на EFI разделе, скопировав их системного каталога на разделе с Windows. Конфигурация загрузчика BCD пересоздается с помощью шаблона %WINDIR%\System32\Config\BCD-Template.
С помощью команды
attrib
снимите атрибуты скрытый, read-only и системный с файла BCD:
attrib BCD -s -h -r
Удалите текущий файл с конфигурацией BCD, переименовав его (так вы сохраните старую конфигурацию в качестве резервной копии):
ren BCD BCD.bak
С помощью утилиты bcdboot.exe нужно скопировать из системного каталога критические файлы среды загрузки UEFI в загрузочный EFI раздел и пересоздать конфигурацию загрузчика в хранилище BCD:
bcdboot C:\Windows /l en-us /s M: /f ALL
где,
- C:\Windows – путь к корневому системному каталогу Windows на диске (это ваш диск, на который была установлена ваша Windows, мы узнали его ранее с помощью команды diskpart);
- /f ALL – означает, что необходимо скопировать файлы среды загрузки Windows, включая файлы для компьютеров с UEFI и BIOS (теоретическая возможность загружаться на EFI и BIOS системах). Чтобы скопировать только EFI загрузчик, используйте команду /f UEFI;
- /l en-us — определяет языковой стандарт, который используется при инициализации хранилища BCD. По умолчанию используется en-US — английский язык (США);
- /s M: — скопировать файлы EFI загрузчика на указанный раздел;
- /с – эта новая опция BCDBoot в Windows 10, которая позволяет перезатереть имеющиеся загрузочные записи при создании нового хранилища (в том числе debugsettings). Используйте этот параметр, чтобы игнорировать старые настройки и создать полностью чистую конфигурацию BCD загрузчика;
- /v – используется для включения режима вывода подробной информации BCDBoot..
Теперь, если выполнить команду bcdedit, вы увидите следующую картину:
В секции диспетчера загрузки Windows (Windows Boot Manager) должна появится запись, указывающая на полный путь к файлу управления загрузкой UEFI. В этом примере он находится на разделе 2 (
partition=\Device\HarddiskVolume2
), путь
\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
.
Windows Boot Manager -------------------- identifier {bootmgr} device partition=\Device\HarddiskVolume2 path \EFI\Microsoft\Boot\bootmgfw.efi description Windows Boot Manager locale en-US inherit {globalsettings} bootshutdowndisabled Yes default {CURRENT} resumeobject {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} displayorder {default} toolsdisplayorder {memdiag} timeout 30 Windows Boot Loader ------------------- identifier {current} device partition=C: path \Windows\system32\winload.efi description Windows Server 10 locale en-US inherit {bootloadersettings} recoverysequence {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} recoveryenabled Yes isolatedcontext Yes allowedinmemorysettings 0x15000075 osdevice partition=C: systemroot \Windows resumeobject {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
В секции Windows Boot Manager должен быть указан путь к EFI разделу (
=\Device\HarddiskVolume2
), путь к файлу управления загрузкой (bootmgfw.efi). В секции Windows Boot Loader указан раздел Windows и путь к EFI загрузчику Windows (
\Windows\system32\winload.efi
). При включении компьютер передаст управление диспетчеру загрузки EFI, который запустит загрузчик Windows.
Возможные ошибки:
Перезагрузите компьютер, отключите загрузочный диск. Если вы все сделали правильно, в выборе устройств загрузки должен появиться пункт Windows Boot Manager в котором можно выбрать загрузку нужной операционной системы. Ваш EFI загрузчик и конфигурация BCD успешно восстановлены!
В некоторых случаях после восстановления BCD загрузчика, при загрузке Windows появляется ошибка
BAD SYSTEM CONFIG INFO
. Чтобы исправить ошибку:
Убедитесь, что вы не вносили недавно изменения в настройки UEFI
Загрузитесь с установочной/загрузочной флешки и измените конфигурацию загрузчика командами:
-
bcdedit /deletevalue {default} numproc
-
bcdedit /deletevalue {default} truncatememory
Окончание истории (почти).
Чтоб не убить рабочий сервер, все эксперименты проводились на виртуальной машине. Сэмулировал текущую ситуацию, установил на ВМ Server 2012, потом добавил диск 2, поставил вторую Server 2012, естественно раздел EFI на новом диске отсутствует, после этого удалил 1 диск. Все, сервер не грузится.
Решил скопировать существующие разделы с диска 1 (помимо раздела с ОС были еще 2 раздела на 300М ntfs и efi 100M fat32) на новый диск, подключил диск 1, загрузился в виндовс, с помощью AOMEI Partition Assistant, ужал раздел с ОС на 400М и скопировал те 2 раздела на новый диск, после этого отключаю диск 1 и виндовс (новый) удачно стартует! аллилуя!
Но такой метод, как оказалось, имеет ряд недостатков: bcdedit вываливается с ошибкой «не найдено системное устройство», bootrec /rebuildbcd находит ОС но при попытке добавить запись в BCD вываливается с той же ошибкой, в виндовс, в параметрах запуска ОС, список ОС пустой.
Ну ок, загружаюсь в консоль восстановления, в diskpart удаляю раздел efi, создаю заново, форматирую и присваиваю букву диску
Code | ||
|
дальше копируем загрузочные файлы с установленной ОС
Code | ||
|
после этого все пришло в норму, bcdedit и bootrec /rebuildbcd отрабатывает корректно, запись «Windows Server 2012 R2» присутствует в списке ОС в параметрах загрузи виндовс.
Резюме: необходимо на диске выделить 100М места для efi раздела (можно с помощью оснастки управления дисками на другом ПК, или на этом же ПК, но загрузившись со второй системы), в консоли восстановления с помощью diskpart создать раздел efi и скопировать туда загрузочные файлы командами выше.
ЗЫ: на реальном сервере конечно ссыкотно производить все это, на следующей неделе попробую, пока в памяти свежо.
ЗЫЫ: этот метод применим не только для windows 2012 server, но и для вех виндовс, начиная по моему с windows 7 и их серверных редакций.