LINUX.ORG.RU

Для grub2 нужен отдельный раздел?

 , ,


0

2

Привет

Хочу LVM+grub2. Вроде как grub2 поддерживает корень на LVM. Интересно 2 варианта: с UEFI и без UEFI. Думаю как разбить диск.

Читаю здесь: https://wiki.gentoo.org/wiki/LVM#Preparing_the_disks
(Для Ъ) предлагается такая разбивка:
/dev/sda1 — (bootloader) — 2M — BIOS boot partition
/dev/sda2 — ext2 (or fat32 if UEFI is being used) — 128M — Boot/EFI system partition
/dev/sda3 — LVM — Rest of the disk — LVM Volume Group

Вопросы:
1. Зачем нужен sda1? Если для grub2, то как он знает что именно туда нужно устанавливаться?
2. Правильно ли я понимаю, что для кейса без UEFI, sda2 просто исключается?

Спасибо.

★★★★★

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

Поставивь раз UEFI, познаешь порядок на своём железе.

Чем работа железа с UEFI будет отличаться с онной без UEFI?

Kroz ★★★★★
() автор топика
Ответ на: комментарий от system-root

без UEFI не интересно. 2018 год на дворе.

Чем работа без UEFI отличается от работы с UEFI?

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

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

Это целая система, как systemd - отвечающая, ко всему, за защиту железа от неавторизованного доступа при включении компа.

blitz
()
Ответ на: комментарий от r3lgar

Только если ты ставишь GRUB2 в режиме Legacy BIOS. Для grub-efi-что-то-там это не нужно.

Хм... Получается. что в статье ошибка: 1) для Legacy BIOS sda2 лишнее 2) а для UEFI sda1 лишнее?
https://wiki.gentoo.org/wiki/LVM#Preparing_the_disks

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

Это целая система, как systemd - отвечающая, ко всему, за защиту железа от неавторизованного доступа при включении компа.

Кроме защиты железа (которая мне на домашнем локалхосте ну совсем не сдалась) - кроме этого UEFI что-то дает?

Kroz ★★★★★
() автор топика

Сперва без UEFI и на MBR.

LVM2 предполагает либо initramfs либо поддержку его в grub2. А сам /boot часто делают отдельным разделом именно из-за того что некоторым так удобнее да и fsck ;)

Теперь UEFI и на GPT.

Само по себе UEFI предпологает наличие раздела ЖИР /boot/efi. Так как GPT то grub2 устанавливатся по старому, как с MBR, в заголовок не выйдет поэтому раздел /boot. Однако это только если тебе нуже grub2.

Пользуясь самими фичами UEFI//boot/efi и собрав поддержку LVM2 в initramfs и вкомпилировав его в ядро можно обойтись и без раздела /boot и следовательно каких-либо загрузчиков кроме UEFI.

Как то вкратце так... Писал по памяти если чо палками не бить.

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

Не совсем ошибка.

1. нет, sda2 не лишнее, можно без него, но тогда всё это в лвм надо засунуть, я уже писал это.

2. sda1 лишнее, но тебе жалко пару мегабайт?

Вообще мне больше не нравится что дальше ещё parted используется. Чтобы не расписывать отдельно с UEFI и без, всё как-то криво объединили, а дальше уже забыли про uefi.

С UEFI плохо в инструкциях gentoo, но это не самая сложная часть, можно быстро разобраться, если не сам UEFI не кривой.

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

grub2 умеет корень на lvm и initrd он умеет грузить оттуда.

отдельный раздел нужен только в очень отдельных случаях. Один из них - save_env.

save_env не работает с любым видом рейда ( LV может быть рейдом ). т.е. запись на lvm/raid не работает

другой случай - root на софт-рейде который не поддается автоматической сборке ( metadata > 0.9 ) или рейды активируемые с помощью dmraid

Может за последние 5 лет что-то поменялось, но раньше автосборка была только с metadata 0.9

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

