1

Вопрос появился после того, как задать этот один. Похоже, что Win8.1 UEFI x64 Boot Manager не может загрузить ничего, кроме самой Windows (winload.efi). Попытка запустить любой другой образ UEFI (.efi) из него дает код ошибки 0xC000007B, и я уверен, что это не из-за отсутствующего файла, а потому, что файл «недействителен», как когда я переименовываю этот файл ошибка меняется на 0xC000000F. Я отключил безопасную загрузку, но безуспешно.

На данный момент я пытаюсь интегрировать загрузчик rEFInd . Могу сказать, что это образ UEFI работает, так как он может загружаться с флешки с помощью прошивки. Однако использование диспетчера загрузки Windows дает те же результаты, которые описаны выше (код ошибки 0xC000007B). На данный момент моя конфигурация BCD (рисунок):

Скриншот командной строки http://imageshack.com/a/img811/7857/kbth.png

Так как F:\rEfit\refind - это каталог, в котором хранится refind, а "refind_x64.efi" - образ программы.

ПРИМЕЧАНИЕ. Мне также интересно, разрешено ли загружать только образы UEFI (файлы .efi) в Windows UEFI, а также какой формат у них не-UEFI (например, ntldr , bootmgr)?

РЕДАКТИРОВАТЬ: Перемещение rEFInd в стандартный каталог ("EFI") не решило проблему.

3 ответа3

3

Через 1 год я снова столкнулся с той же проблемой. К счастью, на этот раз я нашел решение. Чтобы добавить OsLoader в Windows Boot-Manager, который загружает образы UEFI, отличные от Windows, вам необходимо вручную отредактировать реестр BCD. В RegEdit есть ключ с именем «HKEY_LOCAL_MACHINE\BCD00000000», который загружается из системного раздела Windows EFI и редактирует его подразделы, непосредственно редактируя файл BSD. Под ним есть ключ с именем "Description", но мы сосредоточимся на другом, названном "Objects". Под ним вам нужно новый объект (или изменить существующий). Затем под именем target-object-GUID-name вам нужно отредактировать значение типа "Description" на "0x10100003" (что означает загрузчик приложения с микропрограммным обеспечением - кредиты для этой находки переходят на эту страницу). Вот и все - тогда элементы 'path' и 'device' этого объекта указывают файл UEFI, который будет загружен при выборе загрузчика ОС.

БОЛЬШОЕ ПРЕДУПРЕЖДЕНИЕ:

Не делайте вышеперечисленное только для того, чтобы протестировать его - загрузка Uefi таким образом сжигает его в конфигурации загрузки Uefi и после загрузки - вы, возможно, не сможете снова загрузить Windows (если загруженное приложение не сбрасывает Uefi Boot Cfg) - используйте его, только если вы в этом уверены.

Я так и сделал, а затем мне нужно было вручную исправить загрузку Windows с помощью Uefi Boot Cfg. Который предпочтительнее использовать.

РЕДАКТИРОВАТЬ: я забыл добавить, что сначала вам нужно собственное разрешение на редактирование "HKEY_LOCAL_MACHINE\BCD00000000", что очень просто - просто нажмите Свойства и измените разрешения;).

РЕДАКТИРОВАТЬ: Это открытие показывает, что самый мощный (и простой - по крайней мере для меня) способ редактирования Windows BSD использует реестр. Поведение, которое я совершил таким образом, невозможно выполнить ни с помощью BCDedit, ни с помощью BCD WMI.

1

EFI - это предзагрузочная среда. Таким образом, сам EFI не является инструментом Windows, инструментом Linux или любым другим инструментом уровня ОС. Я хочу прояснить это, потому что некоторые из ваших фраз звучат так, как будто вы думаете, что EFI является частью Windows. Это не так.

Путь rEfit\refind необычен для загрузочной программы EFI. Такие программы обычно находятся в подкаталогах каталога EFI на ESP, например в EFI\refind или EFI\Microsoft . Хотя такое нестандартное расположение вряд ли станет источником вашей проблемы, я не могу исключить такую возможность. Таким образом, использование более нормального местоположения - мое первое предложение.

Я не очень хорошо знаком с выводом команды Windows bcdedit которую вы показали, поэтому я не могу это комментировать; Тем не менее, я могу предложить вам ознакомиться с инструкциями по установке и установке из Windows. Вполне возможно, что вы допустили ошибку при вводе одной из команд.

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

0

Все загрузочные менеджеры / загрузчики efi должны находиться в разделе ESP; у вас не может быть refind на вашем диске F:, который, вероятно, отформатирован как диск NTFS. Системы EFI выглядят в определенном разделе раздела, который помечен как "ESP" и отформатирован как fat32. В системах EFI нет драйверов для других файловых систем.

refind включает в себя драйверы для ext2/4 reiserfs btrfs и iso9660, но, как вы видите, загрузчик Windows EFI находится по адресу \EFI \Microsoft \Boot \bootmgfw.efi. Этот раздел не виден из окон, так как он скрыт, но если вы загрузитесь с linux live (например, с gparted), вы сможете его увидеть. Затем вам нужно поместить refind в \EFI \refind, чтобы загрузчик rEFInd находился в \EFI \refind \bootx64.efi

Затем вы можете попытаться заставить его загружаться по цепочке из загрузчика Windows, но было бы гораздо лучше указать вашей системе на файл .efi refind в качестве загрузчика по умолчанию, так как это просканирует вашу систему и предоставит вам значки, представляющие доступные для загрузки параметры загрузки efi/legacy. вы. Я использую refind, и когда я включаю свой ноутбук, у меня есть значок Windows 7, значок Windows 8, значок Ubuntu, значок Fedora и значок Ubuntustudio на выбор. Если у меня есть загрузочные USB или DVD-диски, для них также появится значок.

Он отлично работает с настройками по умолчанию, но также легко настраивается. Вы не сможете загрузить загрузчик efi из любого раздела, кроме раздела ESP fat32, хотя после загрузки refind из раздела ESP он может получить доступ к загрузчикам efi и устаревшим загрузчикам в других разделах.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .