Bootmgr efi: Скачать Bootmgr.efi и исправить ошибки

Содержание

Ручная установка Windows 7/8/8.1/10 в систему с загрузчиком GRUB2 / Хабр

Наверняка почти у каждого пользователя ОС Linux и ОС Windows, а я имею в виду именно тех, у кого, в силу ряда причин, установлены обе системы, время от времени возникал вопрос: «А нельзя ли, черт возьми, придумать способ, с помощью которого можно было бы устанавливать эти системы в произвольном порядке? Без порчи настроек загрузчика?» Ведь если ставим сначала Windows а потом Linux всё хорошо — линуксовый загрузчик (например GRUB) обычно подхватывает bootmgr. Если ставить в обратном порядке то увы. Даже с использованием GPT + EFI. В случае с EFI нет опасности перезаписи MBR, зато таки есть один нюанс, который лично мне не нравится — установщик Windows в режиме EFI хоть и не перезаписывает сектора диска своим кодом, но зато переопределяет NVRAM, подсовывая туда путь к своему загрузчику. Так что функционал GBUB всё равно приходится восстанавливать. В настройках штатного установщика нет опций для кастомизации процесса установки загрузчика.

А что если… не использовать стандартный установщик?! Ну, или почти не использовать…

И такой способ есть. И основан он на технологии установки Windows, которую мы имеем в её дистрибутивах начиная с «семерки». Способ работает для случая Windows версий 7/8/8.1/10, как в случае с MBR + BIOS системы, так в случае с EFI + GPT. Установить систему можно как в раздел HDD, так и на VHD. При этом функционал установщика нужен нам в общем-то для запуска программы настройки BCD-хранилища конфигурации загрузчика. Вместо установочного диска можно использовать загрузочный носитель на основе WinPE. Если бы утилитам bcdedit.exe и BootICE была *nix альтернатива, весь процесс развертывания системы можно было бы вообще выполнить в среде Linux.

Предположим у вас имеется компьютер, с установленным на HDD загрузчиком GRUB2 и свободным разделом, отформатированном в NTFS. Устанавливать будем Windows 7 Ultimate SP1. Для этого потребуются:

  1. Установочный диск с виндой
  2. Чистая флешка объемом >= 4 Gb
  3. Архиватор 7-zip соответствующей разрядности
  4. Утилита BootICE, желательна, но совершенно не обязательна, можно обойтись и bcdedit. exe, входящим в дистрибутив винды

Дело в том, что семерка не хочет устанавливаться в EFI-режиме с DVD. Вот не хочет и всё. К тому же, на установочном носителе нам понадобятся дополнительные утилиты, которые туда надо поместить, а в случае с флешкой это несколько проще, чем в случае с DVD.

Монтируем установочный образ с виндой, допустим он лежит у нас в /home/$USER/install с именем win7-setup.iso

$ mkdir ~/iso
$ sudo mount -t udf ~/install/win7-setup.iso ~/iso

Вставляем флешку в USB-порт. Допустим, она получила имя устройства /dev/sdb. Выполним её разметку в формате MBR

$ sudo fdisk /dev/sdb

Создем на флешке один единственный раздел. После чего форматируем её в FAT
$ sudo mkfs.vfat /dev/sdb1

Копируем содержимое дистрибутива винды на флешку
$ mkdir /tmp/flash
$ sudo mount /dev/sdb1 /tmp/flash -o uid=1000,gid=100,fmask=113,dmask=002
$ cp -rv ~/iso/* /tmp/flash/

Скопируем конфиги EFI-загрузчика на уровень выше

$ cp -rv ~/tmp/flash/efi/microsoft/* ~/tmp/flash/efi/

Теперь нам нужен EFI-загрузчик винды. Его придется выцарапать из дистрибутива. Это легко сделать с помощью архиватора 7-zip, который имеется в репозитории extra/p7zip. Все содержимое дистрибутива винды сжато в образ wim-формата находится на установочном DVD в файле source/install.wim. Обычно этот образ имеет следующую структуру

В каталогах с именами в виде цифр 1-4 находятся разные редакции винды. Чтобы выбрать нужную надо посмотреть внутрь файла с именем [1].xml. Распакуем его в /tmp

$ cd /tmp
$ 7z e ~/iso/sources/install.wim \[1\].xml

и посмотрим с помощью какого-нибудь браузера, ибо в текстовом редакторе он выглядит ужасно, а специального редактора xml у меня в наличии не оказалось. Каждую редакцию винды описывают структурой вида

где нода EDITIONID указывает на редакцию. Параметр INDEX — как раз номер каталога, в котором валяется нужная редакция. Итак, мне нужна Ultimate, а это индекс 4. Соответсвенно выковыриваем загрузчик оттуда

$ 7z e ~/iso/sources/install. wim 4/Windows/Boot/EFI/bootmgfw.efi

Оки, теперь перенесем полученный файл на флешку

$ mv bootmgfwm.efi /tmp/flash/efi/boot/bootx64.efi

Порядок, теперь у нас в наличии загрузочная флешка для установки винды. Теперь добавим на неё необходимые для установки утилиты — виндозную версию архиватора 7-zip и утилиту BootICE. Архиватор качаем с официального сайта и распаковываем на флешку в каталог utils

$ mkdir -p /tmp/flash/utils/7-Zip/
$ cd /tmp/flash/utils/7-Zip/
$ 7z x ~/downloads/7z1602-x64.exe

Туда же помещаем и bootice

$ cp ~/install/BOOTICEx64.exe /tmp/flash/utils

Уф, всё, отмонтируем флешку
$ cd ~
$ sudo umount /tmp/flash/

Перезагружаемся. Если у вас система с EFI и съемные диски стоят в приоритете загрузки, то компьютер загрузится в установку винды автоматом. Если же появилось таки меню GRUB, ничего страшного, жмем «С» и в консоли набиваем команду exit. Вас вывалит в меню EFI, где выбираем загрузку с флешки. Если же ваша система с BIOS, то тут чуть сложнее, ибо мы не стали заморачиваться с настройкой MBR на флешке. Тогда в консоли GRUB даем команду ls — появится список всех дисков и разделов. Находим нашу флешку, она отобразится в виде (hdX, msdosY), где X, Y — номер диска и раздела соответственно. Теперь вбиваем в консоли команды

grub> set root=hdX,Y
grub> ntldr /bootmgr
grub> boot

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

Начиная с семерки установка Windows заключается в следующих этапах

  1. Разметка диска в соответствии с архитектурой системы инициализации оборудования. Если BIOS — установщик размечает диск в MBR. При наличии активной EFI — разметка будет GPT.
  2. Распаковка образа install.wim в выбранный для установки раздел
  3. Установка загрузчика и перезагрузка
  4. Инициализация оборудования. Ребут
  5. Локализация, ввод ключа, окончание настройки системы

Это стандартный путь. У нас же диск уже размечен. И нам не нужна автоматическая установка загрузчика — мы поставим его вручную. Разметка диска должна удовлетворять следующим требованиям

  • Если система с EFI на диске должен присутствовать FAT-раздел с типом 0xEF. Если у нас уже установлен линукс с EFI-загрузчиком, то таковой раздел уже имеется
  • Если система с BIOS, то раздел, в котором располагается загрузчик, а это наш NTFS-раздел должен быть активным. Это очень важно! Почему, будет объяснено ниже.

Таким образом, перед распаковкой системы мы должны убедится в том, что перечисленные требования выполнены. После того, как мы распакуем все файл системы и установим загрузчик, система перезагрузиться. После перезагрузки запустится утилита Sysprep, среди прочего настраивающая оборудования и проверяющая конфигурацию системы. Так вот, если в режиме EFI Sysprep не найдет загрузчик и его конфигурацию в EFI-разделе по пути EFI/microsof/boot, а в системе с BIOS каталог \Boot и bootmgr будут лежать в неактивном разделе, то Sysprep завершится с ошибкой sysprep generalize error, а в лог, расположенный по адресу \Windows\Panther\sysperr.log выплюнет что-то похожее на

2015-03-11 16:55:42, Error [0x0e00b3] TOOL Sysprep_Specialize_Bcd: There was an error opening the system store. Status=[0xC0000098]
2015-03-11 16:55:42, Error [0x0f0082] SYSPRP LaunchDll:Failure occurred while executing 'c:\Windows\System32\spbcd.dll,Sysprep_Specialize_Bcd', returned error code 1006
2015-03-11 16:55:42, Error [0x060435] IBS Callback_Specialize: An error occurred while either deciding if we need to specialize or while specializing; dwRet = 0x3ee

и никакие танцы с бубном нам уже не помогут. Винда требует, чтобы загручик лежал в загрузочном разделе и точка. В случае с BIOS просто делаем активным раздел NTFS в котором лежит винда и туда же кладем и загрузчик. Грузится будем всё равно с помощью GRUB, а ему все равно, какой раздел будет активным. В случае с EFI загрузчик придется положить рядом с GRUB в EFI-разделе.

Итак, определимся, куда мы хотим ставить винду. Можно поставить в NTFS-раздел, а можно и в VHD-диск. Это уж как вам хочется. Я буду показывать процесс на примере с виртуальной машиной EFI, имеющей следующую разметку

The protective MBR's 0xEE partition is oversized! Auto-repairing.

Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): p
Disk /dev/loop1: 104857600 sectors, 50.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 0D217C93-6699-435A-9BBB-61DFAA6F30B7
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 104857566
Partitions will be aligned on 2048-sector boundaries

Total free space is 4029 sectors (2.0 MiB)

Number Start (sector) End (sector) Size Code Name
1 2048 206847 100.0 MiB EF00 EFI system partition
2 206848 104855551 49.9 GiB 0700 Basic data partition

На этом диске нет линукса, установлен только GRUB в раздел с EFI. Если мы ставим систему непосредственно в NTFS-раздел, то загружаемся с флешки, дожидаемся запуска программы установки и жмем Shift + F10, чтобы вызвать консоль. Запускаем утилиту diskpart и смотрим список подключенных томов

X:\sources> diskpart
DISKPART> list vol

Видим, что флешка (объемом 8 Гб) подключена как диск C:, а раздел для установки вовсе не смонтирован. Непорядок. Делаем так

DISKPART> sel vol 3
DISKPART> remove
DISKPART> assign letter=E
DISKPART> sel vol 1
DISKPART> assign letter=C
DISKPART> list vol
DISKPART> sel vol 2

DISKPART> assign letter=F

Вот теперь порядок, диск на который будем ставить винду стал диском C:, флешка — диском E:, а EFI-раздел — диском F:

Если же мы хотим поставить систему на VHD, то делаем так

DISKPART> sel vol 3
DISKPART> remove
DISKPART> assign letter=E
DISKPART> sel vol 1
DISKPART> assign letter=G
DISKPART> exit

Для порядка создаем каталог с образами
X:\sources> md G:\vhd
X:\sources> diskpart

Создаем виртуальный диск, создаем на нем разметку GPT и раздел NTFS и монтируем его к C:

DISKPART> create vdisk file="G:\vhd\win7.vhd" maximum=25600 type=fixed
DISKPART> attach vdisk
DISKPART> clean
DISKPART> convert gpt
DISKPART> create part primary
DISKPART> format fs=ntfs quick
DISKPART> assign letter=C

EFI-раздел монтируем к F:

DISKPART> sel vol 2
DISKPART> assign letter=F

Получаем такую картину

Очень важно! Убеждаемся в том, что EFI-раздел отформатирован именно в FAT, а не в FAT32. Иначе Sysprep не простит нам этой ошибки. Если на компе уже есть линукс, то настройки будут верны.

Теперь распаковываем дистрибутив на диск C:

X:\sources> E:
E:\> utils\7-Zip\7zFM.exe

Откроется GUI архиватора 7-zip. В нем открываем каталог E:\sources, находим там файл install.wim

Правой кнопкой на этом файле вызываем контектстное меню и переходим по 7-zip -> Открыть архив. Появится содержимое образа.

Лезем в папку 4 — там лежит Ultimate

Выделяем всё Ctrl + A и жмем кнопку «Извлечь». Появится окно, где нам предложат указать путь распаковки

Указываем корень диска C: и жмем ОК.

Ну и теперь, как говорится: «Откиньтесь на спинку кресла и…»

Итак, после некоторого время ожидания распаковка окончена. И вот тут, вот в этом месте винда обчно делает бяку, а именно портит MBR или перенастраивает NVRAM. Но мы не дадим ей этого сделать — мы установим загрузчик вручную.

В случае с EFI, переходим на раздел EFI, смонтированный к F: и создаем необходимые пути и копируем файлы загрузчика

E:\> F:
F:\> mkdir EFI\microsoft\boot
F:\> xcopy C:\Windows\Boot\EFI\* F:\EFI\microsoft\boot /s /e
F:\> mkdir EFI\microsoft\boot\Fonts
F:\> xcopy C:\Windows\Boot\Fonts\* F:\EFI\microsoft\boot\Fonts\ /s /e
F:\> copy C:\Windows\System32\config\BCD-Template F:\EFI\microsoft\boot\BCD

Отлично, загрузчик скопирован. Теперь настроим его

F:\> E:\utils\BOOTICEx64.exe

Открываем файл F:\EFI\Microsoft\Boot\BCD. В случае установки на раздел, его параметры задаются так

Если же мы устанавливали систему на VHD, то настройки будут такими

Важно! Имя вторичного загрузчика для EFI-системы winload.efi, для BIOS-системы — winload.exe.

В случае, если мы устанавливаем BIOS-систему установка загрузчика будет выглядеть так

F:\> mkdir C:\Boot
F:\> xcopy C:\Windows\Boot\PCAT\* C:\Boot /s /e
F:\> mkdir C:\Boot\Fonts
F:\> xcopy C:\Windows\Boot\Fonts\* C:\Boot\Fonts /s /e
F:\> copy C:\Boot\bootmgr C:\bootmgr
F:\> copy C:\Windows\System32\config\BCD-Template C:\Boot\BCD

Важно! Раздел, смонтированный к C: (там где размещен загрузчик) обязан быть активным! Убедитесь в этом перед перезагрузкой!

Настройку выполняем так же точно, используя BootICE.

Ну, вроде все. Закрываем все окна и идем в ребут. Флешку можно вытащить из компа.

GRUB у нас еще не настроен пункта для винды в меню нет. Как только появится меню GRUB жмем «C». В консоли набираем

grub> set root=hdX,Y
grub> chainloader /EFI/Microsoft/Boot/bootmgfw.efi
grub> boot

X, Y — соответственно диск и раздел, где лежит загрузчик. Это в случае EFI. В случае с BIOS делаем так

grub> set root=hdX,Y
grub> ntldr /bootmgr
grub> boot

X, Y — диск и раздел с NTFS. Там где распакована винда и лежит её загрузчик.

В режиме EFI вместо логотипа винды я увидел черный экран, так как не нашел в дистрибутиве билиотеки bootres.dll, которую надо поместить в папку EFI\Mictosoft\Boot\Resourses. В случае с BIOS всё в порядке — знакомая эмблема «семерки». А потом в обоих случаях увидим это

Это работает Sysprep. На 57% моргнет экран — настраивается видяха. И если мы все сделали верно, то надпись «Применение параметров системы» повисит довольно долго, потом система сообщит, что установка будет продолжена после перезагрузки. Если мы где-то напортачили с установкой загрузчика — неправильный EFI раздел или неактивный NTFS, то тогда будет ошибка 🙁 Но мы молодцы и у нас все получится, и после очередной перезагрузки мы увидим это

а потом, наконец вот это

Дальше все как при обычной, штатной установке.

Обратили внимание на то, что каждый раз мы грузим систему из консоли GRUB руками. Это очень хорошо — значит ни MBR ни NVRAM не перезаписаны коварным майкрософтом. Настало время грузится в арч и добавить в меню GRUB новый пункт

menuentry 'Windows 7 Ultimate SP1 (EFI)' {

set root=hdX,Y
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

в случае EFI. Или

menuentry 'Windows 7 Ultimate SP1' {

set root=hdX,Y
ntldr /bootmgr
}

в случае BIOS. Применяем настройки GRUB и перезагружаемся и видем систему в пункте меню загрузки

после выбора которого получаем загруженную Windows

Упреждая гнев профессиональных win-админов, скажу сразу — я знаю о DISM. Именно информация об этой системе и привела меня к описанному решению. Цель была одна — выяснить сколько нужно возможностей собственно Windows для установки Windows.

Оказалось вот что — для установки Windows её среда необходима только для одного — настройки BCD-хранилища. Всё. Остальное можно сделать из среды любой другой операционной системы.

Если написать аналог bcdedit.exe под Linux, то установить Windows можно будет с линуксового Live-носителя.

Параметры системного хранилища BCD для UEFI

  • Чтение занимает 5 мин

В этой статье

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

  1. диспетчер загрузки Windows;

  2. Windows Загрузчик

  3. Windows Тестер памяти

В следующих разделах подробно описаны доступные параметры для каждого из этих приложений загрузки, а также способы изменения каждого приложения для систем UEFI.

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

Windows диспетчер загрузки Параметры для UEFI

Windows Диспетчер загрузки ( {bootmgr} ) управляет процессом загрузки. Системы на основе UEFI содержат диспетчер загрузки встроенного по, Бутмгфв. EFI, который загружает приложение EFI, основанное на переменных, которые хранятся в NVRAM.

параметры BCD для device path элементов и в Windows диспетчере загрузки указывают диспетчер загрузки встроенного по. шаблон с именем BCD-template для Windows включает следующие параметры для диспетчера загрузки Windows.

## Windows Boot Manager

identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager

Параметр устройства

deviceэлемент указывает том, содержащий диспетчер загрузки Windows. для систем UEFI device элементу для диспетчера Windows загрузки задается буква тома системного раздела. Чтобы определить правильную букву тома, используйте средство DiskPart для просмотра разделов диска. В следующем примере предполагается, что в системе имеется один жесткий диск с несколькими разделами, включая системный раздел, которому назначена буква диска S.

Следующие команды DiskPart выбирают диск 0, а затем выводят сведения о томах на этом диске, включая буквы дисков. В нем показан том 2 в качестве системного раздела.

DISKPART> select disk 0
DISKPART> list volume

  Volume ###  Ltr  Label   Fs     Type        Size     Status     Info
  ----------  ---  ------  -----  ----------  -------  ---------  ------
  Volume 0     D           NTFS   Partition    103 GB  Healthy
  Volume 1     C           NTFS   Partition     49 GB  Healthy    Boot
  Volume 2     S           FAT32  Partition    200 MB  Healthy    System

Если системному разделу не назначена буква диска, назначьте ее с помощью команды diskpart assign . В следующем примере предполагается, что системным разделом является том 2 и назначается буква диска.

Diskpart
select disk 0
list volume
select volume 2   // assuming volume 2 is the system partition
assign letter=s

после определения тома системного раздела присвойте device элементу диспетчера загрузки Windows соответствующую букву диска. В следующем примере задается device значение Drive S.

Bcdedit /set {bootmgr} device partition=s:// system partition

Параметр пути

pathэлемент указывает расположение приложения диспетчера загрузки Windows на этом томе. Для систем UEFI path указывает диспетчер загрузки встроенного по, путь к которому — \ EFI \ Microsoft \ Boot \ бутмгфв. EFI.

Чтобы убедиться, что BCD-template имеет правильный путь, перечислите значения в хранилище следующим образом:

bcdedit /store bcd-template /enum all

Чтобы явно задать path значение \ EFI \ Microsoft \ Boot \ бутмгфв. EFI, используйте следующую команду.

Bcdedit /set {bootmgr} path \efi\microsoft\boot\bootmgfw.efi

другие Параметры

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

Bcdedit /set {fwbootmgr} displayorder {bootmgr} /addfirst

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

Bcdedit /set {bootmgr} displayorder {<GUID>} /addfirst

в предыдущем примере < GUID > — это идентификатор указанного объекта загрузчика Windows. В следующем разделе этот идентификатор более подробно обсуждается.

Примечание
многозагрузочная система с несколькими установленными операционными системами имеет несколько экземпляров загрузчика Windows. каждый экземпляр загрузчика Windows имеет собственный идентификатор. можно задать для Windows загрузки по умолчанию ( {default} ) любой из этих идентификаторов.

Windows загрузчик Параметры

хранилище BCD имеет по крайней мере один экземпляр и, возможно, несколько экземпляров Windows загрузчика загрузки. Отдельный объект BCD представляет каждый экземпляр. каждый экземпляр загружает одну из установленных версий Windows с конфигурацией, в которой указаны элементы объекта. каждый объект Windows boot loader имеет свой собственный идентификатор, а device параметры объекта и path указывают на правильное приложение секционирования и загрузки.

BCD-templateдля Windows имеется один объект загрузчика Windows, который имеет следующие параметры.

## Windows Boot Loader

identifier              {9f25ee7a-e7b7-11db-94b5-f7e662935912}
device                  partition=C:
path                    \Windows\system32\winload.efi
description             Microsoft Windows Server
locale                  en-US
inherit                 {bootloadersettings}
osdevice                partition=C:
systemroot              \Windows

идентификатор для этого Windows загрузчика: {9f25ee7a-e7b7-11db-94b5-f7e662935912}. Этот идентификатор GUID можно использовать в системе или позволить средству BCDEdit создать новый GUID.

чтобы упростить команды BCDEdit, можно указать один из Windows загрузчиков в системном хранилище BCD в качестве загрузчика по умолчанию. Затем можно использовать стандартный идентификатор ( {default} ) вместо полного идентификатора GUID. в следующем примере задается загрузчик загрузки Windows для EFI в качестве загрузчика по умолчанию, предполагая, что он использует идентификатор GUID из BCD-template.

Bcdedit /default {9f25ee7a-e7b7-11db-94b5-f7e662935912}

Параметры устройств и OSDevice

Следующие элементы указывают расположение ключей:

deviceЭлемент указывает секцию, содержащую приложение загрузки.

osdeviceЭлемент указывает секцию, содержащую корневой каталог системы.

для загрузчика Windows для EFI в обоих элементах обычно задается буква диска системного раздела Windows. однако, если BitLocker включен или на компьютере установлено несколько версий Windows osdevice и device для них могут быть установлены разные разделы. BCD-template задает для обоих элементов значение диска C, которое является типичным значением. Можно также явно задать osdevice device значения и, как показано в следующем примере. в этом примере также предполагается, что в качестве объекта загрузчика по умолчанию был указан загрузчик загрузки Windows для EFI.

Bcdedit /set {default} device partition=c:
Bcdedit /set {default} osdevice partition=c:

Параметр пути

pathэлемент загрузчика Windows указывает расположение загрузчика на этом томе. для систем UEFI path указывает загрузчик Windows для EFI, путь которого \ Windows \ System32 \ Winload. EFI.

Вы можете убедиться, что BCD-template имеет правильное path значение, перечисляя значения в хранилище. Можно также явно задать path значение, как показано в следующем примере.

Bcdedit /set {default} path \windows\system32\winload.efi

Windows тест-инженер памяти Параметры

тестер памяти Windows ( {memdiag} ) выполняет диагностику памяти во время загрузки. Параметры BCD для device элементов приложения и path указывают на правильное приложение.

Примечание
примечание. компьютеры Intel Itanium не включают в себя Windows тестировщика памяти и не нуждаются в {memdiag} параметрах.

BCD-template для Windows имеет следующие параметры.

## Windows Memory Tester

identifier              {memdiag}
device                  partition=\Device\HarddiskVolume1
path                    \boot\memtest.exe
description             Windows Memory Diagnostic

Параметр устройства

для систем UEFI device элементу для тестера Windows памяти задается буква диска системного раздела. В следующем примере предполагается, что системный раздел — это диск S, который использовался в предыдущих примерах.

Bcdedit /set {bootmgr} device partition=s:  // system partition

Параметр пути

pathэлемент указывает расположение Windows Test Manager на томе, который device указан в элементе. Для систем UEFI path указывает версию EFI приложения ( \ EFI \ Microsoft \ Boot \ мемтест. EFI).

Вы можете убедиться, что BCD-template имеет правильное path значение, перечисляя значения в хранилище. Можно также использовать средство BCDEdit для явного задания path значения, как показано в следующем примере.

Bcdedit /set {memdiag} path \efi\microsoft\boot\memtest.efi

Efibootmgr — Gentoo Wiki

Приложение efibootmgr взаимодействует с прошивкой UEFI в системе. Это популярное приложение для изменения настроек EFI с целью создания и изменения загрузочных записей, с помощью которых можно загрузить Linux (или любую другую EFI операционную систему).

Приложение sys-boot/efibootmgr это не загрузчик. Это утилита, которая взаимодействует с прошивкой EFI в системе, которая работает в качестве загрузчика. С помощью efibootmgr можно создавать, менять местами, обновлять и удалять загрузочные записи.

Установка

Ядро

Необходимо включить поддержку CONFIG_EFI_VARS:

Ядро Включение поддержки переменной EFI

Firmware Drivers  --->
   EFI (Extensible Firmware Interface) Support  --->
       <*> EFI Variable Support via sysfs

Emerge

У пакета sys-boot/efibootmgr нет каких-либо USE-флагов. Все что нужно сделать — это установить его:

root #emerge --ask sys-boot/efibootmgr

Конфигурация

EFI vars

Для того, чтобы успешно использовать efibootmgr, должна быть доступна файловая система переменных EFI. Следовательно система должна быть уже загружена в режиме EFI (а не через BIOS в режиме MBR), так как иначе переменные EFI сами по себе не будут доступны. Если система загружена в режиме MBR, перезагрузитесь и настройте все необходимое для загрузки EFI режиме. Обычно, для этого нужно, либо настроить встроенное ПО (BIOS), либо выбор в меню загрузки запись содержащую EFI.

Когда система загружена в EFI режиме запустите следующую команду, чтобы проверить доступность efivarfs:

root #mount | grep efivars

efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)

Если данная файловая система не смонтирована (она должна быть смонтирована через скрипт инициализации sysfs), можно смонтировать ее вручную следующей командой:

root #mount -t efivarfs efivarfs /sys/firmware/efi/efivars

Предварительные условия =

Если системный раздел EFI (ESP) не существует, он должен быть создан, см. EFI System Partition

Использование

Получение списка загрузочных записей

Чтобы получить список текущих загрузочных записей, используйте опцию --verbose (-v):

root #efibootmgr -v

BootCurrent: 0002
Timeout: 3 seconds
BootOrder: 0003,0003,0002,0000,0004
Boot0000* CD/DVD Drive  BIOS(3,0,00)
Boot0001* Hard Drive    BIOS(2,0,00)
Boot0002* Gentoo        HD(1,800,61800,6d98f360-cb3e-4727-8fed-5ce0c040365d)File(\EFI\boot\bootx64.efi)
Boot0003* Hard Drive    BIOS(2,0,00)P0: ST1500DM003-9YN16G

Создание загрузочной записи

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

  • --create (-c) чтобы создать новую запись;
  • --part (-p) за которой следует номер раздела, на котором находится системный раздел EFI;
  • --disk (-d) за которой следует диск, на котором находится системный раздел EFI;
  • --label (-L) за которой следует метка, которую необходимо использовать для загрузочной записи;
  • --loader (-l) за которой следует путь образа EFI для загрузки

Важно
Путь к образу EFI для загрузки должен в качестве разделителя в путях содержать \ (обратный слеш) вместо / (передний слеш).

Например:

root #efibootmgr -c -d /dev/sda -p 2 -L "Gentoo" -l "\efi\boot\bootx64.efi"

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

Удаление загрузочной записи

Перед удалением записи, сначала определите, какой ID был у записи.

Чтобы удалить запись Gentoo, которая была показана выше (и имеет идентификатор Boot0002), попросите efibootmgr удалить запись с идентификатором 2, передав в качестве аргументов следующие значения: --bootnum (-b) это идентификатор, и опция --delete-bootnum (-B), означающая, что нужно удалить запись:

Удаление

Unmerge

root #emerge --ask --depclean --verbose sys-boot/efibootmgr

Смотрите также

Устранение ошибок bootmgr.efi и загрузка файла

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

Файл был разработан для использования с программным обеспечением . Здесь вы найдете подробную информацию о файле и инструкции, как действовать в случае ошибок, связанных с bootmgr.efi на вашем устройстве. Вы также можете скачать файл bootmgr.efi, совместимый с устройствами Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, которые (скорее всего) позволят решить проблему.

Совместим с: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista Популярность пользователя

Исправьте ошибки bootmgr.efi

Информация о файле

Основная информация
Имя файлаbootmgr.efi
Расширение файлаEFI
ОписаниеBoot Manager
Программного обеспечения
программаMicrosoft® Windows® Operating System
авторMicrosoft Corporation
подробности
MIME типapplication/octet-stream
Тип файлаExecutable application
системаWindows NT 32-bit
Авторские права© Microsoft Corporation. All rights reserved.
Набор символовUnicode
Языковая трескаEnglish (U.S.)

Наиболее распространенные проблемы с файлом bootmgr.efi

Существует несколько типов ошибок, связанных с файлом bootmgr.efi. Файл bootmgr.efi может находиться в неправильном каталоге файлов на вашем устройстве, может отсутствовать в системе или может быть заражен вредоносным программным обеспечением и, следовательно, работать неправильно. Ниже приведен список наиболее распространенных сообщений об ошибках, связанных с файлом bootmgr.efi. Если вы найдете один из перечисленных ниже (или похожих), рассмотрите следующие предложения.

  • bootmgr.efi поврежден
  • bootmgr.efi не может быть расположен
  • Ошибка выполнения — bootmgr.efi
  • Ошибка файла bootmgr.efi
  • Файл bootmgr.efi не может быть загружен. Модуль не найден
  • невозможно зарегистрировать файл bootmgr.efi
  • Файл bootmgr.efi не может быть загружен
  • Файл bootmgr.efi не существует

bootmgr.efi

Не удалось запустить приложение, так как отсутствует файл bootmgr.efi. Переустановите приложение, чтобы решить проблему.

OK

Проблемы, связанные с bootmgr.efi, могут решаться различными способами. Некоторые методы предназначены только для опытных пользователей. Если вы не уверены в своих силах, мы советуем обратиться к специалисту. К исправлению ошибок в файле bootmgr.efi следует подходить с особой осторожностью, поскольку любые ошибки могут привести к нестабильной или некорректно работающей системе. Если у вас есть необходимые навыки, пожалуйста, продолжайте.

Как исправить ошибки bootmgr.efi всего за несколько шагов?

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

Ошибки файла bootmgr.efi могут быть вызваны различными причинами, поэтому полезно попытаться исправить их различными способами.

Шаг 1.. Сканирование компьютера на наличие вредоносных программ.

Файлы Windows обычно подвергаются атаке со стороны вредоносного программного обеспечения, которое не позволяет им работать должным образом. Первым шагом в решении проблем с файлом bootmgr.efi или любыми другими системными файлами Windows должно быть сканирование системы на наличие вредоносных программ с использованием антивирусного инструмента.

Если по какой-либо причине в вашей системе еще не установлено антивирусное программное обеспечение, вы должны сделать это немедленно. Незащищенная система не только является источником ошибок в файлах, но, что более важно, делает вашу систему уязвимой для многих опасностей. Если вы не знаете, какой антивирусный инструмент выбрать, обратитесь к этой статье Википедии — сравнение антивирусного программного обеспечения.

Шаг 2.. Обновите систему и драйверы.

Установка соответствующих исправлений и обновлений Microsoft Windows может решить ваши проблемы, связанные с файлом bootmgr.efi. Используйте специальный инструмент Windows для выполнения обновления.

  1. Откройте меню «Пуск» в Windows.
  2. Введите «Центр обновления Windows» в поле поиска.
  3. Выберите подходящую программу (название может отличаться в зависимости от версии вашей системы)
  4. Проверьте, обновлена ​​ли ваша система. Если в списке есть непримененные обновления, немедленно установите их.
  5. После завершения обновления перезагрузите компьютер, чтобы завершить процесс.

Помимо обновления системы рекомендуется установить последние версии драйверов устройств, так как драйверы могут влиять на правильную работу bootmgr.efi или других системных файлов. Для этого перейдите на веб-сайт производителя вашего компьютера или устройства, где вы найдете информацию о последних обновлениях драйверов.

Шаг 3.. Используйте средство проверки системных файлов (SFC).

Проверка системных файлов — это инструмент Microsoft Windows. Как следует из названия, инструмент используется для идентификации и адресации ошибок, связанных с системным файлом, в том числе связанных с файлом bootmgr.efi. После обнаружения ошибки, связанной с файлом %fileextension%, программа пытается автоматически заменить файл bootmgr.efi на исправно работающую версию. Чтобы использовать инструмент:

  1. Откройте меню «Пуск» в Windows.
  2. Введите «cmd» в поле поиска
  3. Найдите результат «Командная строка» — пока не запускайте его:
  4. Нажмите правую кнопку мыши и выберите «Запуск от имени администратора»
  5. Введите «sfc / scannow» в командной строке, чтобы запустить программу, и следуйте инструкциям.

Шаг 4. Восстановление системы Windows.

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

  1. Откройте меню «Пуск» в Windows.
  2. Введите «Восстановление системы» в поле поиска.
  3. Запустите средство восстановления системы — его имя может отличаться в зависимости от версии системы.
  4. Приложение проведет вас через весь процесс — внимательно прочитайте сообщения
  5. После завершения процесса перезагрузите компьютер.

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

Загрузите и замените файл bootmgr.efi

Последнее решение — вручную загрузить и заменить файл bootmgr.efi в соответствующей папке на диске. Выберите версию файла, совместимую с вашей операционной системой, и нажмите кнопку «Скачать». Затем перейдите в папку «Загруженные» вашего веб-браузера и скопируйте загруженный файл bootmgr.efi.

Перейдите в папку, в которой должен находиться файл, и вставьте загруженный файл. Ниже приведен список путей к каталогу файлов bootmgr.efi.

  • Windows 10: C:\Windows\Boot\EFI\
  • Windows 8.1: C:\Windows\Boot\EFI\
  • Windows 8: 1: C:\Windows\Boot\EFI\
  • Windows 7: C:\Windows\Boot\EFI\
  • Windows Vista: C:\Windows\Boot\EFI\

Если действия не помогли решить проблему с файлом bootmgr.efi, обратитесь к профессионалу. Существует вероятность того, что ошибка (и) может быть связана с устройством и, следовательно, должна быть устранена на аппаратном уровне. Может потребоваться новая установка операционной системы — неправильный процесс установки системы может привести к потере данных.

Список версий файлов

Имя файла bootmgr.efi

система Windows 10

Размер файла 1005472 bytes

Дата 2017-03-18

Подробности файла
MD5d9a6f86bd71d9a05e821448d236fbd14
SHA19feb64cf50a3daa186c635962d83adda3bc4123c
SHA256b288c4391e1f0089318fea6bf2530dbf44beddf56f401e04c724a9b961daf644
CRC32958b7239
Пример расположения файлаC:\Windows\Boot\EFI\

Имя файла bootmgr.efi

система Windows 8.1

Размер файла 1356632 bytes

Дата 2014-11-21

Подробности файла
MD53b8e0c3d6c5ae828a1d3f9570ac120bb
SHA112b0d1c091f98945bc458ebde9bec222edacfac7
SHA25647ef5b94e5664e3b4058395eee0f80cd322ef37123b7a0f63b2dc6f1dfbda41e
CRC32874f6f63
Пример расположения файлаC:\Windows\Boot\EFI\

Имя файла bootmgr.efi

система Windows 8

Размер файла 1117424 bytes

Дата 2012-07-26

Подробности файла
MD53f180c249f723b79c5377ad748577317
SHA11f7898c92c7f4fc644b0def3b1120632f8000e4d
SHA256df5aa4b123519ccccc6af7b423e8fc7ee49d0fbf258c4cfd23c5600db9eb6963
CRC32fb3b026d
Пример расположения файла1: C:\Windows\Boot\EFI\

Имя файла bootmgr.efi

система Windows 7

Размер файла 669568 bytes

Дата 2010-11-21

Подробности файла
MD594be43184925418c632a747be884d7ed
SHA101ccc6ce3537950809d19f08f81de15901aa9126
SHA256df14cb1dee4ca289c05bbd5cd5b5a98cfedef021b57a984302aca06c391eab6b
CRC3224010340
Пример расположения файлаC:\Windows\Boot\EFI\

Имя файла bootmgr.efi

система Windows Vista

Размер файла 546792 bytes

Дата 2009-04-11

Подробности файла
MD52055f121a7556a7e7c0bb5114cf5c850
SHA13eb2c35d30dc4c2650a3a77c751d2feaeea63486
SHA25621123a7bc48046e355a8f3997c9a498b85543ac5ea2fb0bf1e436f37022036a1
CRC32b7c836ba
Пример расположения файлаC:\Windows\Boot\EFI\

Efi windows boot manager

Многие из тех, у кого на компьютере установлено две или более EFI -системы Windows на разных жёстких дисках, и все они со своими автономными загрузчиками, наверняка сталкивались с проблемой путаницы в перечне выбора устройств загрузки BIOS UEFI из-за одинаково назначенной всем дискам записи «Windows Boot Manager». Когда UEFI -загрузка дисков значится именно так, а не по названиям носителей информации. И приходится наугад выбирать запись, а вместе с ней и диск загрузки.

Как решить такую проблему? Если функционал самой прошивки UEFI позволяет редактировать наименование позиций загрузки, это, соответственно, можно сделать в среде UEFI . Если же нет, записи «Windows Boot Manager» можно переименовать с использованием программы EasyUEFI.

Как это делается?

Итак, на компьютере установлено две Windows на разных жёстких дисках. Это две операционные системы с автономными загрузочными EFI -разделами, их запуск определяется приоритетом загрузки в BIOS . Но, увы, в нём имеем неразбериху – оба жёстких значатся под записью «Windows Boot Manager».

Хотя в идеале как минимум один из дисков должен отображаться как UEFI -устройство по своему названию.

Как с помощью EasyUEFI навести порядок в перечне выбора устройств загрузки?

1. О программе

EasyUEFI – это редактор загрузчика для EFI -систем на GPT -дисках от компании Hasleo Software. Программа может пересоздавать EFI -загрузчик, переносить его на другой раздел, делать его бэкап, реанимировать из бэкапа. А также предлагает доступ к управлению параметрами загрузки установленных на компьютере EFI операционных систем.

Программа платная, но у неё есть полнофункциональная 15-дневная триал-версия, с помощью которой можно провести предложенные ниже операции.

Скачать триалку можно на официальном сайте Hasleo Software:

Ну а теперь к делу.

Устанавливаем программу в любую Windows, запускаем.

2. Переименование загрузочных записей

В главном окне программы выбираем «Manage EFI Boot Option».

Перед нами откроется перечень записей UEFI -устройств загрузки – всех жёстких дисков, флешек, DVD-дисков и т.п. Коль имеем обозначенную выше проблему, диски, соответственно, будут значиться под записями «Windows Boot Manager». Где из них какая от какого жёсткого, можем кликнуть её и увидеть внизу на карте дисков, как подсветится красным EFI -раздел загрузчика. Где этот раздел находится, такому диску, соответственно, и будет принадлежать запись.

Как переименовать запись «Windows Boot Manager»? Кликаем любую, жмём кнопку редактирования на панели посередине окна EasyUEFI.

В окне редактирования также будем видеть карту дисков, и также EFI -раздел загрузчика, которому принадлежит запись, будет подсвечен красным. Переименовываем запись: вверху в графе «Description» удаляем старое название и вводим своё. Или, как в нашем случае, делаем понятную нам дописку, что это загрузчик диска HDD. Поскольку другой диск компьютера – это SSD.

По итогу жмём внизу «Ок».

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

Вводим в графу «Description» дописку «SSD». Жмём «Ок».

Заходим в BIOS и смотрим результат.

Обе записи или как минимум одна из них должны быть переименованы. Если переименована только одна, вторая запись должна преобразоваться в отображение названия жёсткого диска как UEFI -устройства.

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

Windows boot manager – комплекс программ и команд, ответственных за загрузку системы и инициализацию компонентов компьютера. Его работа позволяет загружать операционную систему (ОС) на компьютере. Поскольку это комплекс компонентов, повлиять на него напрямую невозможно. Есть специальная утилита, расположенная в разделе «Загрузка» при открытии «msconfig».

Через данное окно подключаются или отключаются модули в конфигураторе запуска, что меняет настройки bootmgr (сокращённое название менеджера загрузки).

Взаимодействие Windows boot manager и BIOS

В целом можно утверждать, что функции комплексов BIOS и bootmgr взаимосвязаны и чем-то похожи. Первый запускает все компоненты компьютера, вводит их в работу и настраивает возможность обмена командами между пользователем и компьютером. Второй после этого принимает управление на себя и запускает другие системные программы, которым и будет отдано управление после. Следующая схема наиболее наглядно иллюстрирует порядок передачи управления компьютером операционной системе.

Порядок старта подразумевает, что при инициализации BIOS включается системный диск (не раздел диска, а именно жёсткий диск с ОС), где расположен bootmgr, который выгружается в оперативную память. Далее под управление Windows boot manager происходит запуск компонентов ОС и управление переходит уже к ним.

Функции менеджера загрузки

При запуске ОС выполняются следующие действия:

  • инициализация компонентов компьютера для работы в составе системы;
  • запись ядра ОС в оперативную память;
  • первичная настройка загруженного ядра;
  • передача управления ядру.

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

Типы загрузчиков

Следует отметить, что для операционной системы Windows существует всего 2 типа загрузчиков: NTLDR и Bootmgr. Для других ОС используются свои. Независимо от того, какой менеджер используется, заставить работать его с другим можно только через BIOS.

Расположение загрузчика

Физически Windows Boot Manager располагается на жёстком диске. Но перейти к нему через проводник не удастся (кроме случаев, когда настройка выполняется специально для этого). Физическое расположение менеджера привязано к скрытому системному разделу на диске – «Зарезервировано системой».

Структура bootmgr

Структура полностью является собственностью компании Microsoft, поэтому файл разобран энтузиастами и изучен не до конца. Основная информация касается порядка использования компонентов: MBR — PBR (VBR) — BOOTMGR — winload.exe — NTOSKRNL.EXE — HAL.DLL. Попробуем разобрать назначение этих компонентов:

  1. MBR – основная запись загрузчика (примерный перевод). Это первые 512 байт носителя, который хранит в себе основную информацию об инициализации устройства и его содержимом. Эта информацию сообщает о том, что и откуда загружать.
  2. PBR(VBR) – частичная запись загрузчика (или запись загрузчика раздела). Управление к ней переходит, когда MBR даёт информацию обо всех наличествующих на диске PBR. В свою очередь в данной записи хранится информация о том, какой код необходимо запустить первым.
  3. BOOTMGR – менеджер загрузки. На него ссылается PBR во время запуска компьютера. С момента, когда вступает в работу эта утилита начинается полноценная загрузка Windows 7, 8 или 10. Здесь выполняется подготовка к запуску системы. В пределах этой утилиты происходит сброс контроллера диска (передача полномочий от предыдущих элементов следующим) и инициализации шины, которая отвечает за работу устройств.
  4. Winload.exe – запускает драйвера в пределах ОС. Это в свою очередь позволяет Windows получить контроль над компьютером.
  5. NTOSKRNL.EXE – ядро операционной системы. Этот элемент отвечает за полноценный запуск Windows.
  6. HAL.DLL – библиотека абстрагирования, которая позволяет остальным компонентам свободно взаимодействовать с реальными элементами компьютера.

А вот сам Bootmgr изучен ещё не окончательно. Условно он делится на следующие блоки:

  • 16-ти битный сегмент. Есть только теории, потому как интерпретация кода затруднена. Данный фрагмент кода отвечает за предварительную подготовку процессора к старту загрузки.
  • PE-образ. Энтузиасты теряются в догадках о его назначении. Наиболее правдоподобно выглядит теория о том, что это пустышка, которая будет заполнена позднее необходимыми данными.
  • Запакованный загрузчик. Исходя из теории о предыдущем разделе следует, что после записи образа будет использоваться файл bootmgr.exe задача которого обработать предыдущую «болванку», заполняя её необходимой информацией.

Сложность процедуры дизассемблирования кода и его дальнейшего чтения замедляет изучение менеджера загрузки. И ни капли не упрощает для пользователя исправление его ошибок.

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

Отключить Windows Boot Manager можно в БИОСе. Непосредственно вместо инициализации выбранной системы будет происходить инициализация другой из указанного места. В «Boot Priority» BIOS выставляется другая очередь запуска.

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

Менеджеру загрузки характерны следующие ошибки.

Bootmgr is missing

Данная ошибка указывает на отсутствие манифеста на диске. Возникать она может в разных ситуациях:

  • файл повреждён;
  • неверно настроен порядок использования файлов;
  • жёсткий диск отключён.

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

Bootmgr is compressed

При старте компонента возникла ошибка. Это событие может быть результатом повреждения жёсткого диска или самого bootmgr. Исправление сложное, но всё-таки доступно даже рядовому пользователю.

Потребуется найти установочный диск Windows, запустить установку ОС и дойти до пункта выбора места установки. Вместо того, чтобы разбивать жёсткий диск возвращаетесь на шаг назад и запускаете командную строку. В неё вводится следующая команда: bootrec.exe /fixmbr. Таким образом будет записан стандартный вид менеджера загрузки и Виндовс может запуститься в нормальном режиме. Данная мера является крайней!

Способ также устраняет проблему — Bootmgr is missing.

Windows boot manager boot failed

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

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

Приобрёл и установил SSD в ноутбук. (FUJITSU LifeBook a544)
Установил (с помощью caddy). Интерфейс SATA III. Подобран корректно.

Проблема: в bios (v. 1.18) не отображается сам SSD, вместо этого есть Windows Boot Manager. Систему я установил успешно (Windows 10), всё работает отлично, но тот факт, что bios не распознает, что у меня стоит SSD, меня пугает. + ноутбук стал работать более шумно, при сёрфинге иногда куллер работает слишком сильно (перегрева явного нет, но при ос на HDD такого шума в режиме сёрфинга не замечал). При питания явно начинает шуметь куллер, в bios также.
Возможно SSD с ос установленны не правильно? Знаний в этой области имею мало, не флеймите, если что-то пишу не так. Нужную доп. инфу дам в ответах

Режим AHCI включён на уровне Windows (в bios функции таковой нет). При установке ос SSD был конвертирован в GPT формат.

  • Вопрос задан более года назад
  • 23522 просмотра

Почему Windows загружается с Windows Boot Manager, а не с SSD?

Это невозможно. Windows Boot Manager это программа, которая запускает Windows, хранится эта программа, на диске, сама Windows тоже на диске.

всё работает отлично, но тот факт, что bios не распознает, что у меня стоит SSD

Вы вероятно что-то путаете.
Если bios не распознает диск, то вы никак не сможете поставить на него систему. Если же вы поставили на него систему, значит распознает.

ноутбук стал работать более шумно, при сёрфинге иногда куллер работает слишком сильно

Диски на кулер никак не влияют. Смотрите кулер.

Возможно SSD с ос установленны не правильно?

Возможно. Но проверить очень просто. Если ОС загружается значит все установлено правильно.

Режим AHCI включён на уровне Windows (в bios функции таковой нет).

Это невозможно. Windows Boot Manager это программа, которая запускает Windows, хранится эта программа, на диске, сама Windows тоже на диске.

в Boot Priority в bios первым стоит Windows Boot Manager. Также есть floppy disk, usb cd/dvd, cd/dvd drive, hdd.

Если bios не распознает диск, то вы никак не сможете поставить на него систему. Если же вы поставили на него систему, значит распознает.

я о том, что в bios его не видно. должно же писать что-то вроде ssd goodram120gb и тд.

Диски на кулер никак не влияют. Смотрите кулер.

Диски на кулер не влияют, но он так себя ведёт только при наличии ssd в ноутбуке. Когда-то была проблема схожая: достал dvd привод (по причине поломки), система сразу начала перегружаться (цп на 70-100%). Перестало грузить только когда вернул привод на место.

Если ОС загружается значит все установлено правильно.

в Boot Priority в bios первым стоит Windows Boot Manager. Также есть floppy disk, usb cd/dvd, cd/dvd drive, hdd.

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

я о том, что в bios его не видно. должно же писать что-то вроде ssd goodram120gb и тд.

Должно. Если биос его видит. Если не видит, вы с него не загрузитесь.
Вероятнее всего вы просто не там смотрите.

Диски на кулер не влияют, но он так себя ведёт только при наличии ssd в ноутбуке. Когда-то была проблема схожая: достал dvd привод (по причине поломки), система сразу начала перегружаться (цп на 70-100%). Перестало грузить только когда вернул привод на место.

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

ОС загружается и функционирует шустро, но меня волнует стала ли она хорошо. В биосе шумит сильно, чуть-чуть греется (такого не должно быть), значит уже что-то не так :/

Потому что, каждая операционная система загружается через загрузчик — специальный код, который инициализирует оборудование, и после чего передаёт управление на ядро.
У линуксов это чаще всего Grub или в более современных дистрибутивах — systemd-boot. В современных Windows он называется Windows Boot Manager.

когда вы «просто выбираете диск», boot manager не используется?

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

А в режиме загрузки EFI, boot manager находится на определённым образом сконфигурированном диске, в виде простых исполняемых файлов в формате PE32/COFF. Этих файлов могут быть сотни. Соответственно, чтобы знать, какой из них грузить, его путь и параметры прописываются в nvram биоса. Вот этот Windows Boot Manager и есть тот самый файл, прописанный в энергонезависимую память. Вы можете его переименовать и написать, что душе угодно.

Grub зависает при естественной загрузке, но работает при выборе из меню EFI

К сожалению, Boot Repair не обрабатывает диски NVMe должным образом, поэтому в отчете BootInfo отсутствует куча важной информации; Тем не менее, он показывает один ubuntu запись в списке менеджера загрузки NVRAM, так что маловероятно, что система загружается по другому пути — за исключением того, что у вас есть запасной загрузчик (EFI/BOOT/bootx64.efi) из другого файла в этом каталоге (fbx64.efi), вероятно, является инструментом для восстановления настроек загрузки в случае сбоя прошивки. Этот инструмент, а также способы его настройки и использования описаны в моей документации по rEFInd (хотя она не является частью rEFInd; эта страница просто содержит наиболее полное и краткое описание fbx64.efi что я знаю)

http://www.rodsbooks.com/refind/bootcoup.html

Возможно, ваш компьютер теряет переменную порядка загрузки, загружаясь через Shim (как EFI/BOOT/bootx64.efi) а также fbx64.efi, который затем пинает процесс загрузки на обычный ubuntu запись (которая запускает второй Shim, а затем GRUB), который затем зависает; но когда ubuntu запись запускается напрямую, работает нормально. Это может произойти из-за ошибок, связанных с запуском двух копий Shim, потому что fbx64.efi само по себе вызывает проблемы или по какой-то другой причине. Эта гипотеза очень умозрительна; это основано на очень небольшом количестве доказательств и нескольких предположениях. Это также предполагает ошибки в вашей прошивке, и, вероятно, в Шим, fbx64.efi и / или GRUB. Это согласуется с симптомами, которые вы видите, и это единственное объяснение, которое приходит на ум. Если это то, что происходит, вы можете попробовать, как диагностические процедуры или решить проблему:

  • Переименовать EFI/BOOT Каталог на ESP — Если вы переименуете этот каталог, и проблема останется такой же, как и сейчас, моя гипотеза неверна. (Это потому что переименование EFI/BOOT предотвратит попытки компьютера запустить шим и fbx64.efi хранится в этом каталоге; поэтому, если он продолжает загружаться, это должно быть так, что порядок загрузки и переменные загрузки сохраняются и учитываются, вопреки моей гипотезе.) Если, однако, компьютер начинает загружаться правильно или загружается прямо в Windows, то это свидетельствует о том, что он имел загружается таким образом, и моя гипотеза становится гораздо более вероятной. Вы должны быть в состоянии переименовать каталог обратно в EFI/BOOT восстановить (неудачную) загрузочную операцию, которая будет необходима для следующих трех ремонтов….
  • Отключить безопасную загрузку — отключение безопасной загрузки изменит способ работы Shim, и, если моя гипотеза верна, это может заставить работать вещи, или это может не иметь никакого эффекта. Даже если моя гипотеза верна, это изменение будет работать, только если сбой вызван Secure Boot, что может быть не так.
  • копия EFI/ubuntu/grub* в EFI/BOOT — если копируешь GRUB (grubx64.efi) и его файл конфигурации (grub.cfg) от EFI/ubuntu в EFI/BOOT затем Шим EFI/BOOT (то есть, EFI/BOOT/bootx64.efi) следует запустить GRUB непосредственно из EFI/BOOT вместо того, чтобы пройти fbx64.efi, Это должно обойти проблему, если моя гипотеза верна.
  • Использовать rEFInd — мой менеджер загрузки rEFInd загружается совершенно иначе, чем GRUB, так что скорее всего проблема не будет затронута. Однако, когда активна безопасная загрузка, вам нужно зарегистрировать один или два ключа в своем списке MOK, как описано в документации по безопасной загрузке. Кроме того, вам может потребоваться удалить или переименовать EFI/ubuntu/BOOTX64.CSV файл на вашем ESP. (Переименуйте его в нечто с именем файла, которое не заканчивается на .CSV или любой измененный регистр вариант этого, как .csv.) Причина в том, что fbx64.efi ищет .CSV файлы для регенерации загрузочной записи на основе NVRAM, поэтому, если этот файл присутствует, существует вероятность 50/50, что он будет иметь приоритет над BOOT.CSV файл, который rEFInd создает для себя, в результате чего система загружается в GRUB и продолжает отказывать, как вы описали.
  • Обновите прошивку — если ваш производитель предлагает более новую прошивку (вероятно, называемую «BIOS»), чем та, которую вы используете сейчас, вы можете обновить ее. Это выстрел в темноте, хотя; Ваша проблема звучит настолько экзотично, что вряд ли она будет решена в обновлении прошивки.

Я рекомендую вам попробовать первый из этих вариантов в качестве диагностического. Если поведение загрузки меняется, как я описал, вы можете восстановить EFI/BOOT так, как это было, и попробуйте любой из следующих трех вариантов — или более одного, если ваша первая попытка не удалась. Если, OTOH, переименование EFI/BOOT не имеет никакого эффекта, тогда следующие две опции вряд ли будут работать (хотя отключение Secure Boot может помочь). Установка rEFInd становится вариантом, который, скорее всего, сработает в этом случае, но это действительно выстрел в темноте. Обновление прошивки может работать, даже если первая диагностическая опция не меняет поведение, но, как я уже сказал, это отчаянный вариант, который вряд ли сработает независимо от причины. Тем не менее, стоит попробовать, если у вас нет других вариантов (или, может быть, даже если у вас есть — обновления прошивки могут исправить все виды проблем, добавить функции и повысить производительность).

Удачи в решении вашей проблемы!

Сделайте загрузочный компакт-диск WinPE с загрузочным меню rEFInd

Сделайте загрузочный компакт-диск WinPE с загрузочным меню rEFInd


Сделать загрузочный компакт-диск в формате UEFI намного сложнее, чем диск U.
Программа загрузки Windows в режиме UEFI может загружаться только с компакт-диска в формате UDF, в то время как rEFInd не поддерживает загрузку с компакт-диска в формате UDF. Исходный компакт-диск Windows предназначен для загрузки cdboot.efi путем загрузки образа дискеты.После запуска cdboot.efi он найдет файл bootmgr.efi на компакт-диске формата UDF и запустит его. Теперь нам нужно только создать дискету, содержащую как rEFInd, так и cdboot.efi, чтобы позволить rEFInd загружать компакт-диск WinPE. Чтобы rEFInd распознал загрузочный файл Windows, нам нужно переименовать cdboot.efi в bootmgfw.efi и вставить его в Папка efi / microsoft / boot образа гибкого диска. Файл cdboot.efi находится под файлом efi / microsoft / boot на исходном компакт-диске Windows. Вы можете использовать cdboot_noprompt.efi вместо cdboot.efi, чтобы не было запроса на подтверждение загрузки с компакт-диска. Образ дискеты rEFInd можно найти в образе компакт-диска. Я загрузил версию 0.11.5, имя файла образа дискеты — find-bin-0.11.5.img.
Адрес загрузки образа компакт-диска:
http://www.rodsbooks.com/refind/getting.html загрузить файл образа CD-R

Как сделать образ дискеты под MacOS:
Создайте RAM-диск размером 6 МБ

hdiutil attach -nomount ram://12288 

После этого созданный файл устройства отобразится на терминале.
Имя файла устройства связано с количеством дисков на вашем компьютере, и на моем компьютере отображается / dev / disk3
, где / dev / disk3 заменяется именем файла устройства, отображаемым в команде верхней панели текста

newfs_msdos -v 'EFI' /dev/disk3

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

mkdir mnt     
mount -t msdos /dev/disk3 mnt

Дважды щелкните find-bin-0.11.5.img для монтирования, скопируйте все файлы внутри в папку mnt

mkdir mnt/efi/microsoft
mkdir mnt/efi/microsoft/boot
cp cdboot.efi mnt/efi/microsoft/boot/bootmgfw.efi
umount mnt
dd if=/dev/disk3 of=efiboot.img
hdiutil eject /dev/disk3 

После этого образ виртуальной дискеты успешно создан.

Создайте папку, назовите ее iso, поместите все файлы образа гибкого диска и компакт-диска WinPE в папку iso, вам понадобится файл bootmgr.efi, если нет, извлеките его с оригинального компакт-диска Windows.
Если вы хотите быть совместимым с методом загрузки BIOS, вы можете извлечь загрузочный файл etfsboot.com из исходного образа Windows 7 и сохранить его в папке iso.
Система MacOS может устанавливать cdrtools под brew

Команда для создания iso под MacOS:

mkisofs -udf -hide-udf boot.catalog -hide-udf efiboot.img -hide-udf etfsboot.com -o boot.iso -V rEFIndPE -no-emul-boot -b etfsboot.com -eltorito-alt-boot -b efiboot.img -no-emul-boot iso

Метод создания образа дискеты под Linux:

dd if=/dev/zero of=efiboot.img bs=512 count=12288
mkfs.vfat efiboot.img
mkdir mnt
sudo mount efiboot.img mnt
mkdir fdd
sudo mount refind-bin-0.11.5.img fdd
sudo cp -RP fdd/* mnt/
sudo mkdir mnt/efi/microsoft
sudo mkdir mnt/efi/microsoft/boot
sudo cp cdboot.efi mnt/efi/microsoft/boot/bootmgfw.efi
sudo umount mnt
sudo umount fdd

Поскольку встроенный в систему Linux mkisofs не может инкапсулировать один компакт-диск UDF, последний пакет требует помощи официального инструмента Windows oscdimg.
Поместите подготовленный образ дискеты efiboot.img и извлеките загрузочный файл etfsboot.com, папку iso и oscdimg.exe из исходного образа Windows7 в папку, запустите cmd, cd, чтобы войти Эта папка
Запустите команду:

oscdimg -lrEFIndPE -u2 -bootdata:2

Эффект запуска в виртуальной машине

ubuntu — Как переустановить диспетчер загрузки Windows на раздел EFI

Я удивлен, что запуск bcdboot вручную против ESP не помог; на самом деле, это можно было даже рассматривать как ошибку (то есть о том, чтобы сообщить о ней в Microsoft). Вы на 200% уверены, что правильно определили, что ваша прошивка считает системным разделом?

Системный раздел EFI — не единственное место для очистки, переменные EFI (управляемые прошивкой UEFI) также могут быть повреждены, особенно с учетом того, что вы упомянули, что переустановка BIOS имела неблагоприятные последствия. bcdedit / store P: \ ath \ to \ BCD \ file \ on \ mount \ efi \ part / import / clean (из командной строки расширенных параметров восстановления W8) — это Способ Windows очистить свою кэшированную копию, которую вы действительно видите на экране диспетчера загрузки Windows; Linux предлагает через эфивары даже более мощные инструменты.

Пока вы здесь, следуйте совету Рода и тщательно проверьте вывод bcdedit / store P: \ ath \ to \ BCD / enum all на предмет ненужных или неуместных записей, от которых вы можете попытаться избавиться. после создания резервной копии файла BCD.

Если рассматривать только Windows, организация ESP проста: кроме мощного Bootx64.efi , все находится в каталоге \ EFI \ Microsoft \ Boot \ . Единственный файл, который вы можете редактировать, — это BCD через bcdedit. Для загрузки вам потребуется только \ EFI \ Boot \ Bootx64.efi , \ EFI \ Microsoft \ Boot \ BCD и \ EFI \ Microsoft \ Boot \ boot.stl на ESP, при условии, что бывший является копией \ EFI \ Microsoft \ Boot \ bootmgfw.efi ; Сохранение этого в дальнейшем — хорошая мера предосторожности, особенно с учетом того, что вы рассматриваете возможность установки других менеджеров загрузки, которые могли бы заменить мощный Bootx64.efi (но обычно лучше не трогать bootmgfw.efi.) Во время процесса загрузки некоторые (скрытые) BCD. log * и Файлы BOOTSTAT.DAT будут автоматически созданы в \ EFI \ Microsoft \ Boot \ . Вы также можете увидеть \ EFI \ Microsoft \ Boot \ bootmgr.efi , хотя, похоже, никто не знает, для чего он нужен… Каталоги ll-CC с ресурсами MUI помогают отображать неанглийские сообщения вместо этого, в зависимости от настроек в BCD; аналогично шрифты могут понадобиться для нелатинских регистров; Я обнаружил, что удаление всего этого материала i18n для очистки не помогло в долгосрочной перспективе, так как я использую, чтобы вернуть их на место, чтобы вернуть свой родной язык во время загрузки.

Разница между bootmgr.efi и bootmgfw.efi

Решение:

По этой ссылке

bootmgr — менеджер загрузки Windows в системах с прошивкой BIOS.Этот файл будет загружен как часть процесса загрузки BIOS — обычно загрузочное устройство устанавливается в BIOS. Предполагая, что загрузочное устройство является устройством типа жесткого диска, тогда загружается основная загрузочная запись> активный раздел указан в таблице разделов> загружается загрузочная запись раздела (PBR) в активном разделе> код в PBR загружает bootmgr> bootmgr загружает файл BCD.

bootmgfw.efi — менеджер загрузки Windows в системах с прошивкой UEFI. Этот файл загружается непосредственно из записи диспетчера загрузки Windows в меню загрузки микропрограммы, хранящейся в NVRAM.Типичный процесс загрузки: Firmware Boot Manager> \ EFI \ Microsoft \ boot \ bootmgfw.efi в системном разделе EFI загружается через запись диспетчера загрузки Windows> bootmgfw.efi загружает файл BCD (путь к файлу BCD — \ EFI \ Microsoft \ загрузочный \ BCD).

Итак .. Как вы, наверное, догадались, запустив bcdedit (в Windows) или efibootmgr (в Linux), bootmgfw.efi — это загрузчик Windows UEFI, который затем загрузит winload.efi и, следовательно, остальная часть ОС.

Запасной исполняемый файл в \ EFI \ Boot \ bootx64.efi также является копией этого.

Но действительно, похоже, почти нет информации о bootmgr.efi . После единственного упоминания о нем в MSDN я обнаружил, что после его переименования W8 Advanced Startup Options перестает работать (в то время как система все еще может нормально загружаться).

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

Также объясняется, почему он находится в корне установочного DVD-носителя (хотя я до сих пор не уверен, как вы могли активировать это впоследствии в Vista и 7)

Использование команды Linux efibootmgr для управления меню загрузки UEFI

Утилита командной строки Linux efibootmgr очень удобна, когда дело доходит до управления загрузочным меню UEFI. В этом руководстве показано, как использовать efibootmgr на 5 примерах. Предполагается, что вы установили Linux в режиме UEFI.

Утилиту командной строки efibootmgr можно установить с помощью следующих команд.

Debian / Ubuntu / Linux Mint

 sudo apt установить efibootmgr 

Fedora, CentOS, RedHat

 sudo dnf установить efibootmgr 

SuSE

 sudo zypper установить efibootmgr 

Arch Linux / Manjaro

 судо пакман -S efibootmgr 

1 Отображение текущих настроек

Просто выполните следующую команду. В некоторых дистрибутивах Linux, таких как Debian, вам нужно запускать его с привилегией sudo .

 efibootmgr 

Эта команда позволяет просмотреть загрузочную запись по умолчанию (BootCurrent), порядок загрузки и все загрузочные записи.Каждая загрузочная запись идентифицируется номером загрузки в шестнадцатеричном формате. Звездочка (*) означает, что загрузочная запись активна.

Вы также можете добавить опцию -v для отображения подробной информации.

 efibootmgr -v 

Вы можете увидеть номер системного раздела EFI, тип таблицы разделов (GPT), UUID системного раздела EFI и файл загрузчика.

На приведенном выше снимке экрана показано, что мой системный раздел EFI (ESP) находится на 7-м разделе моего жесткого диска (/ dev / sda7).Это таблица разделов GPT.

2. Изменение порядка загрузки

Сначала скопируйте текущий порядок загрузки. Например, мой порядок загрузки:

 0013,0012,0014,0000,0001,0002,0003,000D, 0011,0007,0008,0009,000A, 000B, 000C, 000E 

Затем введите следующую команду

 судо efibootmgr -o 

И добавьте порядок загрузки к указанной выше команде.

 судо efibootmgr -o 0013,0012,0014,0000,0001,0002,0003,000D, 0011,0007,0008,0009,000A, 000B, 000C, 000E 

Допустим, вы хотите, чтобы 0012 было первой загрузочной записью.Все, что вам нужно сделать, это переместить его влево от 0013 и нажать Enter.

 судо efibootmgr -o 0012,0013,0014,0000,0001,0002,0003,000D, 0011,0007,0008,0009,000A, 000B, 000C, 000E 

3. Добавление загрузочной записи

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

Загрузитесь в дистрибутив Linux, в котором нет загрузочной записи UFEI. Затем убедитесь, что на нем установлена ​​EFI-версия загрузчика GRUB.

Debian / Ubuntu / Linux Mint

 sudo apt install grub-efi 

Fedora

 sudo dnf установить grub2-efi-modules 

Затем смонтируйте системный раздел EFI (ESP) в каталог / boot / efi / . В этом примере / dev / sda7 — это ESP.

 крепление sudo / dev / sda7 / boot / efi / 

Затем установите загрузчик Grub в ESP.

 sudo grub-install / dev / sda --target = x86_64-efi --efi-directory = / boot / efi / 

x86_64-efi означает, что мы собираемся установить Grub для прошивки UEFI.Целевое значение по умолчанию — i386-pc , что соответствует традиционной прошивке BIOS.

Теперь вы должны увидеть новую запись в меню загрузки UEFI с командой bootmgr . Под капотом установщик Grub сначала устанавливает файл загрузчика .efi в каталог / boot / efi / EFI / . Обычно он называется grubx64.efi. Затем он запускает следующую команду, чтобы добавить новую запись в меню загрузки UEFI.

 efibootmgr -c -d / dev / sda -p 7 -L <метка> -l \ EFI \ <метка> \ grubx64.efi 

Новая добавленная запись будет первой в порядке загрузки.

4. Удаление загрузочной записи

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

 судо efibootmgr -b <номер загрузки> -B 

Например,

 судо efibootmgr -b 0014 -B 

-b опция указать номер загрузки. -B вариант удалить этот загрузочный номер.

5. Установка активной или неактивной загрузочной записи

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

 судо efibootmgr -b  -a 

Чтобы сделать загрузочную запись неактивной, введите:

 судо efibootmgr -b <номер загрузки> -A 

Заключение

Я надеюсь, что это руководство поможет вам освоить команду Linux efibootmgr .Вы когда-нибудь задумывались, можно ли загрузить файл ISO без создания Live USB или live CD? Пожалуйста, прочтите следующий учебник:

Как всегда, если вы нашли этот пост полезным, подпишитесь на нашу бесплатную рассылку новостей, подпишитесь на нас в Twitter или поставьте лайк на нашей странице в Facebook. Спасибо за визит!

efibootmgr (8): изменить EFI Boot Manager

Имя

efibootmgr — управлять диспетчером загрузки EFI

Сводка

efibootmgr [ -a ] [ -A ] [ -b XXXX ] [ -B XXXX ] [ -c ] [ -d ДИСК] 9024 [ -e 1 | 3 | -1 ] [ -E НОМЕР ] [ -g ] [ -H XXXX ] [ -i ИМЯ ] [ -l ИМЯ ] [ -L ЭТИКЕТКА ] [ -n XXXX ] [ -N ] [ -o XXXX , YYYY , ZZZZ ] [ -O ] [ -p ЧАСТЬ ] [ -q ] [ -t секунды ] [ -T ] [ -u ] [ -U XXXX ] [ -v ] [ — V ] [ -w ] [ — @ файл ]

Описание

efibootmgr — это приложение пользовательского пространства, используемое для изменения диспетчера загрузки Intel Extensible Firmware Interface (EFI). Это приложение может создавать и уничтожить загрузочные записи, изменить порядок загрузки, изменить параметр следующей запущенной загрузки и многое другое.

Подробные сведения о диспетчере загрузки EFI доступны в спецификации EFI версии 1.02 или более поздней по адресу:

Примечание: efibootmgr требует, чтобы поддержка ядра доступ к энергонезависимым переменным EFI (через / proc / efi / vars на ядрах 2.4, / sys / firmware / efi / vars на ядрах 2.6). modprobe efivars должен помочь.

Опции

Ниже приводится список опций, принимаемых efibootmgr:

-a | —активный
Устанавливает загрузочный номер активным
-A | — неактивный
Устанавливает bootnum неактивным
-b | —bootnum XXXX
Изменить загрузку XXXX (шестнадцатеричный)
-B | —delete-bootnum
Удалить bootnum (шестнадцатеричный)
-c | — создать
Создать новую переменную bootnum и добавить ее в Bootorder
-d | —диск ДИСК
Диск, содержащий загрузчик (по умолчанию / dev / sda )
-e | —edd 1 | 3 | -1
Force EDD 1.0 или 3.0 переменные создания, или угадайте.
-E | —устройство НОМЕР
Номер устройства EDD 1.0 (по умолчанию 0x80)
-g | — gpt
Принудительно обрабатывать диск с недопустимым PMBR как GPT
-H | —acpi_hid XXXX
установить ACPI HID (используется с -i )
-i | —iface НАЗВАНИЕ
создать запись сетевой загрузки для указанного интерфейса
-l | — загрузчик ИМЯ
Укажите загрузчик (по умолчанию \ elilo.efi )
-L | — этикетка этикетка
Отображаемая метка диспетчера загрузки (по умолчанию «Linux»)
-n | —bootnext XXXX
Установить BootNext на XXXX (шестнадцатеричный)
-N | —delete-bootnext
Удалить BootNext
-o | — ботинок XXXX , YYYY , ZZZZ
Явно установить BootOrder (шестнадцатеричный)
-O | —delete-bootorder
Удалить BootOrder
-p | —part PART
Номер раздела, содержащего загрузчик (по умолчанию 1)
-q | — тихий
Тихий режим — подавление вывода.
— тест имя файла
Не писать в NVRAM, писать в имя файла .
-t | — тайм-аут секунды
Тайм-аут диспетчера загрузки, в секунды .
-T | —delete-timeout
Удалить переменную тайм-аута.
-u | —unicode | —UCS-2
передать дополнительные аргументы командной строки как UCS-2 (по умолчанию ASCII)
-U | —acpi_uid XXXX
устанавливает ACPI UID (используется с -i )
-v | —verbose
Подробный режим — печать дополнительной информации
-V | — версия
Просто напечатайте строку версии и выйдите.
-w | — подпись
при необходимости записать уникальную подпись в MBR
— @ | —append-binary-args
добавить дополнительные аргументы переменных из файла (используйте — для чтения из стандартного ввода). Данные в файле добавляются в качестве аргументов командной строки к команде загрузчика без изменение данных, чтобы вы могли передавать любые необходимые двоичные или текстовые данные.

Примеры

.

Отображение текущих настроек (должен быть root).

[root @ localhost ~] # efibootmgr BootCurrent: 0004 BootNext: 0003 BootOrder: 0004,0000,0001,0002,0003 Тайм-аут: 30 секунд Boot0000 * Diskette Drive (устройство: 0) Boot0001 * CD-ROM (устройство: FF) Boot0002 * Жесткий диск (устройство: 80) / HD (Part1, Sig00112233) Boot0003 * Загрузка PXE: MAC (00D0B7C15D91) Boot0004 * Linux

Это показывает:

  • BootCurrent — загрузочная запись, используемая для запуска текущей запущенной системы
  • BootOrder — порядок загрузки, отображаемый в диспетчере загрузки.Диспетчер загрузки пытается загрузить первую активную запись в этом списке. В случае неудачи он пробует следующую запись и так далее.
  • BootNext — загрузочная запись, запуск которой запланирован при следующей загрузке. Он заменяет BootOrder только для одной загрузки и удаляется диспетчером загрузки после первое использование. Это позволяет изменить поведение следующей загрузки без изменения BootOrder.
  • Тайм-аут — время в секундах между появлением диспетчера загрузки на экране до момента, когда он автоматически выберет значение запуска из BootNext или Порядок загрузки.
  • Пять загрузочных записей (0000 — 0004), а также флаг активности / неактивности (* означает активный) и имя, отображаемое на экране.

.

Создание нового варианта загрузки

Установщик ОС позвонит efibootmgr -c . Это предполагает, что / boot / efi является вашим системным разделом EFI и смонтирован в / dev / sda1 . Этот создает новую опцию загрузки под названием «Linux» и помещает ее в начало списка порядка загрузки. Для изменения поведения по умолчанию могут быть переданы параметры.ОС по умолчанию Погрузчик elilo.efi .

.

Изменение порядка загрузки

Предполагая конфигурацию в Примере № 1, можно вызвать efibootmgr -o 3,4 , чтобы указать сначала загрузку PXE, а затем загрузку Linux.

.

Изменение порядка загрузки только для следующей загрузки

Предполагая конфигурацию в Примере № 1, можно вызвать efibootmgr -n 4 , чтобы указать, что запись Linux будет использоваться при следующей загрузке.

.

Удаление параметра загрузки

Предполагая конфигурацию в Примере № 1, можно вызвать efibootmgr -b 4 -B , чтобы удалить запись 4 и удалить ее из BootOrder.

.

Создание сетевых загрузочных записей

Системный администратор хочет создать вариант загрузки для сетевой загрузки (PXE). К сожалению, для этого нужно знать немного больше информации о вашей системе. чем можно легко найти с помощью efibootmgr, поэтому вам нужно передать дополнительную информацию — значения ACPI HID и UID.Обычно их можно найти с помощью EFI Boot Manager (в среде EFI) для создания сетевой загрузочной записи, а затем с помощью efibootmgr для ее подробной печати. Вот один пример: Boot003 * Acpi (PNP0A03,0) / PCI (5 | 0) / Mac (00D0B7F9F510) \ ACPI (a0341d0,0) PCI (0,5) MAC (00d0b7f9f510,0) В этом случае HID ACPI — «0A0341d0» и UID равен «0». Для zx2000 gigE, HID — «222F», а UID — «500». Для rx2000 gigE HID — «0002», а UID — «100». Вы создаете загрузочную запись с помощью: efibootmgr -c -i eth0 -H 222F -U 500 -L сетевая загрузка

Ошибки

Направляйте любые ошибки, функции, исправления и т. Д.Мэтту Домшу .

Автор

Эта страница руководства была создана dann frazier для операционной системы Debian GNU / Linux, но может использоваться другими.

См. Также

Элило (1)

Как загрузить Ubuntu перед Windows с помощью диспетчера загрузки EFI

Что нужно знать

  • Вставьте установщик USB-накопителя Linux в компьютер. Удерживайте Shift при перезагрузке, чтобы загрузить Live-версию Linux.
  • Установите диспетчер загрузки EFI: в терминале для Ubuntu, Linux Mint, Debian или Zorin используйте команду apt.
  • Найдите текущий порядок загрузки и измените его. Поместите Linux, USB-накопитель и DVD-привод перед Windows в порядке загрузки.

Установка Linux с Windows иногда создает проблему, когда при перезагрузке компьютера вы видите Windows, но не видите вариант для вашего нового дистрибутива Linux. Эта ошибка связана с неправильной настройкой диспетчера загрузки EFI.Вот как решить проблему.

Загрузитесь в действующую версию Linux

Загрузитесь в живую версию Linux.

  1. Вставьте USB-накопитель или DVD , который вы использовали для установки Linux на свой компьютер.

  2. Загрузитесь в Windows.

  3. Удерживая нажатой клавишу Shift , перезапустите систему, удерживая нажатой клавишу Shift .

  4. Когда появится экран, выберите вариант загрузки с USB-устройства или DVD .

  5. Linux теперь должен загружаться в действующую версию операционной системы так же, как при первой установке.

Загрузка с DVD, CD или BD диска. LdF / E + / Getty Images

Как установить EFI Boot Manager

Вот как использовать EFI Boot Manager для управления порядком загрузки, чтобы вы могли выбрать загрузку в Linux или Windows.

  1. Откройте окно терминала, нажав Ctrl + ALT + T .

  2. Выполните соответствующую команду для установки диспетчера загрузки EFI в зависимости от используемого вами дистрибутива Linux:

Для Ubuntu, Linux Mint, Debian и Zorin используйте команду apt:

sudo apt установить efibootmgr 

Для Fedora и CentOS используйте команду yum:

sudo yum установить efibootmgr 

Для openSUSE:

sudo zypper установить efibootmgr 

Для Arch, Manjaro и Antergos используйте команду pacman:

Судо pacman -S efibootmgr 

Как узнать текущий порядок загрузки

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

судо efibootmgr 

Часть команды sudo повышает ваши права до уровня пользователя root, который требуется при использовании efibootmgr.Вы должны быть пользователем root, чтобы использовать efibootmgr.

Результат выглядит примерно так (хотя ваш будет немного отличаться):

  • BootCurrent: 0004
  • Тайм-аут: 0 секунд
  • BootOrder: 0004,0001,0002,0005,0006,2001
  • Boot0001 Диспетчер загрузки Windows
  • Boot0002 Сеть дисков
  • Boot0004 ubuntu00092
  • Загрузочный жесткий диск Привод DVD / CD-RW
  • Boot2001 EFI USB-устройство

Строка BootCurrent показывает, какой из вариантов загрузки использовался на этот раз.В этом примере 0004 — это Ubuntu.

Тайм-аут сообщает вам, как долго отображается меню до того, как будет выбран первый вариант загрузки. По умолчанию 0.

BootOrder показывает порядок, в котором будет загружена каждая опция. Следующий элемент в списке выбирается, если предыдущий элемент не загружается.

В этом примере система сначала загружает 0004, то есть Ubuntu, затем 0001, представляющий Windows, сети 0002, жесткий диск 0005, привод CD / DVD 0006 и, наконец, 2001, который представляет собой USB-накопитель.

Если бы заказ был 2001 0006 0001, система попыталась бы загрузить данные с USB-накопителя. Если бы USB-накопителя не было, он загрузился бы с DVD-привода и, наконец, загрузил бы Windows.

Как изменить порядок загрузки EFI

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

Например, возьмем этот список:

  • BootCurrent: 0001
  • Тайм-аут: 0 секунд
  • BootOrder: 0001,0004,0002,0005,0006,2001
  • Boot0001 Диспетчер загрузки Windows
  • Boot0002 Сеть дисковода
  • Boot0004 ubuntu00092
  • Boot0004 ubuntu
  • Загрузочный жесткий диск Привод DVD / CD-RW
  • Boot2001 EFI USB-устройство

Windows загружается первой, потому что ей присвоен номер 0001, который стоит первым в порядке загрузки. Ubuntu не загрузится, если Windows не загрузится, потому что ему назначен 0004, который идет после 0001 в списке порядка загрузки.

Рекомендуется поместить Linux, USB-накопитель и DVD-привод перед Windows в порядке загрузки.

В целях этого примера, чтобы изменить порядок загрузки таким образом, чтобы сначала был USB-накопитель, затем DVD-привод, затем Ubuntu и, наконец, Windows, используйте следующую команду.

sudo efibootmgr -o 2001,0006,0004,0001 

Список загрузки должен теперь выглядеть так:

  • BootCurrent: 0001
  • Тайм-аут: 0 секунд
  • BootOrder: 2001,0006,0004,0001
  • Boot0001 Диспетчер загрузки Windows
  • Boot0002 Network
  • Boot0004 ubuntu
  • Boot92-0006 DVD / Жесткий диск 905 RW Drive
  • Boot2001 EFI USB-устройство

Если вы не укажете все возможные варианты, они не будут указаны как часть порядка загрузки.Этот пример показывает, что 0002 и 0005 будут проигнорированы.

Как изменить порядок загрузки только для следующей загрузки

Если вы хотите временно сделать так, чтобы при следующей загрузке компьютера использовалась определенная опция, используйте следующую команду:

судо efibootmgr -n 0002 
  • BootCurrent: 0001
  • Тайм-аут: 0 секунд
  • BootOrder: 2001,0006,0004,0001
  • Boot0001 Диспетчер загрузки Windows
  • Boot0002 Network
  • Boot0004 ubuntu
  • Boot92-0006 DVD / Жесткий диск 905 RW Drive
  • Boot2001 EFI USB-устройство

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

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

sudo efibootmgr -N 

Установка тайм-аута

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

Выполните следующую команду:

Судо efibootmgr -t 10 

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

Удалите тайм-аут с помощью следующей команды:

sudo efibootmgr -T 

Как удалить пункт меню загрузки

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

  • BootCurrent: 0001
  • Тайм-аут: 0 секунд
  • BootOrder: 2001,0006,0004,0001
  • Boot0001 Диспетчер загрузки Windows
  • Boot0002 Network
  • Boot0004 ubuntu
  • Boot92-0006 DVD / Жесткий диск 905 RW Drive
  • Boot2001 EFI USB-устройство

Если у вас есть указанные выше параметры загрузки и вы хотите удалить Ubuntu, вы сначала измените порядок загрузки следующим образом:

судо efibootmgr -o 2001,6,1 

Затем удалите параметр загрузки Ubuntu с помощью следующей команды:

Судо efibootmgr -b 4 -B 

Первый -b выбирает вариант загрузки 0004, а -B удаляет вариант загрузки.

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

sudo efibootmgr -b 4 -A 

Вы можете снова сделать опцию загрузки активной, используя эту команду:

Судо efibootmgr -b 4 -a 

Спасибо, что сообщили нам!

Расскажите, почему!

Другой Недостаточно подробностей Трудно понять Загрузка

— проблема Grub / Bootmgr с Linux mint 19.2 и Windows 10

Однако после загрузки в Windows я не могу снова загрузиться в Linux (экран grub не появляется, ноутбук загружается в Windows напрямую)

Скорее всего, Windows 10 обнаруживает, что ее загрузочная запись UEFI NVRAM была изменена, и «самовосстанавливается» без учета других ОС, которые могут существовать в системе.Это то, что подойдет Windows 10, и, насколько я знаю, другого пути нет.

Текущее состояние загрузочных записей UEFI NVRAM можно просмотреть в выходных данных Boot-Repair в вашем pastebin:

  ======================================= UEFI ========== ===========================

BIOS совместим с EFI и настроен в режиме EFI для этого установленного сеанса.
SecureBoot отключен.

efibootmgr -v
BootCurrent: 0003
Тайм-аут: 0 секунд
BootOrder: 0000,0001,0003,9999
Boot0000 * Диспетчер загрузки Windows HD (1, GPT, afab201a-94f8-11e8-851f-806e6f6e6963,0x800,0x12bfff) / Файл (\ EFI \ ubuntu \ grubx64.efi) WINDOWS ......... x ... BCDOBJECT =. {. 9.dea8.6.2.c .-. 5.cdd-.4.e.7.0 .-. acc1.-. f.3.2.b.3.4.4.d.4.7.9.5.} ... a ................
Boot0001 * ubuntu HD (1, GPT, afab201a-94f8-11e8-851f-806e6f6e6963,0x800,0x12bfff) / Файл (\ EFI \ ubuntu \ grubx64.efi)
Boot0003 * Внутренний жесткий диск PciRoot (0x0) / Pci (0x17,0x0) / Sata (2,32768,0) / HD (1, GPT, afab201a-94f8-11e8-851f-806e6f6e6963,0x800,0x12bfff) .. BO
Boot9999 * USB-накопитель (UEFI) PciRoot (0x0) / Pci (0x1d, 0x0) / USB (16,0) .. BO
  

Обратите внимание, что запись Boot0000 в настоящее время является первой в BootOrder, и хотя ее удобочитаемое имя — «Диспетчер загрузки Windows», фактический исполняемый файл загрузки был изменен на \ EFI \ ubuntu \ grubx64.efi .

Это, вероятно, вызвано вашим bcdedit / set {bootmgr} path \ EFI \ ubuntu \ grubx64.efi , так как это буквально то, что команда говорит Windows делать.

Поскольку Windows 10 автоматически вернет его к стандартному \ EFI \ Microsoft \ boot \ bootmgfw.efi , как только он загрузится, а запись Boot0000 указана как первая в BootOrder , Windows ‘ «Самовосстановление» фактически заставит систему загружаться непосредственно в Windows, как только вы войдете в Windows.

Что вы можете сделать, так это изменить порядок загрузки, чтобы вместо этого первой была загрузочная запись для Ubuntu ( Boot0001 ). Это то, что Windows, похоже, не склонна вмешиваться, пока запись Boot0000 не изменяется. Сделать это можно несколькими способами:

a.) Получите доступ к настройкам порядка загрузки BIOS и переместите запись, которая (надеюсь) помечена как ubuntu , как первая в порядке загрузки.

b.) В командной строке Windows с повышенными привилегиями запустите bcdedit / enum FIRMWARE , найдите загрузочную запись с описанием , установленным на ubuntu , и обратите внимание на ее идентификатор : это будет длинная строка UUID в фигурных скобках.Затем запустите bcdedit / set {fwbootmgr} DEFAULT {UUID записи ubuntu} . Примечание: здесь важно использовать {fwbootmgr} вместо {bootmgr} .

c.) В Linux вы можете переопределить порядок загрузки с помощью:

  судо efibootmgr --bootorder 0001,0000,0003,9999
  

Это должно разместить запись ubuntu первой в порядке загрузки, затем Windows Boot Manager , а затем другие существующие записи в том же порядке, в котором они находятся в настоящее время.

Но, пожалуйста, читайте дальше …


Ваш pastebin также указывает, что Boot-Repair успешно выполнил следующее:

  мв /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/Boot/bkpbootmgfw.efi
cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
  

Другими словами, он отодвинул Windows bootmgfw.efi в сторону и заменил его копией UEFI GRUB. Иногда это необходимо для обхода ошибок прошивки UEFI, но, поскольку ваша система ранее работала, в вашем случае, вероятно, не было необходимости.Вам нужно будет отменить это. В Mint достаточно sudo cp /boot/efi/EFI/Microsoft/Boot/bkpbootmgfw.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi .

В качестве альтернативы, если вы войдете в Windows, она, вероятно, немедленно заменит bootmgfw.efi версией для Windows, даже не сообщая вам, во имя «самовосстановления».


Похоже, ваши настройки BIOS обманывают вас: «устаревший режим» больше похож на «либо MBR, либо UEFI, но, очевидно, предпочтительнее UEFI».

При отключении устаревшего режима возникает ошибка аутентификации изображения

Это означает, что «выключение устаревшего режима» также автоматически включит безопасную загрузку.

Поскольку Windows bootmgfw.efi теперь заменена копией grubx64.efi и загружается напрямую прошивкой без shimx64.efi , можно ожидать, что проверка безопасной загрузки не пройдёт … и «ошибка аутентификации изображения» может показаться именно этим.

Итак, чтобы ваша загрузочная запись ubuntu использовала shimx64.efi для обеспечения совместимости с безопасной загрузкой, вам потребуется sudo efibootmgr -b 0001 -l \\ EFI \ ubuntu \ shimx64.efi . Если безопасная загрузка не используется, shimx64.efi будет напрямую запускать grubx64.efi в том же каталоге, в котором он находится, поэтому это не должно быть вредным, даже если безопасная загрузка не действует.

Сделать это на стороне Windows немного сложнее: снова используйте bcdedit / enum FIRMWARE , определите UUID записи ubuntu и используйте:

  bcdedit / set {UUID записи ubuntu} путь \ EFI \ ubuntu \ shimx64.эфи
  

EFI — Руководство по установке Linux Mint документация

SecureBoot

Если после установки Linux Mint в режиме EFI вы не можете загрузиться из-за нарушения безопасной загрузки , вы можете попробовать одно из следующих решений:

  • Перезапустите установку:
    • Подключитесь к Интернету перед установкой
    • Не выберите Установите стороннее программное обеспечение для графики и оборудования Wi-Fi, Flash, MP3 и других носителей .
  • Отключите SecureBoot в настройках BIOS вашего компьютера.

Порядок загрузки EFI

Если после установки Linux Mint в режиме EFI ваш компьютер пропускает меню загрузки и загружается прямо в Windows (или другую операционную систему), возможно, у вас возникла проблема с порядком загрузки.

Чтобы изменить порядок загрузки:

  1. Загрузите Linux Mint в режиме live (с USB-накопителя или DVD).
  2. Откройте терминал.
  3. Тип sudo efibootmgr .

Эта команда перечисляет доступные параметры загрузки и порядок загрузки.

На скриншоте выше есть три варианта загрузки:

  • убунту на 0000
  • linuxmint в 0001
  • Mac OS X на 0081

Порядок загрузки — 0081 . Это означает, что компьютер пытается загрузить только Mac OS, а не Linux Mint.

Важно

По техническим причинам Linux Mint использует ubuntu в качестве имени загрузки EFI.

  1. Чтобы исправить порядок загрузки, введите sudo efibootmgr --bootorder XXXX, YYYY (где XXXX и YYYY — это параметры загрузки операционной системы, которые вы хотите загрузить).

На скриншоте выше sudo efibootmgr --bootorder 0000,0081 указывает компьютеру сначала попытаться загрузить Linux Mint ( ubuntu — это имя загрузки EFI для Linux Mint), а затем Mac OS.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *