У меня есть Chromebook, и я успешно установил Gallium OS. (да, я знаю, тоже на базе Ubuntu) это единственная версия, которая будет загружать ОС правильно из коробки.
Все другие версии Ubuntu, которые я пробовал (Ubuntu, Ubuntu Mate, Ubuntu Budgie), имеют ту же проблему после установки. Все они выдают командную строку GRUB.
Когда я захожу в BIOS, я могу найти файл EFI, и когда я запускаю тот, который находится в EFI/Ubuntu/Grubx64.efi
, он запускает ОС.
Но я не хочу делать это вручную.
Как я могу заставить эту проблему EFI / Grub работать, а Ubuntu загружаться и работать на моем Chromebook?
К сожалению, вывод Восстановления Начальной загрузки является неполным, потому что та утилита правильно еще не поддерживает eMMC и подобные усовершенствованные типы SSD, которые обнаруживаются в Linux с /dev/mmcblk0
и связанные имена файлов, а не традиционное /dev/sda
- разработайте имена файлов. Таким образом я все еще в неведении относительно некоторых значимых факторов, такой как точно что программы EFI (с .efi
расширения), хранятся на ESP (/boot/efi
в Ubuntu).
Тем не менее существует одна очень важная подсказка о причине проблемы в Вашей сводке Информации о Начальной загрузке:
=================== efibootmgr -v
Timeout: 3 seconds
BootOrder: 0000,0001
Boot0000* EFI eMMC Device PciRoot(0x0)/Pci(0x17,0x0)/Msg(29,00)/Ctrl(0x0)
Boot0001* EFI Internal Shell MemoryMapped(11,0x830000,0xc0ffff)/FvFile(c57ad6b7-0515-40a8-9d21-551652854e37)
Это показывает нет ubuntu
запись. Обычно, установленная Ubuntu будет включать запись, которая указывает на EFI/ubuntu/shimx64.efi
; однако, эта запись NVRAM отсутствует в Вашей системе. ( efibootmgr
утилита отображает и управляет контентом основанных на NVRAM записей диспетчера начальной загрузки EFI компьютера.) Вместо этого компьютер загружается EFI eMMC Device
по умолчанию. Это, вероятно, загружается EFI/BOOT/bootx64.efi
файл, который я предполагаю, является неполной или неправильной записью GRUB. Существует по крайней мере три способа решить эту проблему:
sudo efibootmgr -c -d /dev/mmcblk0 -p 1 -l \\EFI\\ubuntu\\shimx64.efi -L ubuntu
. Если Вы затем вводите sudo efibootmgr -v
, необходимо видеть новое ubuntu
запись, и когда Вы перезагружаете, это должно загрузиться в GRUB и показать Вам меню. Если Вы получаете то же старое поведение, и если sudo efibootmgr -v
после использования обходного решения для начальной загрузки шоу что ubuntu
запись исчезла, затем Ваше встроенное микропрограммное обеспечение (или возможно аппаратные средства NVRAM) является определенно дефектным. Могло бы стоить искать микропрограммное обновление от производителя и попробовать еще раз или даже возвратить компьютер в хранилище для возмещения, если Вы в период повторяемости.Используйте fbx64.efi
программа - Эта программа установлена в некоторых недавних установках Ubuntu, но она не делает ничего полезного путем, она установлена. Для создания этого полезным выполните эти шаги:
sudo mv /boot/efi/EFI/BOOT /boot/efi/EFI/BOOT-backup
скопировать существующее EFI/BOOT
каталог на ESP.sudo mkdir /boot/efi/EFI/BOOT
создать новый каталог нейтрализации на ESP.sudo cp /boot/efi/EFI/ubuntu/shimx64.efi /boot/efi/EFI/BOOT/bootx64.efi
скопировать Контейнер с EFI/ubuntu
каталог на ESP к EFI/BOOT
, использование имени файла нейтрализации (bootx64.efi
) в его новом местоположении.sudo cp /boot/efi/EFI/ubuntu/fbx64.efi /boot/efi/EFI/BOOT
скопировать fbx64.efi
к каталогу нейтрализации (EFI/BOOT
) на ESP.boot.txt
в Вашем корневом каталоге. Это должна быть одна строка, которая читает grubx64.efi,ubuntu,,This is the boot entry for ubuntu
.sudo iconv -t UCS-2 < ~/boot.txt > ~/BOOT.CSV
. Это преобразовывает файл, который Вы создали в форму что fbx64.efi
файл может читатьsudo cp ~/BOOT.CSV /boot/efi/EFI/ubuntu
скопировать BOOT.CSV
к EFI/ubuntu
каталог на ESP.Точка этой процедуры то, что fbx64.efi
программа, когда выполнено, сканирует каждый подкаталог EFI
на ESP, ища названные файлы BOOT.CSV
. Если найдено, это использует те файлы для регенерации записи NVRAM для загрузчика (загрузчиков), описанного в BOOT.CSV
файл. Когда это сделано, первая запись в новом порядке загрузки выполняется. Таким образом, если fbx64.efi
выполняется как загрузчик нейтрализации (которым это будет при копировании как на шагах № 1-4) и если Вы создаете подходящее BOOT.CSV
файл, GRUB Ubuntu должен запуститься от его нормального местоположения, даже если Ваши записи NVRAM обычно теряются. Это не столь хорошо как наличие рабочего диспетчера начальной загрузки EFI, но это лучше, чем использование следующей опции с протестом, что эта процедура более утомительна, чем следующая. Один важный протест - это, если ESP имеет другой BOOT.CSV
файлы, один из них мог бы закончить сначала в порядке загрузки, который мог ввести процесс в заблуждение. Таким образом, если у Вас есть проблемы, можно хотеть искать такие файлы и удалить или переименовать их, если Вы думаете, что они могут вызывать проблемы.
Используйте имя файла нейтрализации - Если предыдущие подходы не работают, можно скопировать рабочий GRUB, чтобы заставить его работать следующим образом:
sudo mv /boot/efi/EFI/BOOT /boot/efi/EFI/BOOT-backup
скопировать существующее EFI/BOOT
каталог на ESP.sudo cp -r /boot/efi/EFI/ubuntu /boot/efi/EFI/BOOT
вставить рабочий загрузчик Ubuntu EFI/BOOT
каталог.sudo mv /boot/efi/EFI/BOOT/shimx64.efi /boot/efi/EFI/BOOT/bootx64.efi
переименовать Контейнер к имени файла нейтрализации так, чтобы это запустилось по умолчанию.В этом третьем подходе существует опасность: Если мой диагноз является неправильным, или если shimx64.efi
отсутствует или дефектный в ESP EFI/ubuntu
каталог, затем эта процедура оставит компьютер незагрузочным. В этом случае необходимо будет использовать чрезвычайную систему для инвертирования той процедуры для восстановления системы к ее текущему полурабочему состоянию. Кроме того, третий подход оставит Вас выполняющий установленный в настоящее время Контейнер и GRUB навсегда, если Вы не вмешаетесь вручную; Вы не получите обновления, установленные через диспетчер пакетов Ubuntu. По этим причинам приведение в порядок записей NVRAM через первый подход является предпочтительным решением - но, учитывая природу Вашей проблемы, я не надеюсь, что это будет возможно.
Если Вы экспериментируете с различными дистрибутивами, знают, что каждая установка, вероятно, потребует своего собственного grub.cfg
файл в том же каталоге как Контейнер и GRUB (EFI/ubuntu
или EFI/BOOT
на ESP). Таким образом, как минимум, необходимо будет переместиться grub.cfg
если Вы устанавливаете новое распределение при использовании третьей фиксации. Вы, возможно, должны полностью восстановить ту третью фиксацию при установке несвязанного распределения.