А сам /boot часто делают отдельным разделом именно из-за того что некоторым так удобнее да и fsck ;)

Что fsck?

Пользуясь самими фичами UEFI//boot/efi и собрав поддержку LVM2 в initramfs и вкомпилировав его в ядро можно обойтись и без раздела /boot и следовательно каких-либо загрузчиков кроме UEFI.

Что за фичи UEFI?
Я вот погуглил, нашел много умных и красивых слов, практического профита не нашёл, по крайней мере для десктопа. Я что-то упустил?

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

отдельный раздел нужен только в очень отдельных случаях...

Вот за этот хинт спасибо.

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

1. нет, sda2 не лишнее, можно без него, но тогда всё это в лвм надо засунуть, я уже писал это.

Ну и отлично. Есть минусы?

2. sda1 лишнее, но тебе жалко пару мегабайт?

Мне не нужны лишние сущности, когда они не нужны.

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

1) для Legacy BIOS sda2 лишнее 2) а для UEFI sda1 лишнее?

Именно так.

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

Что fsck?

Чтоб сделать fsck как правило нужен непримонтированный раздел.

Что за фичи UEFI?

UEFI сам по себе, кроме всего прочего, ещё и загрузчик. Правда местами унылый... Но это уже другой разговор.

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

в режиме EFI нужен отдельный специальный раздел с файловой системой FAT32.

да... такая мерзость. Постоянно этот FAT в логи спамит, что неконсистентен и нужно проверить на ошибки. Кривоё ваш UEFI убожище. Хоть и приходится использовать, т.к. GPT роднее все-таки живет с UEFI, а MBR те еще костыли

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

Зачем постоянно монтировать EFI System Partition и уж тем более раздел с /boot?

А так, смысла в твоём высказывании, тем более мне не вижу. Вперёд с петицией к Intel и Apple.

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

Два чая этому господину, он прав, уже нашёл статьи в вики, осталось найти время загрузиться через уефи и примонтировать эту самую уефи, а вот затем уже efibootmgr.

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

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

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

Линукс-корень на LVM понимает?

если ты сможешь загрузить ядро через EFI STUB с initrd (я не знаю, возможно ли это, но слышал, что вроде да), то можешь испльзовать корень где угодно.

Чем лучше grub1 / grub2?

исключение ненужного этапа загрузки - загрузчика

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

а я думаю, что «нормальным загрузчиком» не нужны

Я очень сомневаюсь, что EFI stub может хоть близко покрыть функционал grub2.
1. Как у EFI Stub с поддержкой LVM или шифрованных разделов? Или мне опять /boot выносить на отдельный раздел?
2. Я подключил другой диск; я могу с него загрузиться, если изначально этого не было в конфиге? Имеется в виду редактирование конфига до загрузки ОС (хоть и временное).
3. Я могу единоразово сделать другой пункт меню дефолтным? Например «Reboot to maintenance console» или «Reboot to MS Windows»?
4. У EFI Stub есть нормальный конфиг чтобы его редактировать в обычном текстовом редакторе, бекапить, генерить своими скриптами?
5. Как у EFI Stub конфигурится оформление меню? Фоновая картика, цвета, разрешение в конце концов?

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

Насколько я понимаю — хоть и не пробовал, в случае EFI stub используется загрузочное меню самой прошивки EFI.

Соответственно:

1. initramfs можно впихнуть в тот же файл, я так понимаю. Так что должно всё работать. 2. через меню EFI. Если там есть EFI shell, то может и можешь. надо глянуть можно ли передавать параметры командой строки EFI-executable 3. Да, efibootmgr 4. По идее конфиг делается при сборке ядра. 5. Используется меню самой EFI-прошивки.

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

ну тебе тут всё верно ответили. отмечу только, что ты судя по всему не понимаешь, что такое EFI STUB. это всего лишь опция в конфиге ядра, которая позволяет ядру притвориться нативным приложением EFI вместо того, чтобы EFI запускал твой загрузчик, а он уже по старинке грузил ядро.

соответственно:

  1. тут уже несколько раз в треде упомянули про то, что initramfs нужно вкомпилить в bzImage ядра и всё у тебя будет работать. /boot отдельным разделом с efi вообще не нужен, даже если ты используешь grub
  2. не нужно ничего включать, загружаешься так же, как загружаешься например с загрузочной флешки
  3. Xenius уже всё верно сказал
  4. У EFI STUB не может быть никакого конфига по вышеназванной причине. загрузочные опции и их порядок можно редактировать утилитой efibootmgr. если ты про загрузочные опции ядра, то часть их можно вкомпилить в ядро, а часть передать ядру через тот же efibootmgr
  5. используется стандартное boot menu твоего efi, соответственно всё это зависит от твоей прошивки efi. на большинстве современных матплат оно графическое в нативном разрешении и даже с поддержкой мышки
eternal_sorrow ★★★★★
()
Последнее исправление: eternal_sorrow (всего исправлений: 1)
Ответ на: комментарий от Xenius

1. Как у EFI Stub с поддержкой LVM или шифрованных разделов? Или мне опять /boot выносить на отдельный раздел?

1. initramfs можно впихнуть в тот же файл, я так понимаю.

Тот же раздел, ты имел ввиду? Или куда впихнуть initramfs?

2. Я подключил другой диск; я могу с него загрузиться, если изначально этого не было в конфиге?

2. ... Если там есть EFI shell,

Собственно в этом был и вопрос.
Про Grub2 гуглится легко. Вот так я недавно реанимировал свою систему: http://forums.justlinux.com/showthread.php?152790-How-to-use-Grub2-to-boot-Li...

3. Я могу единоразово сделать другой пункт меню дефолтным?
3. Да, efibootmgr

Дай линк, где то описано. Сходу не гуглится.

4. У EFI Stub есть нормальный конфиг чтобы его редактировать в обычном текстовом редакторе, бекапить, генерить своими скриптами?
4. По идее конфиг делается при сборке ядра.

По идее или ты где-то видел хоть что-то похожее? Дай линк.

5. Как у EFI Stub конфигурится оформление меню?
5. Используется меню самой EFI-прошивки.

То есть никак?

Пока что уровень функционала - чуть лучше lilo, но даже до первого grub'а не дотягивает.

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

1. тут уже несколько раз в треде упомянули про то, что initramfs нужно вкомпилить в bzImage ядра и всё у тебя будет работать.

Не всегда можно вкомпилить.

2. не нужно ничего включать, загружаешься так же, как загружаешься например с загрузочной флешки

Я хочу загрузиться с ISO образа диска, который лежит на флешке. Может?

3. Xenius уже всё верно сказал

Xenius ничего не сказал. Точнее он не дал ни одного линка, где было бы описано подобное.

4. У EFI STUB не может быть никакого конфига по вышеназванной причине.

Хорошо, EFI Boot Manager или как он там называется.
Отсутствие нормального конфига - минус, так как затрудняет операции что я описал выше, приходится городить костыли.

используется стандартное boot menu твоего efi

То есть нельзя.
Да, кстати, получается что баги решаются перепрошивкой? Вообще это, наверное, очевидно. И это серьезный минус.

Вот ни по одному пункту не лучше grub2. Зачем он нужен?

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

1. initramfs можно впихнуть в тот же файл, я так понимаю.

Тот же раздел, ты имел ввиду? Или куда впихнуть initramfs?

Можно и так и так. Читать подробнее тут или например тут. Если initramfs в том же файле, то ничего делать не надо, если в другом, то указать ядру параметр initrd=/EFI/yourOS/initramfs.img где указывается полный путь к файлу в ESP, причём разделители путей могут быть как правильные /, так и обратный слеш как принято в EFI...

Собственно в этом был и вопрос.

И такой вот ответ — если не было настроено заранее, то только через EFI shell. Если в прошивке твоей материнки его нет и ты не озаботился его установить и у тебя нет внешнего носителя с EFI shell, то никак.

Дай линк, где то описано. Сходу не гуглится.

Читай man efibootmgr или более подробные руководства по нему на русском или английском (например archwiki и на хабре).

-n | --bootnext XXXX
    Set BootNext to XXXX (hex)
...
BootNext - the boot entry which is scheduled to be run on next boot.
This supercedes BootOrder for one boot only, and is deleted by the boot manager after first use.
This allows you to change the next boot behavior without changing BootOrder.

По идее или ты где-то видел хоть что-то похожее? Дай линк.

Я знаю что в опциях при настройке ядра при компиляции должна задаваться дефолтная командная строка ядра. Где он конкретно я не смотрел, так как мне никогда это не было нужно. Мне проще задать опции не при компиляции ядра, а в efibootmgr.

То есть никак?

Что значит, никак? На компьютерах издавна есть загрузочное меню, обычно активируется нажатием Esc или F12 или ещё чего-нибудь при ранней загрузке.

В случае классического BIOS в этом меню будет выбор загрузочного устройства — жесткий диск, CD, флоппи, флешка...

В случае UEFI BIOS загрузочное меню формируется на основании переменных в nvram и там могут быть любые пункты, какие захочешь. Редактировать это меню можно уже многократно упомянутым efibootmgr.

Как конкретно это меню будет выглядеть — вообще не зависит от efistub ядра, так как это меню показывается ещё до того, как какое-либо EFI-приложение будет запущено. Ядро с EFI Stub — это просто такое EFI-приложение, как и загрузчик винды, grub, elilo и прочие и точно так же выбирается из этого меню или запускается через EFI shell или другим загрузчиком.

При этом, я сам предпочитаю конечно же GRUB, поскольку доверия кривым проприетарным EFI-прошивкам у меня мало. Но есть те кто любят сэкономить лишние пару секунд на записи загрузчика и желают грузить сразу ядро — вот для них EFI stub и сделан.

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

Я хочу загрузиться с ISO образа диска, который лежит на флешке. Может?

Лежит в виде файла или записан через dd? Если в виде файла, то может, если это поддерживается initramfs, но в этом случае ядро и initrd придётся извлечь из образа заблаговременно и запускать их с нужными параметрами через EFI shell. Или пересобрать образ ядра, прописав параметры. Или пересобрать initrd. Или сделать запись в nvram через упомянутый efibootmgr

Да, кстати, получается что баги решаются перепрошивкой?

Какие баги?

Вот ни по одному пункту не лучше grub2. Зачем он нужен?

По одному таки лучше — в цепочке загрузки убирается одна лишняя сущность (grub2), поэтому загрузка ОС будет немного, но быстрее.

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

Даже намёка на erase у security в биосе нет, увы.

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

отпишусь тут о своём опыте использования. сразу скажу, я не отказался от grub окончательно, он у меня установлен на всякий случай, но я его никогда не запускаю. некоторые опции ядра, специфичные для моего железа, я зашил в ядро, другие передаю через efibootmgr. всякие сложности типа lvm не использую, поэтому initramfs тоже нет.

с ISO-образа конечно загрузиться не получится, но это потребность весьма специфична. для этого проще всего установить grub на флешку

конфиг EFI хранится в nvram твоей материнской платы

Зачем он нужен?

меня например устраивает ситуация, когда при включении компьютера почти мгновенно начинает грузиться моя ОС, для этого он и нужен. если ты хочешь сперва эстетически насладиться красивым меню выбора ОС и только потом грузиться, то конечно ставь grub, burg или ещё что там есть

eternal_sorrow ★★★★★
()
Последнее исправление: eternal_sorrow (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.