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

16

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

  

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

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

регрессия:

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

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

    
задан ervingsb 30.12.2011 в 11:43
источник

10 ответов

10

Это измененный пост nerasezi в форуме Ubuntu

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

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

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

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

  2. Как только живая система будет запущена через терминал, введите пароль root, набрав команду sudo passwd root

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

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

  4. Вот часть из руководства по UEFIBooting:

    Строительство GRUB2 (U) EFI

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

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

    бизон Autoconf Automake сгибать автоген 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 %код% % Co_de%

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

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

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

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

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

make

sudo mkdir -p /mnt/EFISYS

sudo modprobe dm-mod

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

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

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

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

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

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

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

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

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

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

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

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

sudo modprobe efivars

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

  1. Откройте Synaptic и удалите все пакеты grub и установите только пакеты grub-efi (amd64 для меня) и все необходимые зависимости.По завершении установки запустите sudo update-grub в терминале. Вы должны отредактировать «grub.cfg» из / boot / grub и проверить, что UUID диска соответствует вашему диску и разделам, голос «insmod part_» и «set root =» (hd0, «имеют текстовую строку« gpt »). ok, скопируйте «grub.cfg» в «efi / grub» в системном разделе EFI. Если что-то, о чем я упоминал ранее, не соответствует, просто отредактируйте grub.cfg и вручную измените их значения. Затем скопируйте файл в каталог «efi / grub» в системном разделе Efi (он должен быть установлен в / mnt).

    Затем, когда я перезагрузил систему, появилась новая запись на вкладке «Загрузка» в настройке UEFI с именем GRUB2, и я установил ее как вариант загрузки по умолчанию.

ответ дан Luis Alvarado 15.01.2012 в 19:15
5

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

  

Идентификация, если компьютер загружает компакт-диск в режиме EFI

     

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

     

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

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

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

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

После перехода на экран grub можно перейти на строку comand, нажав «c» и попробовать lsefisystab , которая должна отображать таблицу записей EFI с идентификаторами GUID, что является еще одним удобным методом идентификации использования UEFI перед установкой.

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

Ссылаясь на rodsbooks на этой странице , показано, что Ubuntu 11.10 создает ESP с файловой системой FAT16, где, как и некоторые UEFI прошивки хотят ESP с файловой системой FAT32. Вы найдете полное объяснение, если вы выполните Ctrl + F и выполните поиск Fedora на связанной странице в этом абзаце. (Нажмите Next один раз в строке «Найти», чтобы перейти прямо к информации, на которую ссылается).
Учитывая тот факт, что спецификация UEFI, необходимая для безопасной загрузки, равна = & gt; Предварительно установленные машины 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 установит grub-efi и устранит проблемы жесткого кодирования жесткого диска, чтобы система могла использовать UEFI и загружать Ubuntu, а также любые другие существующие установки с использованием UEFI.

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

Ссылка

или это:

Ссылка

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

ответ дан geezanansa 14.03.2017 в 01:33
3

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

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

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

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

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

    
ответ дан blaire 26.05.2012 в 16:58
2

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

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

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

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

    
ответ дан CynnieH 12.05.2013 в 23:43
1

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

    
ответ дан psusi 31.12.2011 в 18:56
1

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

  1. Перед загрузкой с установочного диска / USB Ubuntu зайдите в свою BIOS и на вкладке «Запуск» измените «Режим загрузки» с «Авто» на «Наследие».
  2. Установите Ubuntu.
  3. Если вы хотите, измените режим загрузки в BIOS на Auto.

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

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

    
ответ дан Eric 19.08.2015 в 20:09
1

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

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

    
ответ дан Gregg B. 22.12.2016 в 15:32
0

У меня была аналогичная проблема.

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

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

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

    
ответ дан Marius 16.08.2013 в 01:04
0

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

ответ дан user255633 07.03.2014 в 03:17
-2

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

ответ дан Paul 15.05.2012 в 21:10