Вопрос или проблема
Ошибка 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
, тогда как тип записи в вашей конфигурации каким-то образом является типом приложения прошивки. Я предлагаю воссоздать запись.
Ответ или решение
Ошибка 0xc000007b, возникающая при попытке запуска \EFI\ubuntu\shimx64.efi
через Windows 8.1 Boot Manager на UEFI системе, может быть довольно запутанной, но она имеет несколько возможных решений.
Источник проблемы
Ошибка 0xc000007b указывает на проблемы загрузки операционной системы или приложения из-за отсутствия или повреждения необходимых файлов. В данном случае, проблема возникает при попытке использования Windows 8.1 Boot Manager для запуска Ubuntu через запись UEFI.
Причины сбоя
-
Неправильный тип загрузочной записи: Ваша текущая запись UEFI для Ubuntu может быть неправильно настроена. Указано, что тип записи является "Firmware Application", в то время как, возможно, следует использовать тип "Boot Sector".
-
Ошибка в конфигурации BCD: Добавление Ubuntu в Windows Boot Manager могло привести к ошибке из-за несовместимости конфигурации или неправильных настроек записей BCD (Boot Configuration Data).
Шаги по устранению проблемы
-
Проверка и корректировка типа загрузочной записи:
-
Убедитесь, что тип загрузочной записи правильный. Согласно упомянутому руководству, вам следует создать запись как "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
-
-
Перепроверка путей и устройств:
- Убедитесь, что
Device
иPath
точно соответствуют реальным конфигурациям дисков и файловой системе. - Проверьте физическую доступность и целостность файла
shimx64.efi
.
- Убедитесь, что
-
Использование UEFI Boot Menu напрямую:
- Если проблема продолжает существовать, используйте UEFI Boot Menu для загрузки Ubuntu напрямую, так как этот способ уже был вами протестирован и он работает корректно.
-
Обновление прошивки и системного ПО:
- Убедитесь, что все обновления прошивки (BIOS/UEFI) и системного ПО установлены. Иногда обновления содержат исправления для подобных проблем с совместимостью.
-
Чтение журналов системы:
- Проверьте системные журналы Windows и Ubuntu для более подробной информации об ошибках, которые могут помочь в диагностике.
Заключение
При выполнении данных рекомендаций, вы должны быть способны устранить или обойти ошибку 0xc000007b при загрузке Ubuntu через Windows 8.1 Boot Manager. Если проблема сохраняется, возможно, стоит рассмотреть более кардинальное обновление или восстановление загрузочной конфигурации, либо обратиться к специалистам для более глубокого аудита системы.
Этот ответ должен помочь вам настроить систему и устранить основные неисправности. SEO-оптимизация и правильная структуризация текста делают его доступным и понятным, выполняя требования профессиональной и деловой переписки.