Uefi windows boot manager

Восстановление EFI загрузчика в Windows 10

Uefi windows boot manager

WinITPro.ru  /  Windows 10  /  Windows Server 2016  /  Восстановление EFI загрузчика в Windows 10

06.12.2020 itpro Windows 10, Windows Server 2016 комментариев 188

В этой статье мы разберемся, как восстановить загрузчик Windows 10 на современном компьютере, на котором используется интерфейс UEFI вместо BIOS и таблица разделов диска GPT (вместо MBR).

Повреждение загрузчика Windows может быть вызвано установкой второй ОС (Dual Boot — конфигурация), некорректными действиями “специалиста” при восстановлении системы после сбоя, удалением “лишних” данных на скрытых разделах, вирусом-вымогателем и рядом других причин.

Ошибка загрузки The boot configuration data for your PC is missing: EFI\Microsoft\Boot\BCD

Компьютер с UEFI Windows 10, установленной в нативном режиме, при повреждении EFI загрузчика Windows не сможет загрузится. При этом при попытке загрузки появляется 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 установлена в нативном режиме UEFI на GPT диск, то EFI загрузчик Windows 10 (Windows Boot Manager) хранит программу управления загрузкой и конфигурацию BCD на отдельном скрытом разделеEFI (размером 100 мб с файловой системой FAT32). Утилита bcdedit не видит этот EFI раздел, и соответственно не может управлять конфигурацией загрузчика на нем.

Автоматическое восстановление загрузчика Windows

Процедура автоматического восстановления загрузчика, зашитая в среду восстановления Windows (WinRe), как правило, в таких случаях бессильна. Но попробовать все-же стоит:

  1. Загрузитесь с диска загрузочного диска, диска восстановления или установочной флешки с Windows 10;
  2. На экране установки нажмите кнопку Восстановление системы;
  3. Затем выберите пункт Поиск и устранение неисправностей ->Восстановление при загрузке и выберите ОС, загрузчик которой нужно попытаться восстановить;
  4. Но скорее всего результат будет отрицательный: Восстановление при загрузке не удалось восстановить компьютер

Ручное восстановление загрузчика Windows с помощью BCDBoot

Перейдем к процедуре ручного восстановления EFI загрузчика Windows на компьютере с UEFI.

Для восстановления конфигурации загрузчика (BCD), вам нужно загрузить компьютер с оригинального установочного диска с Windows (диска восстановления или специально подготовленной загрузочной флешки).

После загрузки в среде восстановления нужно открыть окно командной строки: выберите Восстановление системы -> Диагностика -> Командная строка (System Restore -> Troubleshoot -> Command Prompt).

В открывшейся командной строке выполните запустите утилиту управления дисками, набрав команду:

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 (его можно определить по размеру 100 Мб, и файловой системе FAT32, чаще всего его метка — System EFI) имеет индекс Partition2 (он же Volume 5 с меткой Hidden).

