Поврежденная Начальная загрузка UEFI, Как надежно продолжить двигаться?

У меня есть ноутбук, что двойной Windows 10 начальных загрузок (обновляют из Windows 8.1), и моя основная ОС, Ubuntu 14.04. Мне настраивали систему для начальной загрузки UEFI и до этого утра, она хорошо работала.

Я использовал Windows вчера вечером для чего-то, которое редко на этой машине. Этим утром, компьютер, загруженный прямо в Windows. Я подозревал Windows в питании с настройками начальной загрузки, таким образом, я использовал 'Escape' при начальной загрузке для ручного выбора диска, который имеет мою установку личинки.

Личинка/раздел начальной загрузки по умолчанию, которую компьютер проверяет сначала при запуске, указывает непосредственно на начальную загрузку Windows теперь - никакое меню личинки. К счастью, я использовал восстановление начальной загрузки во время начальной установки и выбрал опцию иметь другие разделы 1-я точка сектора к личинке/разделу начальной загрузки. Когда я выбрал корневой раздел, я получил уведомление от BIOS, что это не было безопасно.

Прежде чем я продумал вещи, я вошел в BIOS и отключил безопасную начальную загрузку и попытался загрузиться от корневого раздела. GRUB подошел прекрасный, таким образом, я выбрал Ubuntu и приехал в мой экран пароля LUKS.

На данном этапе я думал, что отключение безопасной начальной загрузки и попытка загрузить Ubuntu могут быть ошибкой. Afterall, какой смысл UEFI, если его отключенное второе что-то смешивает с превосходным и функционирующим загрузчиком со знаком?

Я - вид в недоумении относительно того, какой корректный способ надежно продолжиться. Существует ли способ восстановить Ubuntu, не загружаясь небезопасно? Предложения?

Спасибо

1
задан 12 November 2015 в 16:59

1 ответ

Я хочу обратиться к некоторым неправильным представлениям в Вашем вопросе прежде, чем продолжиться к более прямому ответу на Ваш основной момент. Терпите меня....

Личинка/раздел начальной загрузки по умолчанию, которую компьютер проверяет сначала при запуске, указывает непосредственно на начальную загрузку Windows теперь

На основанном на EFI компьютере загрузчики хранятся как обычные файлы на Системном разделе EFI (ESP). Компьютер знает, какой файл (файлы) запустить, когда он запускается из-за записей, сохраненных в NVRAM, которые определяют раздел (разделы) и файл (файлы) для выполнения. Нет такой вещи как "значение по умолчанию... раздела начальной загрузки" под EFI; это - способ, которым BIOS загружается, не EFI.

Я использовал восстановление начальной загрузки во время начальной установки и выбрал опцию иметь другие разделы 1-я точка сектора к личинке/разделу начальной загрузки.

Под EFI "загрузочные секторы" не существуют - или быть более точными, загрузочный код не хранится в первых секторах дисков или разделов. Это все обработано через файлы и сослано записями в NVRAM.

Когда я выбрал корневой раздел, я получил уведомление от BIOS, что это не было безопасно.

Вы не выбрали раздел; Вы выбрали файл загрузчика. Из Вашего описания мое предположение - то, что Вы выбрали EFI/ubuntu/grubx64.efi на Вашем ESP. Это начинает добираться до проблемы, но я возвращусь к той точке....

Я вошел в BIOS

У Вас нет BIOS; у Вас есть EFI. Я знаю, что многие люди и даже производители, называют EFIs BIOS, но это просто приводит к беспорядку, потому что он поощряет людей притягивать предположения BIOS о процессе начальной загрузки, поскольку Вы сделали.

Я думал, что отключение безопасной начальной загрузки и попытка загрузить Ubuntu могут быть ошибкой. Afterall, какой смысл UEFI, если его отключенное второе что-то смешивает с превосходным и функционирующим загрузчиком со знаком?

Не путайте EFI (или UEFI, который является просто EFI 2.x), и Защищенная загрузка. Защищенная загрузка является всего одной дополнительной функцией UEFI. EFI, в свою очередь замена для BIOS. Много EFIs (и даже UEFIs) поддержка Защищенной загрузки отсутствия - но Защищенная загрузка требуют UEFI.

