Вопрос или проблема
Когда я включил свой компьютер сегодня утром (я включил только Secure Boot и UEFI), я получил эту ошибку (простите за низкое качество изображения):
Что означает Изображение не удалось проверить с *ACCESS DENIED*
? После нажатия OK
я смог попасть в BIOS и отключить Secure Boot, а также установить параметр UEFI только для принятия как UEFI, так и Legacy, и это, похоже, сработало, и теперь он загружается. Однако я не могу настроить так, чтобы Secure Boot снова был включен, что представляет угрозу безопасности, поэтому я хочу разобраться, в чем здесь проблема? И почему я получил эту ошибку? Я имею в виду, стоит ли беспокоиться об этой ошибке? И почему она *ACCESS DENIED*
мне?
Единственное, о чем я могу подумать, что я мог сделать прошлой ночью перед тем, как возникла эта проблема сегодня утром, это получить некоторые обновления безопасности для grub и некоторые другие вещи:
В общем, мне нужно понять, что означает эта ошибка, почему я ее получил и как исправить эту ситуацию. Я имею в виду, может ли эта ошибка означать, что я был скомпрометирован каким-либо образом и мне нужно сделать новое установление или что-то в этом роде? Или это просто сбой? И если да, то как мне это исправить, чтобы я мог снова использовать Secure Boot?
Я использую Ubuntu GNOME 15.10 с GNOME 3.18 на Lenovo B590.
Обновление информации:
Вывод команды efibootmgr
:
BootCurrent: 000E
Timeout: 0 секунд
BootOrder: 000E,0000,0001,0002,0003,000C,0006,0007,0008,0009,000A,000B,000D
Boot0000 Настройка
Boot0001 Меню загрузки
Boot0002 Диагностический экран
Boot0003 Диагностика Lenovo
Boot0004 Меню прерывания запуска
Boot0005 Восстановление и восстановление
Boot0006* USB CD
Boot0007* USB FDD
Boot0008* ATAPI CD1
Boot0009* ATA HDD0
Boot000A* ATA HDD1
Boot000B* ATA HDD2
Boot000C* USB HDD
Boot000D* PCI LAN
Boot000E* ubuntu
Согласно https://bugs.launchpad.net/bugs/1528345, это произошло из-за того, что Ubuntu неправильно выпустила обновления безопасности для grub, и это можно исправить, установив пакет grub-efi-amd64-signed, а затем повторно включив Secure Boot в BIOS. Это сработало для меня. (Я также проверил, что повторная установка пакета заставила shimx64.efi
появиться в выводе efibootmgr -v
вместо grubx64.efi
, который был там, когда проблема существовала.)
Во-первых, вернитесь в прошивку и отключите поддержку CSM (“наследственная загрузка”). Если вы загружались в чистой среде EFI, как кажется, это вам не поможет и может потом причинить вам неудобства. (Смотрите мою страницу по этой теме для получения дополнительной информации о проблемах с CSM.)
Во-вторых, сообщение об ошибке указывает на то, что ваш компьютер попытался загрузить загрузчик, который не был подписан авторизованным ключом Secure Boot. (Некоторые сообщения, предупреждающие о таких нарушениях, довольно неясны — они варьируются от одного EFI к другому и в некоторых случаях от одной последующей программы к другой, в зависимости от того, где произошло нарушение.) Появление такого сообщения после успешной загрузки компьютера и без изменений в ваших загрузочных программах или настройках прошивки является большой тревожной сигнализацией.
Я не видел упоминаний об обновлениях для GRUB или Shim, поэтому ваш процесс загрузки не должен был быть затронут этими обновлениями. С другой стороны, может, что-то другое изменило путь загрузки. Это может быть невинное изменение, которое пошло не так и вызвало сбой — например, если вы загружаете с тремя операционными системами с другим дистрибутивом Linux, он мог изменить путь загрузки на неподписанный GRUB. Если это так, вы можете изменить порядок загрузки на GRUB Ubuntu (через Shim) с помощью efibootmgr
— наберите sudo efibootmgr -v
, чтобы увидеть текущий порядок загрузки (в строке BootOrder
) и параметры (основная часть вывода). Найдите строку для Ubuntu, которая запускается через Shim, и используйте опцию -o
, чтобы изменить порядок так, чтобы она была первой, например, sudo efibootmgr -o 0009,0000,001B
, если желаемая запись Boot0009
и две альтернативы Boot0000
и Boot001B
. Еще одной возможностью является то, что нерелевантное обновление Windows вмешалось в GRUB. (Microsoft может обновить ключи Secure Boot большинства компьютеров, и если они это испортили или намеренно занесли в черный список Shim Ubuntu по какой-то причине, вы можете увидеть описанную вами ошибку.)
Существует небольшая вероятность того, что происходит что-то злонамеренное — какой-то вредоносный код мог установиться в ваш путь загрузки. Если это случилось, то, отключив Secure Boot, вы уже позволили вредоносному коду работать. Нельзя предсказать, какие могут быть последствия, если это так. Я не хочу вас пугать; вероятность того, что это произошло, низка. Если это действительно произошло, однако, понадобится экспертиз в восстановлении вашего компьютера, так как предотвращение предзагрузочного вредоносного кода notoriously бывает сложно.
Обновление конфигурации GRUB маловероятно, что приведет к чему-то хорошему, хотя есть небольшая вероятность, что это может помочь, если вы переключите GRUB с загрузки неподписанной версии ядра на подписанную. (На последний раз, когда я проверял, GRUB Ubuntu загружал неподписанные ядра, но это может измениться в будущем. Некоторые другие GRUB’ы, такие как тот, что используется Fedora, строже и загружают только подписанные ядра.)
Вы можете проверить свой путь загрузки с помощью efibootmgr
и убедиться, что по умолчанию он загружается через Shim — то есть загрузчик для первого элемента в порядке загрузки должен быть EFI\ubuntu\shimx64.efi
. Если это не так, то, возможно, вы сможете изменить порядок загрузки обратно. Если это так, то, возможно, ваш бинарный файл shimx64.efi
стал поврежденным (или еще хуже, заменен вредоносным кодом). Полная переустановка GRUB может исправить проблему. (Boot Repair может сделать это довольно легко.)
Пакеты GRUB были обновлены вчера (15 декабря 2015 года) : 2.02~beta2-29ubuntu0.2
.
Возможно, что-то пошло не так во время обновления, но проблемы безопасности возникнуть не должно.
Измените настройки BIOS обратно в то состояние, в котором вы устанавливали Ubuntu.
Затем переустановите загрузчик GRUB в вашу установку Ubuntu в режиме EFI.
Загрузитесь с установочного носителя Ubuntu – откройте терминал и выполните:
sudo mount /dev/sd*** /mnt
sudo mount /dev/sd** /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sd*
update-grub
Примечание:
sd*
= диск | sd**
= efi раздел | sd***
= системный раздел
Чтобы определить номера диска и раздела, вы можете использовать GParted.
Загрузитесь в BIOS и выберите Ubuntu в качестве операционной системы по умолчанию.
USN-Reference : Уведомление об уязвимости безопасности Ubuntu 2836-1: уязвимость GRUB
В случае, если это не сработает, вы также можете попробовать инструмент boot-repair.
Загрузитесь с установочного носителя Ubuntu, откройте терминал и выполните:
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
В моем случае сообщение было вызвано оставшейся записью в меню загрузки UEFI для установки Linux после того, как я переустановил Windows с SecureBoot.
Решение заключалось в том, чтобы войти в настройки UEFI, перейти в “Запуск > Загрузка” и удалить запись (с помощью клавиши “Delete”), а затем сохранить и выйти, используя F10.
Ответ или решение
Как исправить ошибку Secure Boot "Image failed to verify with ACCESS DENIED" при запуске
Ошибка "Image failed to verify with ACCESS DENIED" при старте системы является результатом неудачной проверки подписи загрузочного образа системой Secure Boot, что может возникать из-за различных причин, включая проблемы с загрузчиком GRUB, неправильно установленную операционную систему или конфликты между компонентами. В этом руководстве мы разбираем основные причины возникновения ошибки и предоставляем шаги по ее исправлению, чтобы вы могли снова включить Secure Boot и обеспечить безопасность вашего устройства.
Причины ошибки
-
Обновления GRUB: Как вы указали, вероятной причиной возникновения ошибки могли стать обновления пакетов GRUB, которые были установлены неправильно или включали неподписанные версии загрузчика. Это может привести к тому, что система Secure Boot не распознает образ как безопасный.
-
Неправильный порядок загрузки: Если в вашем UEFI/BIOS присутствуют несколько записей загрузки, система могла попытаться загрузить неподписанную версию GRUB вместо необходимого shimx64.efi.
-
Конфликты с настройками UEFI: Обновления или изменения, вносимые другими операционными системами (например, Windows), могут привести к неожиданным изменениям в настройках Secure Boot.
-
Возможные угрозы безопасности: В редких случаях ошибка может сигнализировать о наличии вредоносного ПО, пытающегося внедриться в начальный процесс загрузки.
Шаги по исправлению ошибки
-
Отключение поддержки CSM:
- Запустите UEFI/BIOS и отключите функцию совместимости с устаревшими системами (CSM или Legacy Boot). Это предотвратит потенциальные конфликты в режиме загрузки и обеспечит, что ваша система всегда будет загружаться в режиме UEFI.
-
Проверка порядка загрузки:
- Войдите в терминал и выполните команду
sudo efibootmgr -v
, чтобы проверить текущий порядок загрузки. Убедитесь, что запись с загрузчикомshimx64.efi
находится на первом месте. Если это не так, измените порядок с помощью команды:sudo efibootmgr -o <номер схемы загрузки>,<надежные записи>
Замените
<номер схемы загрузки>
на номер, соответствующий вашим записям.
- Войдите в терминал и выполните команду
-
Переустановка GRUB с поддержкой Secure Boot:
- Если проблема сохраняется, вам нужно будет переустановить GRUB. Для этого загрузитесь с помощью установочного носителя Ubuntu и выполните следующие команды в терминале:
sudo mount /dev/sd*** /mnt sudo mount /dev/sd** /mnt/boot/efi for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done sudo chroot /mnt grub-install /dev/sd* update-grub
- Замените
sd*
иsd**
на соответствующие идентификаторы вашего диска и раздела EFI, которые можно определить с помощью GParted.
- Если проблема сохраняется, вам нужно будет переустановить GRUB. Для этого загрузитесь с помощью установочного носителя Ubuntu и выполните следующие команды в терминале:
-
Использование Boot Repair:
- Если переустановка GRUB не решила проблему, попробуйте использовать утилиту Boot Repair. Загрузитесь с установочного носителя и выполните следующие команды:
sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt-get update sudo apt-get install -y boot-repair && boot-repair
- Следуйте инструкциям на экране для завершения ремонта загрузчика.
- Если переустановка GRUB не решила проблему, попробуйте использовать утилиту Boot Repair. Загрузитесь с установочного носителя и выполните следующие команды:
-
Проверка наличия угроз:
- Если после выполнения всех вышеперечисленных шагов ошибка не исчезла, выполните полное сканирование на наличие вредоносного ПО, включая сканирование системы вне сети.
-
Обновление системы:
- Убедитесь, что у вас установлены все последние обновления безопасности для вашей операционной системы и загрузчика.
Заключение
Ошибка "Image failed to verify with ACCESS DENIED" является сигналом о потенциальной проблеме с загрузчиком или конфигурацией системы. Принятые меры помогут вам исправить ситуацию и вернуть вашу систему в безопасное состояние. После всех изменений обязательно включите Secure Boot снова для защиты вашего компьютера. Если следование этим шагам не дало результата, воспользуйтесь помощью профессионалов для более глубокого анализа системы.