Основной раздел с установленной системой Windows (это может быть, как Windows 10, так и Windows 8.1) — volume 2 с файловой системой NTFS.

 Также обязательно должен быть MSR (Microsoft System Reserved) раздел размером 16 мб в Windows 10 ( или 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\

С помощью команды attrib снимите атрибуты скрытый, read-only и системный с файла BCD:

attrib BCD -s -h -r

Удалите текущий файл с конфигурацией BCD, переименовав его (так вы сохраните старую конфигурацию в качестве резервной копии):

ren BCD BCD.bak

С помощью утилиты bcdboot.exe нужно пересоздать хранилище BCD, скопировав файлы среды загрузки UEFI в загрузочный раздел из системного каталога:
bcdboot C:\Windows /l en-us /s M: /f ALL
где,

  • C:\Windows – путь к каталогу на диске, на котором установлена ваша Windows 10;
  • /f ALL – означает что необходимо скопировать файлы среды загрузки Windows, включая файлы для компьютеров с UEFI или BIOS (теоретическая возможность загружаться на EFI и BIOS системах). Чтобы скопировать только EFI загрузчик, используйте команду /f UEFI./l en-us — тип системной локали. По умолчанию используется en-us — английский язык (США)
  • – эта новая опция BCDBoot в Windows 10, которая позволяет перезатереть имеющиеся загрузочные записи при создании нового хранилища (в том числе debugsettings). Используйте этот параметр, чтобы игнорировать старые настройки и создать полностью чистую конфигурацию BCD загрузчика;
  • /v – используется для включения режима вывода подробной информации BCDBoot.

Теперь, если выполнить команду bcdedit, вы увидите следующую картину:

В секции диспетчера загрузки Windows (Windows Boot Manager) должна появится запись, указывающая на полный путь к файлу управления загрузкой UEFI. В этом примере он находится на разделе 2 (partition=\Device\HarddiskVolume2), путь \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI.

Возможные ошибки:

  • BFSVC Error : Could not open the BCD template store.  status – [c000000f] – проверьте правильность введенной команды. Возможно у вас установлена локализованная версия Windows. В этом случае нужно правильно указать код языка системы (local language code). Утилита bcdboot копирует файлы шаблонов BCD из каталога \Windows\System32\Config. Если BCD шаблоны в этой папке повреждены или удалены, попробуйте проверить целостность системных файлов в офлайн режиме с помощью утилиты sfc (понадобится установочный диск с Windows – диск D:):  sfc /scanow /OFOOTDIR=C:\ /OFFWINDIR=D:\WINDOWS
  • BFSVC Error: Error copying boot files Last Error = 0x570 – попробуйте выполнить проверку диска с помощью команды CHKDSK M: /F
  • BFSVC Error: Failed to set element application device.  Status = [c000000bb] – проверьте с помощью chkdsk.exe разделы с EFI и Windows 10. Проверьте, что снят атрибут скрытый и системный у файла BCD. Удалите его: attrib -s -h \EFI\Microsoft\Boot\BCDdel \EFI\Microsoft\Boot\BCD
  • Failure when initializing library system volume – проверьте, что вы используете правильный FAT32 раздел с EFI (возможно у вас из несколько) .

Перезагрузите компьютер, отключите загрузочный диск. Если вы все сделали правильно, в выборе устройств загрузки должен появиться пункт Windows Boot Manager в котором можно выбрать загрузку нужной ОС. Ваш EFI загрузчик и конфигурация BCD успешно восстановлены!

Предыдущая статья Следующая статья

Источник: https://winitpro.ru/index.php/2014/03/20/repair-bootloader-windows-8-uefi/

Что такое Boot Manager в Windows, и как от него избавиться

Uefi windows boot manager

Далеко не все пользователи хорошо разбираются в вопросах настройки операционной системы, автором которой выступает известная корпорация Microsoft.

Потому для множества обычных юзеров столкнуться с чёрным экраном с какими-то непонятными строками при загрузке ОС на компьютере или ноутбуке равносильно пережитому стрессу. Они тут же начинают паниковать, не понимая, что произошло и как это исправить.

Часто появление ранее не виданных чёрных экранов воспринимается как поломка компьютера, требующая незамедлительного ремонта и покупки дорогостоящих компонентов на замену.

Но не стоит спешить с выводами. Некоторые непривычные для обычной загрузки Windows окна появляются по вполне безобидным причинам. Это можно отнести и к Windows Boot Manager.

Что это такое

Первым делом нужно понять, что это за Boot Manager на ноутбуке или компьютере и почему он появляется.

Тут речь идёт о специальном инструменте, который отображает окно с вариантами выбора операционной системы при загрузке компьютера.

Это унифицированный клиент в ОС Windows, который отвечает за загрузку операционной системы. Фактически именно он предлагает пользователю выбрать, какую именно модификацию или версию операционки следует загрузить. В общих чертах это позволяет понять, что же значит Boot Manager и какие функции он выполняет на компьютерах с операционной системой Windows.

При этом есть одна важная особенность. Раньше этот Бут Менеджер отвечал исключительно за то, чтобы предлагать пользователю на выбор загружать предпочтительную ОС. Актуально это было для тех случаев, когда на компьютере устанавливалось несколько операционных систем.

Это довольно распространённое явление, когда на одном ПК или ноутбуке одновременно стоят ОС Windows 7, Windows 8, Windows 10 или же более ранние версии. Обусловлено такое решение тем, что ряд программ работают с одной ОС, но не запускаются на других поколениях операционок.

Чтобы устранить этот недостаток, на комп ставится 2 операционные системы, а иногда и больше.

Но с течением времени функционал этого менеджера загрузки несколько изменился. В частности, его превратили в инструмент для загрузки ядра системы после того, как пройдёт начальная проверка компонентов железа через BIOS и UEFI. После чего управление передаётся уже на операционную систему.

При загрузке Windows в обычном режиме, что особенно актуально для 10 поколения этой ОС, на мониторе часто появляется экран для выбора. Причём пользователю предлагается назначить старт ОС либо перейти к инструментам для устранения неполадок, связанных с системой. Именно за это и отвечает Boot Manager.

Вопрос о том, что это такое и для чего используется, во многом решён. Но всё равно пользователи порой не знают, как устранить проблемы и ошибки, связанные с этим менеджером загрузок ОС.

Какие бывают загрузчики

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

Boot Manager считается стандартным загрузчиком, который реализован в виде исполнительных файлов и системных процессов. Работает исключительно при старте операционки, давая пользователю возможность выбрать конкретную версию и модификацию, если на компьютере установлено 2 и более ОС.

Это актуально и для случаев, когда на ПК или ноутбуке применяются виртуальные машины. То есть на старте пользователю даётся возможность выбрать, какую конкретно ОС ему требуется загрузить и запустить.

Если это операционные системы не из семейства Windows, тогда тут применяются уже другие загрузчики. В их числе BootX, Silo, Lilo и пр. Они применяются на ОС MacOS, Linux и других платформах.

Для Windows можно задействовать и другие загрузчики. Они устанавливаются с помощью настроек первичной системы, то есть BIOS. Это рациональное решение в тех ситуациях, когда на компьютере установлены разные операционные системы от различных производителей. То есть в рамках одного ПК или ноутбука могут быть использованы одновременно ОС Windows, Linux, Solaris и пр.

Распространённые ошибки

Столкнувшись с Boot Manager, у многих пользователей возникает закономерный вопрос о том, что делать дальше. На самом деле ошибка Boot Manager в Windows не всегда страшная и критичная. Многое зависит от конкретных обстоятельств её появления. Сразу же впадать в панику и искать номера сервисных центров по ремонту компьютерной техники не стоит.

Часто юзеры задаются вопросами о том, как самостоятельно отключить в системе Windows этот загрузчик Boot Manager. Это можно сделать, причём в БИОСе. Но торопиться пока не стоит.

Бут Менеджер, как служба-загрузчик, также может сталкиваться с ошибками и сбоями во время работы. Довольно часто пользователи наблюдают картину в виде чёрного экрана, на котором прописывается сообщение вроде «Bootmgr is missing».

Пока ничего страшного не произошло.

Если говорить о причинах сбоя настроек в Boot Manager для Windows, то их несколько. Сама настройка сбивается, либо её требуется настроить заново, если происходят ошибки с жёстким диском либо повреждается сам менеджер загрузки операционной системы. Также страдают загрузочные записи и секторы.

Тут важно ещё учитывать, что исправить ошибки обычно удаётся 2 способами:

  1. Простой. Не предполагает использования сторонних решений. Нужно лишь выполнить несколько действий.
  2. Сложный. Здесь уже в ход идут съёмные носители, через которые осуществляется запуск системы и вызываются необходимые командные строки.

Насколько тому или иному пользователю повезёт, зависит от конкретной ситуации.

Первостепенные действия

Для начала нужно понять, что необходимо делать в первую очередь, когда возник сбой в загрузчике Boot Manager на ОС Windows.

Столкнувшись с такой проблемой, для начала стоит выполнить несколько сравнительно простых действий:

  1. Наиболее простым решением, когда загрузка не произошла по причине кратковременного нарушения или случайного сбоя, является банальная перезагрузка. Сделать это можно сочетанием клавиш, либо же кнопкой Reset на системном блоке или ноутбуке.
  2. Если этот метод не сработал и при повторном запуске ситуация повторяется, стоит попробовать выполнить загрузку, используя последнюю удачную версию.
  3. Альтернативой предыдущему пункту является запуск через режим Safe Mode.
  4. Затем открывается командная консоль для проверки жёсткого диска на возможное наличие ошибок. Для этого требуется прописать команду chkdsk /x/f/r, либо её иные варианты, в зависимости от наименования диска.

Только тут важно понимать, что встроенный инструмент проверки, доступный в ОС Windows, высокой степенью эффективности не отличается. Потому порой приходится воспользоваться альтернативными решениями.

Анализ состояния системных компонентов

Прежде чем убрать или удалить загрузчик Boot Manager в Windows, стоит выполнить ещё несколько действий. Препятствием для загрузки могут выступать ошибки компонентов системы. В том, как их проверить, разобраться не сложно.

После выполнения описанных действий нет никаких гарантий, что загрузчик начнёт нормально работать. Потому на следующем этапе выполняется проверка всех системных компонентов.

Открывается командная строка, где и прописывается стандартная команда. Выглядит она так sfc / scannow. Делать это можно в режиме обычной загрузки ОС, либо при использовании оптических дисков и накопителей USB с операционкой.

Если есть возможность запустить систему, не используя съёмные носители, компьютер лучше запускать, используя имя администратора.

Ошибки диска

Намного хуже, когда появляются ошибки диска. Когда проверка предыдущим методом не даёт результата, пользователи начинают переживать, поскольку не знают, что им делать дальше.

При наличии программных ошибок на жёстком диске правильным решением будет воспользоваться утилитой типа Victoria и просканировать систему. Причём этот инструмент объективно является одним из лучших.

Альтернативой выступает HDD Regenerator. Применяется в тех ситуациях, когда диск окончательно посыпался.

Эта программа, как утверждают разработчики, способна восстановить жёсткий диск, используя метод перемагничивания.

Использование командной консоли

Всё описанное выше касается довольно сложных ситуаций. Но зачастую справиться с проблемой можно куда более простыми и действенными методами.

Одним из таких решений является восстановление загрузки с использованием определённых кодов через командную консоль. При этом загружаться система будет через съёмный носитель.

Здесь потребуется воспользоваться инструментом Bootrec.exe. Для него, используя пробел и символ /, прописываются следующие команды:

  • FixMbr, справляется с ошибками загрузчика, устраняет проблемы записей и секторов;
  • FixBoot, выполняет аналогичные функции;
  • RebuildBcd, позволяет перезаписать всю доступную загрузочную область.

При нежелании сталкиваться с подобным порой единственным здравым решением становится отключение Boot Manager в Windows. Это можно сделать. Потому отдельно следует поговорить о том, как отключить этот загрузчик в BIOS и более к нему не возвращаться.

Отключение загрузчика

Желание отключить загрузчик Boot Manager объяснить довольно легко. Пользователям не хочется сталкиваться со сбоями и ошибками. При отключении менеджера старт системы будет происходить спокойно, без каких-либо сложностей.

Чтобы добиться желаемого результата, достаточно открыть командную консоль и здесь прописать несколько строк. А именно:

  • сначала идёт команда c: expand bootmgr temp;
  • следующей строкой attrib bootmgr -s -r -h;
  • далее del bootmgr;
  • следом строка ren temp bootmgr;
  • и в завершение attrib bootmgr -a +s +r +h.

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

Нельзя исключать, что представленные методы борьбы с ошибками и сбоями могут не сработать. Тут уже высока вероятность нарушения работоспособности самого жёсткого диска, который придётся ремонтировать, либо менять на новый.

Иногда случается и так, что возникают проблемы с доступом к планкам ОЗУ. Для проверки оперативной памяти можно воспользоваться специальными утилитами.

При механических повреждениях придётся демонтировать планки ОЗУ, вытащив их из слотов, и провести диагностику.

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

Ещё один вариант заключается в редактировании файла. Он носит название boot.ini. В нём потребуется просто удалить строки с теми ОС, которые предлагаются на выбор при загрузке, оставив лишь одну операционку. Вариант для тех, кто готов отказаться от дополнительных ОС и использовать только одну из них.

Источник: https://nastroyvse.ru/opersys/win/windows-boot-manager-kak-ego-ubrat.html

Настройка UEFI-загрузчика. Самое краткое руководство в мире

Uefi windows boot manager

Как устроена загрузка современных ОС? Как при установке системы настроить загрузку посредством UEFI, не утонув в руководствах и ничего не сломав?

Я обещал “самое краткое руководство”. Вот оно:

  1. Создаём на диске таблицу разделов GPT
  2. Создаём FAT32-раздел на пару сотен мегабайт
  3. Скачиваем из интернета любой UEFI-загрузчик
    (нам нужен сам загрузчик, это один бинарный файл!)
  4. Переименовываем и кладем этот файл на созданный раздел по адресу /EFI/Boot/bootx64.efi
  5. Создаём текстовый конфиг, кладем его там, где загрузчик ожидает его увидеть
    (настройка и местоположение конфига зависят от конкретной реализации загрузчика, эта информация доступна в интернете)
  6. После перезагрузки видим меню загрузчика
    (Если на диске установлена Windows 8 или 10 — с большой вероятностью это руководство сокращается до пунктов 3 — 5.)

TL;DR не надо прописывать путь к загрузчику в новых загрузочных записях UEFI — надо файл загрузчика расположить по стандартному “пути по-умолчанию”, где UEFI его найдет, и вместо загрузочного меню UEFI пользоваться меню загрузчика, которое гораздо проще и безопаснее настраивается

Как делать не надо

Есть, на самом-то деле, несколько способов настроить UEFI-загрузку. Я начну с описания других вариантов — чтобы было понятно, как (и почему) делать не надо. Если вы пришли за руководством — мотайте в самый низ.

Не надо лезть в NVRAM и трогать efivars

Наиболее “популярная” процедура установки загрузчика в систему такова: установщик ОС создаёт специальный раздел, на нём — структуру каталогов и размещает файлы загрузчика.

После этого он с помощью особой утилиты (efibootmgr в linux, bcdedit в windows) взаимодействует с прошивкой UEFI-чипа, добавляя в неё загрузочную запись. В этой записи указывается путь к файлу загрузчика (начиная от корня файловой системы) и при необходимости — параметры.

После этого в загрузочном меню компьютера появляется опция загрузки ОС. Для linux существует возможность вообще обойтись без загрузчика. В загрузочной записи указывается путь сразу к ядру вместе со всеми параметрами.

Ядро должно быть скомпилировано с опцией EFISTUB (что давно является стандартом для большинства дистрибутивов), в этом случае оно содержит в себе заголовок “исполняемого файла EFI”, позволяющий прошивке его запускать без внешнего загрузчика.

При старте системы, когда пользователь выбирает нужную ему загрузочную запись, прошивка UEFI сперва ищет на прописанном в этой записи диске особый EFI-раздел, обращается к файловой системе на этом разделе (обязательно FAT или FAT32), и запускает загрузчик. Загрузчик считывает из файла настроек свой конфиг, и либо грузит ОС, либо предоставляет загрузочное меню.

Ничего не замечаете? Да, у нас два загрузочных меню — одно на уровне прошивки чипа UEFI, другое — на уровне загрузчика. В реальности о существовании второго пользователи могут даже не догадываться — если в меню всего один пункт, загрузчик Windows начинает его грузить без лишних вопросов.

Увидеть экран с этим меню можно, если поставить вторую копию Windows или просто криво её переустановить.

Обычно для управления загрузочными записями руководства в интернете предлагают взаимодействовать с прошивкой UEFI.

Есть аж пять основных вариантов, как это можно сделать: efibootmgr под linux, bcdedit в windows, какая-то софтина на “Маках”, команда bcfg утилиты uefi shell (запускается из-под UEFI, “на голом железе” и без ОС, поскольку скомпилирована в том самом особом формате) и для особо качественных прошивок — графическими средствами UEFI (говоря популярным языком, “в настройках BIOS”).

За всеми вышенаписанными “многобуков” вы могли легко упустить такую мысль: пользователь, чтобы изменить настройки программной части (например, добавить параметр запуска ОС), вынужден перезаписывать flash-память микросхемы на плате.

Есть ли тут подводные камни? О да! Windows иногда способна сделать из ноутбука кирпич, linux тоже, причём разными способами. Качество прошивок часто оставляет желать лучшего — стандарты UEFI либо реализованы криво, либо не реализованы вообще.

По логике, прошивка обязана переживать полное удаление всех переменных efivars без последствий, не хранить в них критичных для себя данных и самостоятельно восстанавливать значения по-умолчанию — просто потому что пользователь имеет к ним доступ, и вероятность их полного удаления далека от нуля.

Я лично в процессе экспериментов неоднократно (к счастью, обратимо) “кирпичил” свой Lenovo — из загрузочного меню исчезали все пункты, включая опцию “зайти в настройки”.

Работа с загрузочными записями UEFI — тоже не сахар. К примеру, утилита efibootmgr не имеет опции “редактировать существующую запись”. Если ты хочешь немного изменить параметр ядра — ты удаляешь запись целиком и добавляешь её снова, уже измененную.

При этом строка содержит в себе двойные и одинарные кавычки, а также прямые и обратные слеши в не особо очевидном порядке.

Когда я наконец заставил эту магию работать — я сохранил её в виде bash-скриптов, которые до сих пор валяются у меня в корневой ФС:

efibootmgr -c -L “Archlinux (debug)” -l '\EFI\archlinux\vmlinuz-linux' -u “root=/dev/mapper/vg1-lvroot rw initrd=\EFI\archlinux\initramfs-linux.img systemd.log_level=debug systemd.log_target=kmsg log_buf_len=1M enforcing=0”

Не надо использовать GRUB

Это чёртов мастодонт, 90% функциональности которого предназначено для дисков с MBR. Для настройки необходимо отредактировать ряд файлов, после чего выполнить команду генерации конфига.

На выходе получается огромная малопонятная нормальному человеку простыня. В составе — гора исполняемых файлов.

Ставится командой, которую просто так из головы не возьмешь — надо обязательно лезть в документацию

grub-install –target=x86_64-efi –efi-directory=esp_mount –bootloader-id=grub

Для сравнения — самый простенький UEFI-bootloader, который есть в составе пакета systemd, ставится командой

bootctl install –path=/boot

Эта команда делает ровно две вещи: копирует исполняемый файл загрузчика на EFI-раздел и добавляет свою загрузочную запись в прошивку. А конфиг для неё занимает ровно СЕМЬ строчек.

“Самое краткое руководство” — чуть более подробно

Загрузочное меню надо реализовывать на уровне загрузчика — править текстовые конфиги гораздо проще и безопасней.

Загрузочная запись нам не нужна — дело в том, что при выставлении в настройках BIOS загрузки с диска прошивка UEFI сначала ищет на нём EFI-раздел, а затем пытается исполнить файл по строго фиксированному адресу на этом разделе: /EFI/Boot/BOOTX64.EFI

Что такое “EFI-раздел”? В теории, он должен иметь особый тип “EFI System” (ef00). На практике, годится первый раздел на GPT-диске, отформатированный в FAT32 и имеющий достаточно места, чтобы разместить загрузчик и вспомогательные файлы (если есть).

Пункт 3: “Скачиваем из интернета любой UEFI-загрузчик”. Что это значит? Загрузчик — это просто исполняемый файл определенного формата, к которому в комплекте идет конфиг.

К примеру, если у вас есть под рукой установленный пакет с systemd — файл загрузчика можно найти по адресу /usr/lib/systemd/boot/efi/systemd-bootx64.efi, переименовать его в bootx64.efi и скопировать в /EFI/Boot/ на EFI-разделе. Нет под рукой systemd? Скачайте архив с сайта Archlinux. Или с репозитария Ubuntu. Или Debian.

Есть под рукой система с Windows? Возьмите виндовый загрузчик оттуда, тоже сгодится )) Если сумеете настроить, я честно говоря не пробовал.

Пункт 4: “Настроить конфиг”. Как и обычная программа, когда загрузчик запускается — он ожидает найти по определенным путям файлы конфигурации. Обычно эту информацию легко найти в интернете. Для загрузчика systemd-boot нам необходимо в корне EFI-раздела создать каталог “loader”, а в нём файл “loader.conf” с тремя строчками (привожу свои):

default archlinuxtimeout 10editor 1

Параметр editor отвечает за возможность отредактировать пункт загрузочного меню перед запуском.

Рядом с loader.conf необходимо создать каталог entries — один файл в нём будет отвечать за одну загрузочную запись в boot-меню. У меня там один файл arch.conf с таким содержанием:

title Arch Linuxlinux /efi/archlinux/vmlinuz-linuxinitrd /efi/archlinux/initramfs-linux.imgoptions root=/dev/mapper/vg1-lvroot rw initrd=\EFI\archlinux\intel-ucode.img

Я не упомянул, но довольно очевидно — ядро и initramfs должны лежать в одной файловой системе с загрузчиком, то есть на EFI-разделе. Пути к ним в конфигах отсчитываются от корня этой ФС.

Другие загрузчики

systemd-boot очень простой и предоставляет спартанского вида чёрно-белое меню. Есть варианты красивей, если душа просит красоты.

rEFind — очень красивый загрузчик. Скачать можно тут в виде deb-пакета. Использую на своём ноуте. Умеет создавать загрузочное меню автоматически, без конфига — просто сканируя файлы.

Clover. Позволяет выставлять нативное разрешение экрана, имеет поддержку мыши на экране загрузки, разные темы оформления. Дефолтная тема ужасна, конфиг в виде xml нечитаем, настроить не смог.

Различные неочевидные последствия

Вы можете легко попробовать эту схему в работе. Берёте USB-флешку, форматируете в таблицу разделов GPT, создаете FAT-раздел и копируете туда загрузчик. Комп сможет с неё стартовать.

Если просто скопировать на такую флешку boot-раздел установленного linux — система будет спокойно загружаться с флешки, не видя разницы.

Источник: https://habr.com/ru/post/314412/

Восстановление загрузчика Windows

Uefi windows boot manager

Загрузчик Windows (Windows Boot Manager) хранит свои файлы в отдельном разделе, в большинстве случаев. В состав файлов входят — конфигурационный файл, и бинарные файлы.

Если используется устаревшая схема загрузки на основе BIOS (MBR) систем, то в придачу к этому, на диск записывается загрузочная запись MBR (Master Boot Record), осуществляющая запуск бинарных файлов с указанного раздела.

Загрузка Windows осуществляется в два этапа:

1. BIOS (MBR/UEFI) выполняет поиск и запуск загрузчика (его бинарных файлов).

2. Загрузчик выполняет запуск ядра операционной системы. Учитывая вышеописанное, возможных проблем может быть всего лишь две: 1. Проблемы с загрузочным разделом, и его файлами.

2. Проблемы с загрузочной записью MBR.

Может быть еще и третья проблема. Она не связана напрямую с загрузчиком, поэтому ее я не стал вносить в список. Проблема заключается в удалившихся загрузочных записях UEFI BIOS.

Устраняется очень просто, сброс настроек UEFI BIOS, или ручное добавление соответствующей загрузочной записи через UEFI Shell.

Как это сделать, можно прочитать тут, а как сделать загрузочный диск с UEFI Shellтут.

Для всех манипуляций потребуется только лишь установочный диск Windows, а точнее его среда предустановки (WinPE). Скачать установочный диск Windows можно на официальном сайте Microsoft по ссылке https://www.microsoft.com/ru-ru/software-download.

Скачивание абсолютно бесплатно. Для дистрибутива Windows 10, предоставлена программа для создания загрузочного USB/CD диска, или установочного ISO образа.
В качестве тестовой ОС будет выступать Windows 10. Будет продемонстрировано восстановление загрузчика как версии на MBR диске, так и на GPT (UEFI).

