Как загрузить Ubuntu из EFI/UEFI?

Я установил Ubuntu 11.10 на недавно купленный Lenovo ThinkCentre Edge 71 (модель: 1577-G3G) с включенной загрузкой EFI. Я выбрал опцию Использовать весь диск. Несмотря на то, что процесс установки прошел без проблем / ошибок, при перезагрузке он теперь просто дает мне:

Нет загрузочной операционной системы. Вставьте загрузочный диск и нажмите любую клавишу...

Я полагаю, что это из-за EFI.

Регресс:

  • Я проверил Системную настройку (F1 во время POST), чтобы найти параметр BIOS для отключения загрузки EFI/UEFI, однако для этой машины такой опции нет.
  • Это может быть вызвано функцией "безопасной загрузки" в BIOS.
  • Поставщик оборудования не знает ни о каких параметрах "безопасной загрузки" в BIOS, которые бы препятствовали загрузке Linux.
  • Служба поддержки Lenovo ничего не знала о настройке BIOS, называемой безопасной загрузкой. Они также не знали каких-либо ограничений, которые могли бы препятствовать загрузке Linux.
  • В руководстве по ThinkCentre 1577 BIOS не упоминается ни EFI, UEFI, ни безопасная загрузка.

Как установить Ubuntu на компьютер с EFI? - Или, поскольку Ubuntu, вероятно, уже установлен: как мне сделать так, чтобы он загружал Ubuntu?

10 ответов

Это измененное сообщение от nerasezi на форуме Ubuntu

Основным источником для UEFI было руководство Ubuntu UEFI

Ниже приведены шаги, которые он сделал:

  1. Используйте live CD, который соответствует архитектуре UEFI. В основном x86-64. Загрузите live cd (xubuntu или lubuntu. Это легкий настольный компьютер, но он также должен работать с Ubuntu и kubuntu).

    Убедитесь, что ваша живая система загружается в режиме UEFI. Вы можете проверить это в настройках UEFI, возможно, в опции Boot или аналогичной. В моем случае это просто поставить префикс "UEFI" перед именем устройства.

  2. После запуска работающей системы установите через терминал пароль root, набрав
    sudo passwd root

    Затем выйдите из стандартного пользователя live cd и войдите как root в режиме графического интерфейса пользователя. Подключите жесткий диск. Я использую портативный жесткий диск USB3, но в большинстве случаев жесткий диск является внутренним диском SATA. В любом случае, убедитесь, что вы ЗАПИСИЛИ ВСЕ свои данные, потому что процесс уничтожит все данные на диске. Запустите Gparted (инструмент с графическим интерфейсом намного проще, чем текстовый) и выберите диск, на который вы хотите установить систему. (Обязательно выберите правильный!) Укажите на верхнее меню и выберите "Устройство"> "Создать таблицу разделов"... Появится предупреждающее сообщение. Нажмите на Advanced и выберите "gpt". Скажите "ОК". Создана новая разметка диска GPT. Теперь вам нужно создать на нем разделы. Очень важно, чтобы вы создали в качестве первого и основного раздела том FAT32, и вам необходимо присвоить ему метку EFI. Как только раздел создан, щелкните по нему правой кнопкой мыши и выберите "Управление флагами". Проверьте флаг "загрузки" и скажите "ОК". Перейдите к созданию раздела / (вы можете захотеть разделить / home и / boot. Сделайте это, как обычно. В моем случае я только что создал раздел /) и область подкачки. Всегда предпочитайте первичные разделы, потому что в GPT ограничение 4 основных разделов снято. Закрыть Gparted.

  3. Установите систему в раздел "/" жесткого диска и не забудьте указать здесь загрузчик (GRUB 1.99) для установки. Если вы создали отдельный раздел "/boot", вы должны выбрать его для установки загрузчика.

  4. Вот часть руководства по загрузке UEFIB:

    Здание GRUB2 (U)EFI

    Загрузите последнюю версию ZIP-файла с исходным кодом grub2. ftp://ftp.gnu.org/gnu/grub/

    Для сборки grub2 требуются следующие программы (зависимости для сборки):

    bison autoconf automake flex autogen python (серия 2.x) (для autogen.sh при сборке из репозитория bzr) texinfo help2man gettext (поддержка NLS) устройство отображения карт freetype2 (libs)

    sudo apt-get install bison libopts25 libselinux1-dev autogen m4 autoconf help2man libopts25-dev flex libfont-freetype-perl automake autotools-dev freetype2-demos texinfo efibootmgr

    efibootmgr был добавлен к программному обеспечению, которое вам нужно установить, потому что оно понадобится вам позже.

    Для 64-битного (U)EFI:

export EFI_ARCH=x86_64./configure --with-platform=efi --target=${EFI_ARCH} --program-prefix=""make

Если у вас 32-битная архитектура, проверьте онлайн-документацию по ссылке, которую я предоставил вверху.

Установите GRUB2 в (U) EFI-системах

Определите свой EFI SYSTEM PARTITION. (это должно быть /dev/sda1 или /dev/sdb1, если установлено на 2-м жестком диске)

Затем смонтируйте раздел в /mnt/EFISYS (или в любой точке монтирования). Следующий код предполагает, что /dev/sda1 является разделом EFISYS.

sudo mkdir -p /mnt/EFISYS

sudo modprobe dm-mod

sudo mount -t vfat -o rw,users /dev/sda1 /mnt/EFISYS

sudo mkdir -p /mnt/EFISYS/efi/grub

Затем создайте приложение EFI для GRUB и скопируйте его и другие модули:

Войдите в каталог "grub2 compiled source/grub-core" - по умолчанию: /usr/lib/grub/{EFI_ARCH}

grub-mkimage -O ${EFI_ARCH}-efi -d . -o grub.efi -p "" part_gpt part_msdos ntfs ntfscomp hfsplus fat ext2 normal chain boot configfile linux multiboot

sudo cp grub.efi *.mod *.lst /mnt/EFISYS/efi/grub

Примечание. Параметр -p "" важен для создания переносимого приложения grub.efi. Теперь создайте grub.cfg в /mnt/EFISYS/efi/grub:

sudo touch /mnt/EFISYS/efi/grub/grub.cfg

Сделайте запуск прошивки GRUB2 (U)EFI по умолчанию

Для не-Mac UEFI-систем efibootmgr используется для изменения менеджера загрузки прошивки UEFI. Это требует загрузки ядра в режиме UEFI и того, что архитектура процессора ядра должна соответствовать архитектуре прошивки (и noefi НЕ используется) для загружаемого модуля ядра 'efivars' и efibootmgr для доступа к переменным менеджера загрузки. Изначально пользователю необходимо вручную запустить "efi/grub/grub.efi" из самой консоли прошивки, если grub2-efi был установлен в режиме BIOS. Затем нужно запустить efibootmgr, чтобы создать загрузочную запись.

sudo modprobe efivars

Войдите в каталог "grub2 compiled source/grub-core"

grub-probe --target=device /boot/efi/efi/grub/grub.efi

Предполагая, что на выходе grub-probe будет /dev/sda1

sudo efibootmgr --create --gpt --disk /dev/sda --part 1 --write-signature --label "GRUB2" --loader "\\EFI\\grub\\grub.efi"

В приведенной выше команде / boot / efi / efi / grub / grub / efi можно разделить на / boot / efi и /efi/grub/grub.efi, что означает (/dev/sda) -> раздел 1 - > \ EFI \ grub \ grub.efi.

  1. Open Synaptic and remove all grub packages and install just the grub-efi packages (amd64 for me) and all the necessary dependencies. Once the installation is over, run sudo update-grub in the terminal. You should edit "grub.cfg" from /boot/grub and check that the disk UUID matches your disk and partitions, the voice "insmod part_" and "set root='(hd0," have "gpt" textline. If everything is ok, copy "grub.cfg" to the "efi/grub" on the EFI System Partition. If something i mentioned before, doesn't match, just edit grub.cfg and manually change them values. Then copy the file to the "efi/grub" directory on the Efi System Partition (should still be mounted under /mnt).

    Then when I rebooted the system, a new entry on the Boot tab under the UEFI setup has appeared, named GRUB2 and i set it as the default boot option.

Чтобы подтвердить, поддерживает ли ваша машина U/EFI, просто запустите dmesg | grep EFI из терминала в режиме реального времени рабочего стола.
Чтобы убедиться, что установленная Ubuntu загружена с использованием U/EFI, посмотрите, что /sys/firmware/efi возвращается.
Решение, позволяющее сэкономить время, - убедиться, что Ubuntu действительно загружается в режиме UEFI во время установки. Ссылка на новый раздел 2.4 Руководства по Ubuntu UEFI блестяще иллюстрирует это

Определение, загружает ли компьютер компакт-диск в режиме EFI.

Предупреждение: даже если ваш компьютер загружает компакт-диск в режиме EFI, он может загрузить жесткий диск в устаревшем режиме (и наоборот).

При загрузке на 64-битном диске Ubuntu:

  • Если BIOS настроен для загрузки компакт-диска в режиме EFI, то вы увидите экран ниже:

Режим UEFI

  • Если BIOS НЕ настроен для загрузки компакт-диска в режиме EFI или если диск не 64-разрядный, вы увидите экран ниже:

Режим BIOS

Обязательно используйте то же руководство, о котором идет речь, чтобы убедиться, что жесткий диск загружается также с использованием UEFI. Это может быть так же просто, как установка SATA в AHCI, но зависит от используемой вами прошивки.

Попав на экран grub, можно перейти на командную строку, нажав "c", и попробовать lsefisystab который должен дать таблицу записей EFI с GUID, что является еще одним удобным методом, чтобы определить, используется ли UEFI ДО установки.

Можно использовать dmesg | grep EFI определить, поддерживает ли ваша машина UEFI. На одной из моих машин, которая не поддерживает U/EFI, но это дает мне UEFI способен
Это может вводить в заблуждение, поскольку выполнение той же команды на компьютере с поддержкой UEFI приведет к возвращению гораздо большего количества строк (возможно, более 50) при загрузке с использованием EFI. Я нашел этот простой совет в rodsbooks(ссылка для rEFInd, альтернативного использованию Grub2). Веб-страницы rodsbooks регулярно обновляются и являются очень надежным источником информации. Автор которого - профессор UEFI, если не сказать больше, если не гений!

Обращение к родословным книгам на этой странице показывает, что Ubuntu 11.10 создает ESP с файловой системой FAT16, в то время как в некоторых прошивках UEFI требуется ESP с файловой системой FAT32. Вы найдете полное объяснение, если вы нажмете Ctrl + F и выполните поиск Fedora на связанной странице в этом параграфе (нажмите "Далее" один раз в "Строке поиска", чтобы перейти непосредственно к информации, на которую ссылаются).
Принимая во внимание тот факт, что для безопасной загрузки требуется UEFI-спецификация => UEFI 2.2, а предустановленные компьютеры под управлением Windows 8 будут использовать UEFI 2.3.1.
Все это подтверждает, что Ubuntu 11.10 не поддерживает безопасную загрузку, поэтому безопасная загрузка не является проблемой.

Это возможно после использования UEFI для установки Windows, которая может использовать только GPT при использовании UEFI; что Ubuntu устанавливается с использованием настроек BIOS/ прежних версий из-за недостатков установщика. то есть Ubuntu может устанавливать на GPT, используя как BIOS, так и UEFI, что приводит к необходимости переключения настроек прошивки для загрузки каждой ОС.

Чтобы определить, использует ли Windows UEFI, необходимо использовать управление диском для подтверждения использования GPT. С помощью этого руководства можно преобразовать установку Windows Bios в UEFI. Преобразование установки Windows BIOS в UEFI

Одним из простых решений является запуск Boot-repair-disk (загрузка cd.iso будет означать немного более быструю загрузку по сравнению с использованием полного Ubuntu.iso, а затем установку boot-repair. Проверьте расширенные параметры перед запуском рекомендуемого исправления, учитывая, какие настройки прошивки вы использовали для загрузки boot-repair Boot-Repair установит grub-efi и исправит проблемы аппаратного кодирования прошивки, чтобы система использовала UEFI и загрузку Ubuntu, а также любые другие существующие установки с использованием UEFI.

Важной частью (которая может зависеть от поставщика) является способ загрузки в режиме EFI (т. Е. Один и тот же компакт-диск Ubuntu 14.04 LTS может обнаружить два разных режима и отобразить различный текстовый и нетекстовый загрузочный экран, как показано выше).

http://forum.hardware.fr/hfr/OrdinateursPortables/portable/resolu-installation-probleme-sujet_67937_1.htm

или это:

http://rog.asus.com/220572013/rampage-motherboards/rampage-iv-uefi-boot-installation-guide-on-windows-7-or-8/

Обратите внимание, что при настройке BIOS для приоритетов загрузки обычно есть два разных варианта для DVD: Px или UEFI (или некоторые другие слова). Один из них предназначен для UEFI, а другой - для устаревшей загрузки на основе MBR.

Вы можете сделать загрузочные USB-накопители, которые работают с системой EFI, я не такой опытный, как некоторые из вас, поэтому я нашел способ, который прост и работает:)

В машину с биосом EFI вставьте CD/DVD с Parted Magic (он у меня был на загрузочном CD HIREN, который я записал на CD вместо USB). Загрузитесь с этого CD/DVD.

Подключившись к Parted Magic, вставьте пустой USB-накопитель объемом не менее 2 ГБ. Откройте утилиту Unetbooten, которая входит в состав Parted Magic. Запустите программу и выберите любой дистрибутив, который вы пытаетесь загрузить на диск. Следуйте инструкциям и дождитесь его завершения.

Этот USB-накопитель должен загрузиться в любой системе EFI. По крайней мере, у меня это сработало:oP

Решил проблему с EFI на моем ноутбуке ACER 5560G, оказалось, что переименование каталога EFI и файла EFI на USB-диске Wubi работает (спасибо immerohnegott).

Это вынудило обычную установку GRUB на 2 готовых раздела с GParted на флешке. Партитоны были:

  • /boot (100 мб)
  • / (70 ГБ)

Перезагрузитесь в Windows 7 и установите бесплатную версию EasyBCD. Добавить новую запись, Linux -- >> Grub 2 и он будет искать во всех разделах загрузчик GRUB.

Таким образом, раздел Windows System Reserved и скрытый раздел PQSERVICE Acer не затрагиваются.

Таким образом, я столкнулся с проблемой установки Ubuntu 14.04 на Lenovo ThinkCentre M91p, и у меня есть быстрое / простое решение:

  1. Перед загрузкой с установочного диска /USB Ubuntu перейдите в BIOS и на вкладке "Автозагрузка" измените "Режим загрузки" с "Авто" на "Legacy".
  2. Установите Ubuntu.
  3. Если хотите, измените Boot Mode в BIOS обратно на Auto.

Это работает последовательно для меня.

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

В настройках BIOS измените режим жесткого диска на IDE и загрузитесь с флэш-накопителя USB. Он будет установлен в режиме, отличном от UEFI, и загрузка после установки также будет работать нормально.

Этот конкретный метод отлично работает для меня с Ubuntu 16.04 на Lenovo ThinkCentre Edge 71 с последней версией BIOS.

Вам нужно выяснить, как заставить ваш BIOS загружать установочный компакт-диск в режиме EFI, а не в режиме BIOS. Вы будете знать, что это загрузка в режиме efi, потому что вы получите меню grub вместо обычного syslinux.

Это такой же комментарий к ответу Эрика от 19 августа 2015 года в 18:09, что и отдельный ответ, но он может оказаться полезным для других.

Я пытался установить Ubuntu 20.04 (а до этого 16.04) (а затем Debian, а затем rEFInd Boot Manager) на Lenovo ThinkCenter M91p. Машина может загружаться с помощью UEFI или устаревших методов BIOS и загружает версию UEFI всех вышеупомянутых установочных образов с USB-накопителя.

Установка проходит нормально, но после удаления ключа и перезагрузки я увидел

ошибка 1962: операционная система не найдена

По какой-то причине прошивка UEFI не находит новую загрузочную запись / файлы, записанные в раздел EFI.

В конце концов я нашел подсказку, в которой говорилось, что должна быть установлена ​​запись EFI с точным названием "Windows Boot Manager". Я пробовал это, но, похоже, это не помогло.

В конце концов, я правильно установил Windows 10. Это сработало! Прошивка смогла найти и загрузить Windows. Поэтому я скопировал образ EFI для rEFInd поверх диспетчера загрузки Windows (т.е. я скопировал /EFI/refind/refind_x64.efi в /EFI/Microsoft/Boot/bootmgfw.efi) и, наконец, у меня есть машина, которая будет загружать Ubuntu (через rEFInd) напрямую с диска.

