Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: загрузочная флешка с uefi.  (Прочитано 3623 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн slo_nik

  • Автор темы
  • Активист
  • *
  • Сообщений: 489
    • Просмотр профиля
загрузочная флешка с uefi.
« : 28 Января 2018, 21:25:21 »
Добрый вечер.
Есть у меня мультизагрузочная флешка. Решил сделать так, чтобы она загружалась через uefi.
Взял флешку, создал таблицу разделов gpt, создал два раздела, оба fat32, на первый раздел установил флаги boot,esp
На первом разделе создал директории EFI/Boot, положил туда файл bootx64.efi и файл grub.cfg.
содержимое grub.cfg
search.fs_uuid 0314-B8A4 root hd0,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
На второй раздел скопировал содержимое мультизагрузочной, вместе с grub.
При попытке загрузиться с флешки на мониторе появляются две надписи:
1) "efi default loader"
2) "reboot info firmware interface"
Как сделать правильно, чтобы можно было загрузить grub меню и потом выбранную систему?

p.s.
содержимое grub.cfg на втором разделе.
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 29 Января 2018, 12:37:05 от slo_nik »
Ubuntu 18.04 LTS | Intel® Core™ i5-6500 CPU @ 3.20GHz × 4 | GeForce GTX 1060 6GB/PCIe/SSE2 | RAM 16Gb | и ни в коем случае не пользуйтесь услугами uadomen.com

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3512
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: загрузочная флешка с uefi.
« Ответ #1 : 28 Января 2018, 21:40:54 »
slo_nik, а чем Вас не устраивает вариант с готовыми решениями по мультизагрузке (тот же Multisystem или MultibootUSB)?
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн slo_nik

  • Автор темы
  • Активист
  • *
  • Сообщений: 489
    • Просмотр профиля
Re: загрузочная флешка с uefi.
« Ответ #2 : 28 Января 2018, 21:48:12 »
zg_nico, моя старая флешка вроде как готовое решение, просто надо сделать возможность загрузки через uefi.
Ubuntu 18.04 LTS | Intel® Core™ i5-6500 CPU @ 3.20GHz × 4 | GeForce GTX 1060 6GB/PCIe/SSE2 | RAM 16Gb | и ни в коем случае не пользуйтесь услугами uadomen.com

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3512
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: загрузочная флешка с uefi.
« Ответ #3 : 28 Января 2018, 22:28:38 »
slo_nik, если так уж хочется - можно попробовать обмануть систему. Всю флешку в образ через dd, и подготовить новую загрузочную через  MultibootUSB. Если  MultibootUSB такой "образ" съест, - на выходе будет самое что ни на есть решение.
Просто подбором параметров здесь дело решать замучаешься. Флешки, которые готовят данные программы - все однораздельные, все с MBR (а не с GPT), и все в FAT32. Так что один параметр угадали. Дальше - шут его знает что со всем этим делать. GRUB подозреваю что по-разному устроен (того же grub-pc-bin теперь нету, а "grub-install --no-floppy --target=i386-pc ..." без него не сделаешь).
Словом, были у меня попытки копать в этом направлении. В итоге бросил, применив готовое решение. Так что простите - не помогу :(
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 8032
    • Просмотр профиля
Re: загрузочная флешка с uefi.
« Ответ #4 : 29 Января 2018, 05:25:43 »
Цитировать
у меня мультизагрузочная флешка. Решил сделать так, чтобы она загружалась через uefi.
Я делаю так:
https://forum.ubuntu.ru/index.php?topic=278535.msg2196127#msg2196127

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: загрузочная флешка с uefi.
« Ответ #5 : 29 Января 2018, 12:31:43 »
Uefi обязано загружаться с раздела FAT32 с флагом Boot и типом раздела EF.
По умолчанию загружается efi-бинарик по пути EFI\BOOT\BOOTx64.EFI (можно и все маленькими - UEFI работает c ФС в режиме  регистронезависимости)

Собственно это база для загрузки в UEFI режиме. Но что вы туда подложите и что оно будет делать - это уже зависит от того что вам нужно.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн slo_nik

  • Автор темы
  • Активист
  • *
  • Сообщений: 489
    • Просмотр профиля
Re: загрузочная флешка с uefi.
« Ответ #6 : 29 Января 2018, 12:35:53 »
andytux, пример efi раздела брал из рабочей системы. В grub.cfg есть указание обращаться к grub, который лежит на втором разделе.
Grub.cfg на втором разделе содержит информацию об iso, которые надо загружать. Можно ли сделать так, чтобы отрабатывался тот конфиг, который я сделал.
p.s. дополнил свой вопрос.

Пользователь добавил сообщение 29 Января 2018, 12:43:55:
Sly_tom_cat, первый раздел, где расположен efi у меня в fat32, установлены флаги boot и esp. Так же в директории EFI/Boot лежит файл bootx64.efi и grub.cfg(содержимое файле в вопросе).
На втором разделе есть boot/grub/grub.cfg(дополнил свой вопрос содержимым файла) и директория, в которой находятся необходимые образы iso.
Но загрузиться не получается, меню grub со второго раздела не выводится, только две строки, которые я указал в вопросе.
Возможно я что-то напутал в параметрах grub.cfg с efi раздела?
search.fs_uuid 0314-B8A4 root hd0,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
UUID второго раздела я получил через команду sudo blkid. Вот эти два параметра может не дают правильно работать загрузке?
hd0,gpt2
« Последнее редактирование: 29 Января 2018, 12:43:55 от slo_nik »
Ubuntu 18.04 LTS | Intel® Core™ i5-6500 CPU @ 3.20GHz × 4 | GeForce GTX 1060 6GB/PCIe/SSE2 | RAM 16Gb | и ни в коем случае не пользуйтесь услугами uadomen.com

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 8032
    • Просмотр профиля
Re: загрузочная флешка с uefi.
« Ответ #7 : 29 Января 2018, 15:28:35 »
Всей магии EFI-загрузки постичь еще не удалось, но...
Цитировать
На первом разделе создал директории EFI/Boot, положил туда файл bootx64.efi
Положи туда-же файл grubx64.efi.
Во первых - почему еменно bootx64.efi. Например в исо-образе Ubuntu там оба файла.
Во вторых - сейчас попробовал. Оставил только bootx64.efi - загрузилось что-то не то, кажется с винта.
Оставил только grubx64.efi - загрузилось как положено, с флешки.
Интуитивно файлы беру из исо-образа Ubuntu.
Цитировать
search.fs_uuid 0314-B8A4 root hd0,gpt2
Такая форма  команды search встретилась только здесь.  Я использовал более мне знакомую и понятную.
Плюс добавить вывод переменных (для отладки). Итого предлагаю для первого раздела такой grub.cfg:
#search.fs_uuid 0314-B8A4 root hd0,gpt2
search -n -s -u 0314-B8A4
set prefix=($root)'/boot/grub'
echo "debug: root[$root] prefix[$prefix]"; sleep 8
configfile $prefix/grub.cfg
Чтобы не заморачиваться с uuid, искать можно по метке тома или имени файла:
search -n -s -l LABEL
search -n -s -f FILENAME
Заким чертом тебе два раздела? Вот и получил лишнюю головную боль. Смотри как в исо-образе.

Оффлайн slo_nik

  • Автор темы
  • Активист
  • *
  • Сообщений: 489
    • Просмотр профиля
Re: загрузочная флешка с uefi.
« Ответ #8 : 29 Января 2018, 15:44:45 »
Такая форма  команды search встретилась только здесь.  Я использовал более мне знакомую и понятную.
Эту команду я взял из grub.cfg, который находится на разделе efi рабочей системы.
Ubuntu 18.04 LTS | Intel® Core™ i5-6500 CPU @ 3.20GHz × 4 | GeForce GTX 1060 6GB/PCIe/SSE2 | RAM 16Gb | и ни в коем случае не пользуйтесь услугами uadomen.com

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: загрузочная флешка с uefi.
« Ответ #9 : 29 Января 2018, 19:07:06 »
Положи туда-же файл grubx64.efi.
Во первых - почему еменно bootx64.efi. Например в исо-образе Ubuntu там оба файла.
Во вторых - сейчас попробовал. Оставил только bootx64.efi - загрузилось что-то не то, кажется с винта.

В исо-образе Ubuntu в bootx64.efi лежит SHIM - простенький загрузчик который заточен грузить GRUB (grubx64.efi).
(Нажмите, чтобы показать/скрыть)

Если убрать grubx64.efi то SHIM не сможет загрузится и вернет UEFI управление для того что-бы UEFI попытался загрузиться иначе (следующий вариант загрузки).

Если хотите что-бы грузился сразу grub то его (grubx64.efi) надо положить в EFI/Boot и переименовать в bootx64.efi.
(Нажмите, чтобы показать/скрыть)

Пользователь добавил сообщение 29 Января 2018, 19:12:18:
Всей магии EFI-загрузки постичь еще не удалось, но...
Вы бы тогда поостереглись советовать... а то насоветуете.... :-\ а хотите разобраться - вельком - https://help.ubuntu.ru/wiki/uefi
« Последнее редактирование: 29 Января 2018, 19:23:55 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 8032
    • Просмотр профиля
Re: загрузочная флешка с uefi.
« Ответ #10 : 29 Января 2018, 19:40:27 »
Sly_tom_cat, спасибо за разъяснение про shim. Про shim знал, но не знал, что он под видом bootx64..
Цитировать
Вы бы тогда поостереглись советовать... а то насоветуете....
Во первых - я проверил на своей шкуре.
Во вторых - не ошибся. Ваше описание подтвердило мою интуицию.
В третьих - век живи, век учись.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: загрузочная флешка с uefi.
« Ответ #11 : 29 Января 2018, 20:01:55 »
andytux, прошу прощения если не очень точно передал смысл... я не столько просил вас отказаться от советов, сколько предлагал "прокачать свои скилзы" в вопросе.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 8032
    • Просмотр профиля
Re: загрузочная флешка с uefi.
« Ответ #12 : 30 Января 2018, 09:00:33 »
Цитировать
...предлагал "прокачать свои скилзы" в вопросе.
Sly_tom_cat, я полезных перспектив никогда не супротив.
В указанной вики статья хорошая, как таблица умножения - знать необходимо. В народе это называют - первый класс, вторая четверть.
Но в случаях типа этого:
https://forum.ubuntu.ru/index.php?topic=290942.msg2288914#msg2288914
 - помогает слабо. Тут нужна магия. Справедливости ради, без "таблицы умножения" никакая "магия" невозможна.
На всякий случай - все это шутки. Но... Во всякой шутке есть доля шутки.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: загрузочная флешка с uefi.
« Ответ #13 : 30 Января 2018, 12:01:12 »
andytux, к сожалению вендоры еще очень хреновые UEFI прошивки поставляют в компах.
Некоторые просто не реализуют важные требования спецификации, а другие отсебятину безумную от себя напихивают.

Но к сожалению это данность этого мира - тут выбора нет - либо всЁ делает только один и он "всегда делает правильно и "стандартно"" либо есть стандартная спецификация и десяток реализаций разной степени плохости.

Но в этом Реальном мире нужно знать хотя бы стандартную спеку, тогда будет проще разбираться с глюками конкретной прошивки.
А по ссылке - ты там неправильный диск выбирал для установки загрузчика, вот оно у тебя и не работало без флешки.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

 

Страница сгенерирована за 0.024 секунд. Запросов: 21.