Я - вид в недоумении относительно того, какой корректный способ надежно продолжиться. Существует ли способ восстановить Ubuntu, не загружаясь небезопасно? Предложения?

Для поддержки Защищенной загрузки Ubuntu использует программу под названием Контейнер. В Ubuntu это имеет имя файла shimx64.efi. Контейнер трудно кодируется для запуска GRUB (grubx64.efi), который может затем обратиться к Контейнеру с просьбой аутентифицировать ядра Linux.

Обратите внимание, что ранее я записал, что Вы, вероятно, запустились grubx64.efi. Это будет хорошо работать с отключенной Защищенной загрузкой; но если Вы включаете Защищенную загрузку, возможности grubx64.efi не будет соответствовать требованиям Защищенной загрузки по умолчанию, таким образом, это перестанет работать. shimx64.efi, OTOH, подписывается Microsoft (чьи ключи присутствуют в примерно всех компьютерах), и работа - также. Это - ключ (игра слов, не желаемая, но это - лучшее слово) к решению: Реконфигурируйте свою систему для начальной загрузки через Контейнер. Можно сделать это в Ubuntu с помощью efibootmgr утилита. Во-первых, просмотрите свои доступные варианты при помощи sudo efibootmgr -v:

$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0007,0003,2003,0001,2001,2002
Boot0000* ubuntu    HD(2,1f4800,82000,5f6b4992-fcfe-4a2c-9e67-98b0a30dfe7d)File(\EFI\ubuntu\shimx64.efi)
Boot0001* Lenovo Recovery System    HD(3,276800,1f4000,de3b7563-97f5-48c6-ab7f-2f5d6d57c644)File(\EFI\Microsoft\Boot\LrsBootMgr.efi)RC
Boot0002* EFI Network 0 for IPv4 (08-9E-01-FF-CA-4D)    ACPI(a0341d0,0)PCI(1c,0)PCI(0,0)MAC(089e01ffca4d,0)IPv4(0.0.0.0:0<->0.0.0.0:0,0, 0RC
Boot0003* ubuntu    HD(2,1f4800,82000,5f6b4992-fcfe-4a2c-9e67-98b0a30dfe7d)File(\EFI\ubuntu\grubx64.efi)RC
Boot0004* EFI Network 0 for IPv6 (08-9E-01-FF-CA-4D)    ACPI(a0341d0,0)PCI(1c,0)PCI(0,0)MAC(089e01ffca4d,0)030d3c000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000RC
Boot0007* Windows Boot Manager  HD(2,1f4800,82000,5f6b4992-fcfe-4a2c-9e67-98b0a30dfe7d)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.}....................

Это - просто пример, и Ваш, вероятно, будет отличаться значительными способами. Обратите внимание, однако, что существует два ubuntu записи, одна из которых относится к shimx64.efi и другие из которых относятся к grubx64.efi. Возможности, Вы загружаетесь через grubx64.efi запись, как показано на BootCurrent строка. grubx64.efi запись является, вероятно, первой на BootOrder строка, также. Для изменения этого необходимо создать новое BootOrder при помощи -o опция к efibootmgr, как в:

sudo efibootmgr -o 0000,0007

Можно добавить другие опции также, которые будет использовать компьютер, должен первые два перестать работать. Конечно, необходимо указать числа, связанные с Контейнером и записями GRUB, нет 0000,0007 (если они, оказывается, не числа). Обратите внимание также, что я указал запись Контейнера сначала с записью GRUB как нейтрализация в случае, если тот перестал работать; в теории, указывая только запись Контейнера должен хорошо работать. Лучше включать Ваш ток BootCurrent оцените как секунда (или позже) опция, так как Вы знаете, что она работает с отключенной Защищенной загрузкой. Тот путь, если Вы делаете ошибку или если Ваш двоичный файл Контейнера повреждается, необходимо все еще смочь отключить Защищенную загрузку и возвратиться к рабочей системе при помощи встроенного диспетчера начальной загрузки компьютера или путем корректировки порядка загрузки некоторым другим способом.

После того как Вы сделали это, перезагрузку в Ваше встроенное микропрограммное обеспечение и повторно включаете Защищенную загрузку. Это должно хорошо работать от той точки на.

7
ответ дан 3 December 2019 в 06:25

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

Похожие вопросы: