Установка GRUB на карте с интерфейсом USB: Продолжайте иметь, это “не может найти ошибку” каталога EFI

Я пытаюсь установить личинку на карте с интерфейсом USB для создания ее загрузочной. Я хочу сделать это загрузочным, чтобы заставить USB мультизагрузить, нести больше чем один дистрибутив в одном единственном USB (т.е. rescatux и хвосты). Я сделал это:

sudo mkdir -p /media/MULTIBOOT/boot

и затем:

sudo grub-install --target=x86_64-efi --boot-directory=/media/MULTIBOOT/boot /dev/sdc1

И я получаю эту ошибку:

Установка для x86_64-efi платформы. установка личинки: ошибка: не может найти каталог EFI.

У меня есть Ubuntu 14.04 LTS, и это является 64-разрядным.

Это - моя конфигурация USB: enter image description here

Это - самый первый раз, когда я пробую это, и я немного потерян здесь, должен я использовать /dev/sdc1 или /dev/sdc?

Я попробовал (подобным результатом), эта другая альтернатива:

sudo grub-install --target=x86_64-efi --boot-directory=/media/victoria/MULTIBOOT/boot /dev/sdc

Где проблема?

Спасибо за помощь!

2
задан 27 March 2017 в 22:02

1 ответ

Я не могу предоставить полный ответ на Ваш вопрос, потому что некоторые аспекты конфигурации GRUB и установки вне моего уровня квалификации и из-за некоторой неоднозначности о том, что Вы хотите сделать (как указано sudodus в его комментарии к Вашему вопросу). Тем не менее я могу сделать несколько наблюдений и предложений, которые могут быть полезными:

  • При установке GRUB на нормальной рабочей системе EFI из Ubuntu GRUB станет EFI/ubuntu/grubx64.efi на Системном разделе EFI (ESP), с записью NVRAM, указывающей на то местоположение.
  • Загрузочные EFI Карты памяти, в отличие от этого, обычно загружаются из названного загрузчика EFI/BOOT/bootx64.efi на ESP Карты памяти. Это имя файла обычно называют именем файла нейтрализации, и EFIs, как предполагается, ищут то имя файла как последнее прибежище, если никакие точки входа NVRAM к действительному загрузчику, или если пользователь выбирает носитель начальной загрузки из встроенного меню диспетчера начальной загрузки. Таким образом для установки на этом местоположении необходимо или корректироваться grub-install команда (и я даже не на 100% положителен, что она поддерживает это), или скопируйте файлы вручную.
  • Усложняя предыдущее, если компьютер использует Защищенную загрузку, Ubuntu устанавливает программу под названием Контейнер (shimx64.efi), и создает запись NVRAM, указывающую на него, а не к grubx64.efi. Аналогично, для начальной загрузки внешнего носителя, оригинала shimx64.efi должен быть назван EFI/BOOT/bootx64.efi. В любом случае затем запускается Контейнер grubx64.efi в том же каталоге как Контейнер.
  • Если не с помощью Защищенной загрузки, GRUB Ubuntu ищет a grub.cfg файл в /boot/grub каталог, который вряд ли будет ESP. При начальной загрузке с Защищенной загрузкой, активной, тем не менее, grubx64.efi ищет grub.cfg в том же каталоге как grubx64.efi. Это grub.cfg, Тем не менее, ищет и загружается /boot/grub/grub.cfg, таким образом, эффект является тем же, но путь более сложен. В любом случае существует зависимость и от ESP и от независимо от того, что раздел содержит /boot/grub. Некоторые дистрибутивы настраивают вещи по-другому; Fedora, например, помещает финал grub.cfg и все связанные файлы на ESP.
  • /boot/grub/grub.cfg файл создан (или восстановлен) сценариями конфигурации, которые работают каждый раз, когда Вы устанавливаете новое ядро или двоичный файл GRUB. Это хорошо работает для системы единственной начальной загрузки, но если Вы мультизагружаетесь с другим дистрибутивом Linux, вещи становятся грязными быстро. В частности, A Распределения, GRUB управляет процессом начальной загрузки и при обновлении ядра для Распределения B GRUB не покажет новое Распределение B ядро, пока Вы не будете работать update-grub (или что-то подобное) в Распределении A.

Между этими факторами, чтобы сделать, что Вы хотите с GRUB, возможности - Вы, должен установить на имени файла нейтрализации, а не на стандартном имени файла; Вы могли бы или, возможно, не должны были бы сжимать Контейнер в изображение; и Вы, возможно, должны настроить Ваш grub.cfg для Вашей установки с двумя распределениями. Это много, чтобы сделать. Если бы я должен был сделать все это с GRUB, то мой подход должен был бы установить оба дистрибутива на Карте памяти, как будто это было внутренним жестким диском и затем перемещается/переименовывает GRUB (или Контейнер) к имени файла нейтрализации. Это будет иметь преимущество, в котором Вы не должны нуждаться обезьяне с grub.cfg файл. Один большой протест состоит в том что, если Вы хотели использовать что-то, что устанавливает необычным способом (как через UNetbootin или Rufus, а не установщик Повсеместности Ubuntu), который мог бы изменить уравнение способом, которое потребует некоторого совершенно другого подхода. Похоже, что Вы пытаетесь использовать Ubuntu на своем жестком диске для установки GRUB на Карте памяти, которая будет использоваться в начальной загрузке от Карты памяти. Этот подход мог бы работать, если Вы - намного больше эксперта GRUB, чем я, но существует достаточно неясных переменных в действии, что Ваш подход, вероятно, будет минным полем сложностей.

Другой метод должен использовать мой диспетчер начальной загрузки перенаходки. Необходимо было бы установить его на имени файла нейтрализации, но повторно найти сканирования для ядер во время начальной загрузки, таким образом, это, менее вероятно, будет разрушено путем установки нового ядра в одном распределении при использовании другого распределения, чтобы установить GRUB или повторно найти. OTOH, если Вы хотите использовать Защищенную загрузку, необходимо будет перейти через дополнительные обручи (зарегистрированный на странице Secure Boot rEFInd) для получения ее работа, вероятно, на каждом компьютере, который Вы используете для начальной загрузки Карты памяти. Вы, возможно, также должны были бы создать /boot/refind_linux.conf файлы для обоих Ваших дистрибутивов для обработки определенных для распределения опций ядра. (См. перенаходку документация Linux и особенно нижняя половина или так той страницы, для получения информации об этом.)

3
ответ дан 2 December 2019 в 02:47

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

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