Ubuntu 15.04. Проблема безопасной загрузки

У меня есть система с Ubuntu 15.04 и Windows 10 с двойной загрузкой. Все работало нормально при включенной безопасной загрузке. Но теперь он внезапно перестал работать, и Ubuntu не может загрузиться с включенной безопасной загрузкой (через shimx64) и просто перенаправляет меня в Windows, когда я выбираю эту опцию. Однако я могу отключить безопасную загрузку и загрузку с моего варианта загрузки grubx64. Кажется, что-то не так с shimx64, но я не уверен.

Вот мой вывод из делать sudo efibootmgr -v:

BootCurrent: 000D
Timeout: 0 seconds
BootOrder: 0002,0003,000C,000D,0000,0001
Boot0000* P0: ST1000DM003-1ER162            BIOS(11,0,00)
Boot0001* P4: PLDS DVD+/-RW DH-16AES        BIOS(13,0,00)
Boot0002* ubuntu    HD(1,800,fa000,2c4c3f52-0207-45e5-bd9b-cc48a2e27dcf)File(\EFI\ubuntu\shimx64.efi)
Boot0003* Windows Boot Manager  HD(1,800,fa000,2c4c3f52-0207-45e5-bd9b-cc48a2e27dcf)File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...1...............
Boot000C* UEFI OS   HD(1,800,fa000,2c4c3f52-0207-45e5-bd9b-cc48a2e27dcf)File(\EFI\BOOT\BOOTX64.EFI)
Boot000D* ubuntu    HD(1,800,fa000,2c4c3f52-0207-45e5-bd9b-cc48a2e27dcf)File(\EFI\Ubuntu\grubx64.efi)

Я заметил, что один из них \EFI\Ubuntu\grubx64.efi а другой \EFI\ubuntu\shimx64.efi так что есть столица "Ubuntu" для grubx64.efi и строчные буквы "Ubuntu" для shimx64.efi, Я не уверен, что это может вызвать проблемы. Итак, вот что я сделал:

$ cd /boot/efi/EFI/
$ ls
Boot  Microsoft  ubuntu
$ cd ubuntu
$ ls
grub.cfg  grubx64.efi  MokManager.efi  shimx64.efi

Итак, я увидел, что был только один каталог "Ubuntu" и нет каталога "Ubuntu". Каталог "Ubuntu" выглядит так, как будто shimx64.efi а также grubx64.efi и все остальное, что нужно для загрузки.

Наконец я сделал sudo boot-repair и выберите "Создать сводную информацию о загрузке", и вот ссылка: http://paste.ubuntu.com/12300679/. Я заметил, что /EFI/ubuntu/shimx64.efi не был указан в разделе "Загрузочные файлы" для sda1. Я не уверен, что заставило это перестать работать, но это могло быть из-за обновления. Любая помощь приветствуется.

1 ответ

Я догадываюсь, что у вас проблемы с подписью на вашей копии Шима. Это проблема, с которой я сталкивался ранее с некоторыми EFI; они иногда привередливы и не любят подписанные двоичные файлы, которые просто хороши на других компьютерах. В частности, я видел эту проблему с материнской платой ASUS P8H77-I - но другие бренды и модели также могут быть подвержены той же проблеме.

Если я прав, у вас есть два основных варианта:

  • Отключить безопасную загрузку.
  • Найдите другую (возможно, более старую) программу Shim и используйте ее.

Первый вариант довольно очевиден, и вы, очевидно, уже обнаружили его. Во-вторых, вероятно, существует не менее дюжины двоичных файлов Shim, плавающих вокруг с подписями Microsoft. Тот, который никогда не доставлял мне хлопот, но он старый, это подписанный Мэтью Гарреттом Шим 0.2. Чтобы использовать его, вы должны переписать shimx64.efi а также MokManager.efi двоичные файлы в /boot/efi/EFI/ubuntu с теми из архива, который вы найдете. При перезагрузке вас, вероятно, встретит некрасивый селектор файлов в текстовом режиме (MokManager), который делает пользовательский интерфейс Apple II более сложным. Используйте его для выбора файла сертификата Canonical. Этот файл доступен в каком-то пакете Ubuntu или другом, но я не помню, какой именно. Для удобства я собрал несколько вместе для моей собственной программы rEFInd; смотрите здесь для отдельных файлов. Вам нужно canonical-uefi-ca.der файл, и он должен храниться в ESP (под /boot/efi в Ubuntu), так что MokManager может прочитать его. После ввода файла подписи Canonical и выхода из MokManager система может зависать, перезагружаться, загружаться в Windows или загружаться в GRUB. При следующей загрузке все должно работать нормально.

Использование старого пакета Ubuntu Shim, вероятно, будет немного проще, поскольку вам не придется использовать MokManager. Вам нужно будет отыскать соответствующий пакет, установить его и, возможно, скопировать grubx64.efi а также MokManager.efi файлы, как только что описано. Обязательно храните копии этих файлов где-нибудь в безопасности; если моя гипотеза верна, менеджер пакетов, скорее всего, попытается обновить Shim и заменить ваши файлы сломанной версией.

Маловероятно, что наблюдаемая вами разница важна. ESP (установлен на /boot/efi в Ubuntu) использует FAT, которая является регистрозависимой, но нечувствительной к регистру файловой системой. Другими словами, ubuntu а также Ubuntu идентичны FAT. OTOH, возможно, ваша прошивка имеет ошибку чувствительности к регистру, которая взаимодействует с настройкой Secure Boot. Это кажется немного надуманным, но произошли странные вещи.

Другие вопросы по тегам