Я уверен, что вы можете переименовать загрузчик Ubuntu, чтобы пропустить rEFInd, но я подумал, что хотел бы выполнить двойную загрузку еще пару вещей, а сама прошивка, похоже, не имеет пользовательского интерфейса для `` меню ''

Разница между правильной установкой Windows и простым изменением метки другой установки кажется некоторыми дополнительными (мусорными?) Символами в конце. Я даже не могу понять, как efibootmgr мог их установить, даже если бы я знал, что именно я пытался воспроизвести.

--редактировать--

Или теперь я знаю, что ищу, возможно, это на самом деле путь / имя загрузчика

https://ubuntuforums.org/showthread.php?t=2234019

Дох!

--редактировать--

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

Подсказки:

http://mjg59.dreamwidth.org/20187.html

https://forums.lenovo.com/t5/ThinkStation/UEFI-Mode-installation-of-Linux-distributions-on-Thinkstation/td-p/1018555

Установите носитель для Windows 7,8,10:

https://support.microsoft.com/en-us/help/15088/windows-10-create-installation-media

https://www.microsoft.com/en-gb/software-download/windows10(ключ не нужен, вам просто нужно выполнить установку, затем вы можете отказаться от всей партии)

REFInd:

https://rodsbooks.com/refind/

Я решил эту проблему, я использую Ubuntu 16.04 и Windows 10, и я не могу автоматически загрузиться с моей Ubuntu. Мой раздел EFI - FAT32

Убедитесь, что ваш раздел Ubuntu первым порядком загрузки,

$ sudo su
# cd /boot/efi/EFI/Boot
# mv bootx64.efi bootx64_.efi
# cp ../ubuntu/shimx64.efi bootx64.efi
# cp ../ubuntu/grubx64.efi grubx64.efi
# update-grub
# reboot

У меня была похожая проблема.

Что я испытал, так это то, что компьютер с EFI также оснащен BIOS. Я спамил F2 как сумасшедший, случилось то, что у меня был выбор - использовать EFI или стандартный BIOS.

Однако будьте осторожны, если вы используете BIOS, компьютер загрузится с сообщением: "ОС не найдена".

Таким образом, вы можете отформатировать свой компьютер оттуда и заставить его загружаться как обычный компьютер.

У меня была та же проблема... я купил этого нового зверя Lenovo на рабочем столе и столкнулся с той же проблемой, я не хотел WIN 8.1 на нем вообще (я имел дело с Linux с Red Hat 6.1) Однако я не был знаком с UEFI/EFI вообще. ПК даже загружает liveCD . После того, как я нашел информацию об этом в этом блоге, я обнаружил, что вам нужно изменить несколько вещей в UEFI/EFI/BIOS, сначала отключить CSM и выбрать "Legacy only" в параметрах загрузки. Перезагрузка и бум! я был в. Установил Ubuntu 12.04, мне было хорошо идти. Позже я обнаружил, что 12.04 НЕ БУДЕТ загружаться после возврата тех же настроек обратно на "UEFI Only", ошибка "ОС не найдена" . Насколько я понимаю, Ubuntu начал поддерживать этот UEFI в 12.10, я обновил его до 13.04, изменил те же настройки, включил CSM . И только UEFI, и вуаля! Я загрузился с UEFI и заметил, что машина работает намного лучше! Вам не нужно заново устанавливать UEFI, просто обновите до 13.04/10, вернитесь обратно к UEFI, но это сработало для меня... Не могу дождаться, чтобы увидеть, что Linux делает с этой довольно новой функцией UEFI/EFI, здесь есть некоторый потенциал

Та же проблема здесь. Я "решил" это путем постоянной загрузки с моего SuperGrub CD. Я не против сделать это таким образом. Я вижу это как функцию безопасности; мой SuperGrub CD - это мой дополнительный ключ. Когда я проверяю свои жесткие диски в Ubuntu, я вижу, что Ubuntu-HDD не является MBR-диском. Похоже, перераспределение этого диска, добавление MBR решит проблему, но я слишком ленив, чтобы пройти через все эти проблемы.

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