Ошибка 0xc000007b при попытке запустить \EFI\ubuntu\shimx64.efi (Ubuntu) через Bootmanager Windows 8.1 на системе с UEFI.

Вопрос или проблема

Ошибка 0xc000007b при попытке запуска \EFI\ubuntu\shimx64.efi (Ubuntu) через Bootmanager Windows 8.1 на системе UEFI

EFI Записи

Во время установки Ubuntu, Ubuntu автоматически создал EFI запись запуска под названием ubuntu. Запись работает, если я использую UEFI загрузчик напрямую. Мои записи EFI выглядят следующим образом:

Запись #9
Имя: ubuntu
BCD ID: {a738afa2-8136-11e3-824f-806e6f6e6963}
Устройство: \Device\HarddiskVolume3
Путь до загрузчика: \EFI\ubuntu\shimx64.efi

Запись #18
Имя: Windows 8.1
BCD ID: {current}
Диск: C:\
Путь до загрузчика: \Windows\system32\winload.efi

Использовать устройство – Подменю

Я хочу запустить ubuntu через загрузчик Windows 8.1. На экране загрузчика Windows 8.1 есть возможность выбрать Использовать устройство в подменю. В этом подменю перечислены все существующие UEFI загрузчики. Я могу выбрать ubuntu, и после перезагрузки я вижу экран GRUB.

Добавить запись в загрузчик Windows 8.1

Теперь я добавляю существующую запись из Использовать устройство в основной список загрузчика Windows 8.1:

bcdedit /displayorder {a738afa2-8136-11e3-824f-806e6f6e6963} /addlast

Вывод bcdedit:

c:\>bcdedit /enum

Менеджер запуска Windows
---------------------
Идентификатор           {bootmgr}
device                  partition=\Device\HarddiskVolume3
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager
locale                  de-DE
inherit                 {globalsettings}
integrityservices       Enable
default                 {current}
resumeobject            {dd3893a3-8112-11e3-a3ae-ef458f8a8f20}
displayorder            {current}
                        {dd3893a8-8112-11e3-a3ae-ef459f8a8f20}
                        {a738afa2-8136-11e3-824f-806e6f6e6963}
toolsdisplayorder       {memdiag}
timeout                 5

Загрузочная программа Windows
-------------------------
Идентификатор           {current}
device                  partition=C:
path                    \Windows\system32\winload.efi
description             Windows 8.1
locale                  de-DE
inherit                 {bootloadersettings}
recoverysequence        {dd3893a5-8112-11e3-a3ae-ef458f8a8f20}
integrityservices       Enable
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \Windows
resumeobject            {dd3893a3-8112-11e3-a3ae-ef458f8a8f20}
nx                      OptIn
bootmenupolicy          Standard

Приложение прошивки (101fffff)
----------------------------
Идентификатор           {a738afa2-8136-11e3-824f-806e6f6e6963}
device                  partition=\Device\HarddiskVolume3
path                    \EFI\ubuntu\shimx64.efi
description             ubuntu

Если я затем выбираю ubuntu из основного списка загрузчика Windows 8.1, после перезагрузки возникает следующая ошибка (переведено, поэтому оригинальная английская формулировка может быть другой):

Ошибка при запуске Windows.

Файл: \EFI\ubuntu\shimx64.efi

Состояние: 0xc000007b

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

Обратите внимание, что запись из Использовать устройство всё еще работает. Так что же произошло? Ведь это должна быть та же запись?

Добавить запись вручную

Я также попытался добавить запись вручную:

bcdedit /create /d "Ubuntu Test" /application bootsector
bcdedit /set {UUID_generated_by_/create} device partition=\Device\HarddiskVolume3
bcdedit /set {UUID_generated_by_/create} path \EFI\ubuntu\shimx64.efi
bcdedit /displayorder {UUID_generated_by_/create} /addlast

Но происходит та же ошибка.

Хотя я не могу это проверить сейчас из-за нехватки времени, согласно этому руководству, правильный тип записи – это bootsector, тогда как тип записи в вашей конфигурации каким-то образом является типом приложения прошивки. Я предлагаю воссоздать запись.

asdf

Ответ или решение

Ошибка 0xc000007b, возникающая при попытке запуска \EFI\ubuntu\shimx64.efi через Windows 8.1 Boot Manager на UEFI системе, может быть довольно запутанной, но она имеет несколько возможных решений.

Источник проблемы

Ошибка 0xc000007b указывает на проблемы загрузки операционной системы или приложения из-за отсутствия или повреждения необходимых файлов. В данном случае, проблема возникает при попытке использования Windows 8.1 Boot Manager для запуска Ubuntu через запись UEFI.

Причины сбоя

  1. Неправильный тип загрузочной записи: Ваша текущая запись UEFI для Ubuntu может быть неправильно настроена. Указано, что тип записи является "Firmware Application", в то время как, возможно, следует использовать тип "Boot Sector".

  2. Ошибка в конфигурации BCD: Добавление Ubuntu в Windows Boot Manager могло привести к ошибке из-за несовместимости конфигурации или неправильных настроек записей BCD (Boot Configuration Data).

Шаги по устранению проблемы

  1. Проверка и корректировка типа загрузочной записи:

    • Убедитесь, что тип загрузочной записи правильный. Согласно упомянутому руководству, вам следует создать запись как "Boot Sector". Попробуйте создать её заново:

      bcdedit /create /d "Ubuntu" /application bootsector
      bcdedit /set {UUID_полученный_в_результате_create} device partition=\Device\HarddiskVolume3
      bcdedit /set {UUID_полученный_в_результате_create} path \EFI\ubuntu\shimx64.efi
      bcdedit /displayorder {UUID_полученный_в_результате_create} /addlast
  2. Перепроверка путей и устройств:

    • Убедитесь, что Device и Path точно соответствуют реальным конфигурациям дисков и файловой системе.
    • Проверьте физическую доступность и целостность файла shimx64.efi.
  3. Использование UEFI Boot Menu напрямую:

    • Если проблема продолжает существовать, используйте UEFI Boot Menu для загрузки Ubuntu напрямую, так как этот способ уже был вами протестирован и он работает корректно.
  4. Обновление прошивки и системного ПО:

    • Убедитесь, что все обновления прошивки (BIOS/UEFI) и системного ПО установлены. Иногда обновления содержат исправления для подобных проблем с совместимостью.
  5. Чтение журналов системы:

    • Проверьте системные журналы Windows и Ubuntu для более подробной информации об ошибках, которые могут помочь в диагностике.

Заключение

При выполнении данных рекомендаций, вы должны быть способны устранить или обойти ошибку 0xc000007b при загрузке Ubuntu через Windows 8.1 Boot Manager. Если проблема сохраняется, возможно, стоит рассмотреть более кардинальное обновление или восстановление загрузочной конфигурации, либо обратиться к специалистам для более глубокого аудита системы.

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

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

Капча загружается...