LINUX.ORG.RU

Две Федоры на одном диске

 , , ,


0

1

Здравствуйте товарищи! Люди! :) Помогите разобраться с ситуёвиной, плиз.

Есть установленная Федора 41 с гномом, я решил поставить «рядом» Федору 41 с КДЕ, для опытов, чтобы не гадить основную систему.

Загрузился с флешки, выделил соточку гигов неразмеченного свободного пространства, указал физический диск в инстадяторе для установки, нажал готово и пошла установка. Перезагружаюсь… Меня не встречает меню граба, а встречает свеже установленная Федора 41 с гномом. Ну, понятно, загрузчик снесло. Смотрю через гпартед, раздел со старой системой на месте, никуда не делся.

Вопрос, как правильно восстановить загрузчик или что нужно сделать, чтобы граб видел обе системы?

ПысПыс: Естессно уефи… ПысПыс2: Раньше подобное проделывал с двумя бубунтами и подобного фортеля со сносом загрузчика не было, всё чётко определялось без танцев с бубном, а тут что-то не пошло… :(


Ответ на: комментарий от anonymous

Ну блин, надо, ну вот надо. :) У меня линь на муз. продакшене (ну назовём это так). Там столько наутсановлено, что если основная система упадёт, я потом замучаюсь всё своё добро пихать обратно. :) Поэтому, чтобы не заморачиваться, вот и поставил «песочницу» рядом. :) А теперь могу пока грузиться в старую систему только через биос, что не комильфо :)

UnCle
() автор топика

зачем? ты можешь что угодно через distrobox ставить и импортировать приложения, поставленные таким образом. это лучше flatpak тем, что можно что угодно доставить в контейнер

rtxtxtrx ★★
()
Ответ на: комментарий от UnCle

То есть, всё-таки можешь. Только уже определись: БИОС или УЕФИ. А УЕФИ в любом случае запускает груб. Следовательно, что установка снесла груб - это бред сивой кобылы.

Как в соседней теме. Изучай свой УЕФИ, тебе с ним жить!

Плюс к этому, настрой груб, чтобы он грузил любую систему. Любой груб. Способов больше одного. Неоднократно описаны на форуме.

andytux ★★★★★
()
Ответ на: комментарий от andytux

Никаких «или», у него биос с поддержкой уефи походу, которую он и использует дефолтным режимом загружки. А «работает» это видимо через биосовское бут меню.

firkax ★★★★★
()

Загрузи старую систему вручную командами в GRUB и запусти команду обновления конфигурации загрузчика. Потом, когда убедишься, что старая грузится нормально, добавь новую в custom.cfg или как его.

Xenius ★★★★★
()
Ответ на: комментарий от andytux

Да из меня еще тот объясняльщик. Я неправильно выразился, понятия путаю. Новая установка конечно же не граб снесла, они переписала бут и теперь я могу загрузить старую систему только через меню биоса материнской платы. :) Мне тут посоветовали efibootmgr. Буду пробовать. Я просто уже как часов 7-8 красноглазю по теме. :) В голове уже каша кашей. :)

UnCle
() автор топика
Ответ на: комментарий от UnCle

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

И опять всё путаешь. Если БИОС, то именно снесла груб. А вот если УЕФИ, то тут вариантов больше. В том числе, что могут быть не только разные грубы, но ещё и на разных разделах.

andytux ★★★★★
()
Последнее исправление: andytux (всего исправлений: 1)
Ответ на: комментарий от UnCle

Мне тут посоветовали efibootmgr

Это уровнем ниже. Это управлялка самими загрузочными записями в efi.

На том же уровне, что и GRUB - systemd-boot (gummiboot в девичестве). Вот как раз Fedora очень красиво с ним работает - создает под каждую установку каталог с именем == /etc/machine-id, где уже хранит что-откуда загружать для соответствующего экземпляра.

Это если любить чтоб «оно само».

Но ещё больший кайф от него в том, что всё максимально просто можно и вручную указывать что-откуда загружать. Прям берешь архив root-fs с любым дистрибутивом, разворачиваешь в раздел, прописываешь в systemd-boot где оно - красота. Никаких «установок», никаких GRUB'ов. Буквально чуть-чуть подумать про /boot, ESP, efi - и уже почти хакер, когда заработает.

Примерно такое:

$ cat /efi/loader/loader.conf
timeout 5
console-mode keep
auto-entries 1
auto-firmware 1
editor yes
default Arch-current.conf

$ cat /efi/loader/entries/Arch-current.conf
title      Arch Linux
version    current
linux      /Arch/current/vmlinuz-linux
initrd     /Arch/amd-ucode.img
initrd     /Arch/current/initramfs-linux.img
options    root=UUID=319cfe49-3eb9-49a9-b0e5-4d8d5236e2e0 ... [bla-bla-bla]

Toxo2 ★★★★
()
Последнее исправление: Toxo2 (всего исправлений: 1)
Ответ на: комментарий от Toxo2

На том же уровне, что и GRUB - systemd-boot (gummiboot в девичестве).

смотрю первый попавшийся archwiki. Пишут:

Note that systemd-boot can only start EFI executables (e.g., the Linux kernel EFI boot stub, UEFI shell, GRUB, or the Windows Boot Manager).

негусто.

что всё максимально просто можно и вручную указывать что-откуда загружать.

а в других загрузчиках типа grub или lilo как-то по другому?

MirandaUser2
()
Ответ на: комментарий от Toxo2

Берёшь исполнимый файл grubx64.efi и переименовываешь в /EFI/boot/bootx64.efi на разделе ESP, кидаешь рядом конфиг файл и всё прописываешь, точно так же как твой gummiboot но загружает произвольные ядра, в тч без пенька.

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

По идее, не надо ничего переименовывать, он там должен быть, если «одна хитрожопая система» не подгадит. Просто в УЕФИ выбрать соответствующую загрузочную запись.

Точнее, ты предлагаешь в качестве дефолтного поставить неподписанный загрузчик, который будет работать только при отключенном «secure boot». А там находится подписанный, который работает в любом случае.

andytux ★★★★★
()
Последнее исправление: andytux (всего исправлений: 1)
Ответ на: комментарий от MirandaUser2

а в других загрузчиках типа grub или lilo как-то по другому?

lilo мне тоже понравился своей простотой, но там чего-то не хватало уже не помню чего точно.

А с grub было решительно не ясно, что именно происходит и почему надо вносить изменения в одном месте, а потом ещё и генерировать какой-то его свой формат.

В общем просто так исторически сложилось - Void'овский gummiboot первый, кто мне стал понятен на пальцах. Потом уже выяснилось, что оно и в других дистрибутивах есть. Вообще пользование Void мне многое объяснило, как оно под капотом устроено у Линуксов.

Сугубо мой, возможно неправильный, опыт.

Toxo2 ★★★★
()
Ответ на: комментарий от Toxo2

А с grub было решительно не ясно, что именно происходит и почему надо вносить изменения в одном месте, а потом ещё и генерировать какой-то его свой формат.

вероятно это от grub2 такое впечатление. Там действительно слишком навороченная система генерации конфига по сравнению с grub legacy. Но при этом возможность прописать все настройки вручную присутствует. Формат примерно такой же, как у systemd-boot (он в общем-то у всех загрузчиков +/- одного вида).

MirandaUser2
()
Ответ на: комментарий от Toxo2

А с grub было решительно не ясно, что именно происходит и почему надо вносить изменения в одном месте, а потом ещё и генерировать какой-то его свой формат.

Навороченность там из-за генерации скриптом. На самом деле можно сгенерировать конфиг через grub-mkconfig > /boot/grub.cfg и потом отредактировать как хочешь или забить на генерацию и сделать самому.

Xenius ★★★★★
()
Ответ на: комментарий от Toxo2

Выглядит, как две страницы оправдания вкусовых качеств кактуса.

Просто забей на все скрипты, напиши конфиг сам и всё. GRUB2 лучше остальных загрузчиков, а эти скрипты генераторы пожалуй и не нужны.

Xenius ★★★★★
()
Ответ на: комментарий от MirandaUser2

У lilo – по-другому. Он не зависит от файловой системы, но может грузить ядра или копии загрузочного сектора только в пределах первых 1000 цилиндров, и он не умеет работать в EFI. Для EFI есть elilo.

yars068 ★★★★
()
Ответ на: комментарий от mx__

Не должна.

Если 30_os-prober отключен (а в последних версиях груб он отключен), то и не будет искать других систем. Здесь ещё нюанс, что есть «другие системы».

andytux ★★★★★
()
Ответ на: комментарий от mx__

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

UnCle
() автор топика
Ответ на: комментарий от greenman

Не нужен. Да и сама автоматизация в грабе не нужна, по большому счету. Она может быть полезна там, где нужно грузить рандомные загружаемые объекты, например, на «живой флешке», которая кочует из компа в комп, для ремонтных работ :)

yars068 ★★★★
()
Ответ на: комментарий от UnCle

Потому что грузится не «новый», а «старый» загрузчик, конфиг которого не обновился. При установке нескольких дистрибутивов на одной системе должен ставиться только один загрузчик, и, соответственно, должен быть один общий /boot, а на современных машинах с EFI – еще и один общий ESP.

yars068 ★★★★
()
Ответ на: комментарий от UnCle

Федора уже давно использует $BOOT/loader/entries. В grub.cfg линуксовые меню энтри не добавляются. В grub.cfg только одна команда blscfg, которая загружает меню энтри из $BOOT/loader/entries.

Программа установки федоры (анаконда) при установке на чистый диск по умолчанию создаёт раздел ESP, раздел boot и раздел (или логический том) root. grubx64.efi и grub.cfg устанавливаются на раздел ESP, /loader/entries на раздел boot.

Чтобы вторая копия федоры использовала тот же grub и /loader/entries, надо при установке второй копии федоры выбирать кастомное партиционирование, реюзать существующие разделы ESP и boot, и создавать новый раздел root для установки второй федоры.

В результате обе федоры при обновлениях ядра будут кидать в /loader/entries новые меню энтри, груб будет их все читать и показывать в своём бут меню.

iliyap ★★★★★
()
Ответ на: комментарий от yars068

соответственно, должен быть один общий /boot

совершенно не обязан

а на современных машинах с EFI – еще и один общий ESP.

Вот тут скорее да

В ситуации у ТС должен быть один ESP и два /boot типа такого https://www.lorenzobettini.it/2022/04/multibooting-with-grub/

no-dashi-v2 ★★★
()