Для MBR диска, будет продемонстрировано восстановление записи MBR, файлов загрузчика, и загрузочного раздела. Ниже на фото, отмечен раздел с файлами загрузчика.

Особенностью данной разметки диска (она выполнялась автоматически установщиком Windows), является расположение файлов загрузчика и среды восстановления на одном разделе.

Для GPT диска, будет продемонстрировано восстановление загрузочного раздела и файлов загрузчика. На фото ниже, отмечен загрузочный EFI-раздел, в котором расположены файлы загрузчика.

В случае с GPT-диском, файлы загрузчика и среда восстановления располагаются в разных разделах. Загрузочный EFI-раздел всегда отформатирован в файловую систему FAT, т.к. UEFI BIOS поддерживает только ее.
Разберем ситуацию с поврежденной/перезаписанной MBR-записью. Часть первого сектора диска, отвечающей за запуск загрузчика, тестовой машины была намерено затерта.
Windows в данном случае естественно загружаться не будет.
Попробуем восстановить испорченную MBR-запись загрузчика Windows. Загрузимся с установочного диска на проблемной машине.
При появлении мастера установки, нажимаем сочетание клавиш SHIFT+F10, откроется командная строка.
Записать новую MBR-запись можно двумя способами, легким и не очень. Легкий выполняется с помощью команды bootrec, не очень, с помощью команды bootsect, совместно с командой bcdedit.

Рассмотрим сначала легкий способ. Восстанавливаем запись MBR.

:: Восстанавливаем MBR-запись дискаbootrec /fixmbr

Если сейчас выполнить перезагрузку машины, в надежде увидеть корректную загрузку Windows, то возможно вы получите ошибку загрузчика 0xc000000e (Your PC/Device needs to be repaired. A required device isn't connected or cant't be accessed. The application or operating system couldn't loaded because a recuired file is missing ir contains errors. File: \Windows\system32\winload.exe). Связана данная ошибка исключительно с конфигурацией загрузчика.
Устранить эту проблему можно выполнив исправление конфигурационного BCD-файла загрузчика Windows Boot Manager. Делается это, так же, с помощью команды bootrec.:: Восстанавливаем конфигурационный BCD-файлbootrec /rebuildbcd
Проверим параметры загрузчика после фикса. Загрузчик восстановлен.

Теперь способ второй, немного более сложный.

Для выполнения всех дальнейших операций, предварительно необходимо будет выяснить букву системного раздела, того на котором установлена ОС Windows. Помочь в этом могут следующие команды:

:: Вывод точек монтирования системы с помощью различных команд :: WMIC – более подробный выводwmic volume list brief :: FSUtil – вывод только имен дисковfsutil volume list :: MountVol – вывод только имен дисковmountvol
Каждая из этих команд выводит список всех подключенных разделов. Команда wmic предоставляет самую подробную информацию.

Получив информацию о подключенных томах, необходимо проверить какой из них содержит установленную копию ОС Windows. Делается это просто, с помощью команды dir, путем поочередного просмотра каждого тома на наличие соответствующих системных директорий/файлов.
Определив целевой системный раздел, в моем случае это диск D:\, можно перейти к восстановлению MBR-записи.:: Восстановление MBR-записи дискаbootsect /nt60 D: /mbr /force
Проверяем конфигурацию загрузчика.:: Вывод загрузочных записей загрузчика Windowsbcdedit

У дефолтной загрузочной записи не определены параметры device и osdevice. В качестве значений данных параметров должна быть указана буква диска с установленной ОС Windows. Без данных параметров система не сможет загрузиться корректно, и выдаст уже описанное ранее сообщение об ошибке. Поправим загрузочную запись.:: Указываем системный раздел для загрузочной записи по умолчаниюbcdedit /set {default} device “partition=D:”bcdedit /set {default} osdevice “partition=D:” :: Выводим параметры загрузочной записи по умолчаниюbcdedit /set {default}
Восстановление загрузчика выполнено.
Важным замечанием второго способа, является то, что конфигурация загрузчика не восстанавливается полноценно. Мы лишь поправили загрузочную запись по умолчанию ({default}), отвечающую лишь за запуск ОС Windows, другие записи конфигурационного файла загрузчика будут и прежде содержать параметры со значением unknow. Ручное исправление которых, может оказаться не такой простой задачей, ввиду необходимости проверить все имеющиеся записи конфигурационного файла загрузчика. Поэтому, этот вариант восстановления лучше рассматривать как аварийный, при невозможности, по какой-либо причине, выполнить восстановление загрузчика первым способом.

Усугубим тестовую ситуацию. Представим, что после определенных манипуляций, был удален загрузочный раздел ОС Windows. Что необходимо делать в данной ситуации?

1. Заново создать загрузочный раздел.

2. Записать на созданный раздел файлы загрузчика Windows.

3. Записать на созданный раздел файлы среды восстановления Windows (не обязательно). По поводу третьего пункта, почему он не обязателен? Работа загрузчика, и в общем ОС в целом, никак не зависит от среды восстановления. Она используется лишь при аварийных ситуациях. Запускается данная среда загрузчиком при определенных условиях, например, пара прерванных загрузок ОС. То есть, если не будет загрузчика, то и среда восстановления не будет работать. Приступим. На тестовой машине был намерено удален загрузочный раздел. Попытка загрузки на данном этапе, ожидаемо приведет к ошибке.
Загружаем установочный диск OC Windows.
Запускаем командную строку, нажав сочетание клавиш SHIFT+F10.
Создадим загрузочный раздел. Особых требований к загрузочному разделу нет. Это должен быть раздел с файловой системой NTFS (желательно, но не обязательно), с достаточным объемом свободного пространства, чтобы вместить файлы загрузчика и среды восстановления.:: Запускаем программу diskpartdiskpart rem Выводим список дисков системыlist disk rem Выбираем диск под номером 0select disk 0 rem Выводим список разделов выбранного дискаlist partition rem Создаем первичный раздел в начале диска, размером в 550МБcreate partition primary offset=1 size=550 rem Помечаем созданный раздел как активныйactive rem Форматируем созданный разделformat fs=ntfs quick label=”Sytem Reserved” rem Монтируем созданный разделassign rem Узнаем букву под которой смонтирован созданный ранее разделlist volume

Раздел создан. Запоминаем букву под которой он смонтирован, в моем случе диск E:\. Эта информация потребуется для выполнения последующих команд.

Выполним установку загрузчика на созданный раздел. Но, предварительно нужно выяснить, под какой буквой скрывается раздел с установленной ОС Windows. Узнать данную информацию можно, так же, на предыдущем шаге (diskpartlist volume), либо по способам описанным в предыдущем разделе. В моем случае это диск C:\.

:: Установка файлов BIOS-загрузчика для операционной системы:: расположенной в директории C:\Windows, в загрузочный раздел E:bcdboot C:\Windows /s E: /f BIOS

Загрузчик установлен. Если сейчас выполнить перезагрузку машины, то ОС Windows благополучно загрузится.
Если загрузка по-прежнему не возможна, то скорее всего имеются проблемы с загрузочной записью MBR. О том, как ее восстановить, написано в предыдущем разделе. Тема возврата среды восстановления, будет рассмотрена в последующих статьях. Рассмотрим восстановление UEFI-загрузчика ОС Windows. ОС использующие загрузку в UEFI режиме не нуждаются в загрузочных записях, на подобии MBR. Поэтому, рассмотрен будет сценарий с утраченным загрузочным EFI-разделом.

Что из себя представляет загрузочный EFI-раздел? Это обычный раздел, отформатированный в файловую систему FAT.

Перейдем к делу. Удалим на тестовой машине загрузочный EFI-раздел.

Попытка загрузки системы на данном этапе, приведет к ошибке, либо к загрузке UEFI Shell.
Загружаемся с установочного диска ОС Windows.
Открываем командную строку, нажав сочетание клавиш SHIFT+F10.
Создадим утраченный загрузочный EFI-раздел.:: Запускаем программу diskpartdiskpart rem Выводим список дисков системыlist disk rem Выбираем диск под номером 0select disk 0 rem Выводим список разделов выбранного дискаlist partition rem Создаем EFI-раздел в доступном пространстве диска, размером в 99МБcreate partition efi size=99 rem Помечаем созданный раздел как активныйactive rem Форматируем созданный разделformat fs=fat32 quick label=”System” rem Монтируем созданный разделassign rem Узнаем букву под которой смонтирован созданный ранее разделlist volume

Раздел создан. Запоминаем букву созданного раздела, в моем случае это диск F:\.

Установим загрузчик на созданный раздел. Предварительно, выясняем букву раздела с установленной ОС Windows. Как это сделать, было описано в предыдущих разделах.  В моем случае, это диск D:\.

:: Установка файлов UEFI-загрузчика для операционной системы:: расположенной в директории D:\Windows, в загрузовчный раздел F:bcdboot D:\Windows /s F: /f UEFI
Загрузчик установлен. Проверяем его работу. Перезагружаем машину и наблюдаем. Все Ok.
В статье было рассмотрено: Как восстановить загрузочную MBR-запись ОС Windows? Как выполнить восстановление BIOS-загрузчика ОС Windows? Как выполнить восстановление UEFI-загрузчика ОС Windows? “,”author”:”Автор: BootDev”,”date_published”:”2021-01-13T16:04:00.000Z”,”lead_image_url”:”https://1.bp.blogspot.com/–ld1Y0nK9-Q/XMiWh3iWDVI/AAAAAAAAGLw/YgXE3shpLKYkDAIIHXMVswFJM9Ul5INrQCLcBGAs/w1200-h630-p-k-no-nu/IMG_2012.png”,”dek”:null,”next_page_url”:null,”url”:”https://www.bootdev.ru/2019/05/Repair-Windows-Bootloader.html”,”domain”:”www.bootdev.ru”,”excerpt”:”Восстановление загрузчика Windows. Запись загрузчика Windows Boot Manager.”,”word_count”:1411,”direction”:”ltr”,”total_pages”:1,”rendered_pages”:1}

Источник: https://www.bootdev.ru/2019/05/Repair-Windows-Bootloader.html

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.