После двух лет разработки представлен (https://lists.gnu.org/archive/html/grub-devel/2019-07/msg000...) стабильный релиз модульного многоплатформенного менеджера загрузки GNU GRUB (http://www.gnu.org/software/grub/) 2.04 (GRand Unified Bootloader). GRUB поддерживает широкий спектр платформ, включая обычные ПК с BIOS, платформы IEEE-1275 (оборудование на базе PowerPC/Sparc64), EFI-системы, RISC-V, оборудование на основе MIPS-совместимого процессора Loongson 2E, системы Itanium, ARM, ARM64 и ARCS (SGI), устройства, использующие свободный пакет CoreBoot.Основные новшества (http://git.savannah.gnu.org/cgit/grub.git/tree/NEWS?h=grub-2.04):
- Поддержка архитектуры RISC-V;
- Поддержка режима виртуализации Xen PVH (комбинация паравиртуализации (PV) для ввода/вывода, обработки прерываний, организации загрузки и взаимодействия с оборудованием, с применением полной виртуализации (HVM) для ограничения привилегированных инструкций, изоляции системных вызовов и виртуализации таблиц страниц памяти);
- Встроенная поддержка UEFI Secure Boot;
- Включение в состав TPM-драйвера (Trusted Platform Module) для UEFI;
- Поставка нового драйвера obdisk (OpenBoot) для систем с прошивками, соответствующими специкации Open Firmware (IEEE 1275);
- Поддержка режимов RAID 5 и RIAD 6 в Btrfs;
- Поддержка PARTUUID (идентификатор раздела в GPT (GUID Partition Tables));
- Поддержка VLAN;
- Встроенная поддержка DHCP;
- Большое число исправлений, связанных с архитектурами SPARC, ARM и ARM64;
- Улучшение поддержки Open Firmware (IEEE 1275);
- Поддержка компиляторов GCC 8 и 9;
- Переработка кода для интеграции с Gnulib (https://www.gnu.org/software/gnulib/).
URL: https://lists.gnu.org/archive/html/grub-devel/2019-07/msg000...
Новость: https://www.opennet.dev/opennews/art.shtml?num=51038
Умело бы оно определять Андроид и OSX - цены бы ему не было.
Что ты несёшь...
Ну, в ${sbindir}/@grub_probe@ ты определенно не смотрел. Ниасилил ? Так и скажи.
Это как раз ты не смотрел Android-x86.
При чем тут Android-x86?
Ниасилил посмотреть? Так и скажи.
диалог напомнил как в детском саду двое плюются друг в друга :D
А что, на обычных PC уже можно грузить macOS без Clover с кучей патчей и кекстов? Накой грабу знать про осикс вообще?
Например, лично у меня дома MacBook с dualboot: MacOS + Linux.
Так то макбук, а не все остальные железки. Они дрова делают исключительно под то, что стоит внутри их продуктов, а не под всё, что только можно.
И что дальше? Почему это невалидный аргумент? У меня GRUB на MacBook, и было бы круто, если бы можно было бы грузить MacOS прямо из GRUB.
Там же чип T2, нет никакого смысла это поддерживать, оно не заработает.
на старых нет t2. тоже в дуалбуте mac os и gentoo и приходится пользоваться refind.
Грузить образы El-Torito записанные на раздел жесткого диска не научился?
На раздел или таки в виде файла на ФС? Если прямо на раздел — то без проблем, а из файла не умеет.
Прямо на раздел dd намазать. И я имею ввиду полноценную эмуляцию CD/DVD диска, а не просто считывание загрузчика. Помнится, пробовал пару лет назад закатать установочный диск форточек на внешник таким образом - не вышло. Он начинал загружаться, но потом не мог найти свои файлы.
UniWinSetup 1.2 Beta Ru/
Позволяет устанавливать винды 7-8-10 без шаманств с образами (нужен только install.wim/install.esd). Совместим с Grub4DOS.А как вы там представляете себе эмуляцию привода когда загрузчик установки винды прогрузился — хз.
так а разве там дело в загрузчике?
это установщик не понимает где его файлы находятся, т.к. ожидает опт. диск, а ему вместо него предлагают hdd.
похожая ситуация когда grub загружает iso образ - загрузчик диска он прочитает и запустит, но нужна поддержка загрузки с iso на самом диске/образе.
> я имею ввиду полноценную эмуляцию CD/DVD дискаЭто загрузчик, а не эмулятор. Если ОС не сумеет найти свой корень, он ничем не поможет, конечно же.
Влезало бы оно в mbr.. (ггг)
А так снёс раздел и привет, нет загрузчика. Хотя... А можно для него маленький собственный раздельчик сделать? Ибо установщики чо-то так вот не делают.
Можно.Называться он будет /boot :))
Там ведро ещё. А так-то сделать бы метров на 32, и в сторонке чтоб лежал. Снёс систьемы, поставил другую, ещё что-то сделал; а он лежит себе. Реально какой-то EFI получается.
Такое называется BIOS Boot Partition, помнится. Когда грубовой stage2 некуда влезть в межблинное (ну почти) пространство.
Да, ты прав, не /boot раздел, а BIOS grub.Если диски разбивать с aligment (выравнивание, которое на современных винтах достигает целого 1 Mb), то места в MBR для жирных загрущиков с криптографической, колючими или сетью хватит. В core.img от GRUB можно много чего засунуть!
Как-то захотелось мне туда проверку от буткитов разных в core.img засунуть. У grub 2.0.2 мне казалось все есть: хеши считать умеет, даже по публичному ключу RSA 4096bit можно верифицировать! Идея верифицировать неизменность железа, включая USB, BIOS CMOS, начального сектора диска. Остальное GRUB верифицировать по дефолта. Мне не хватило в GRUB cmd только редиректа '>' или трубопровода '|'
Вообще-то выравнивание сейчас на 2Мб! :)
>> выравнивание, которое на современных винтах достигает целого 1 Mb
> Вообще-то выравнивание сейчас на 2Мб! :)...и дело тут не только в размере сектора или erase block и проблемах 63-его в качестве первого, а и в массивах: http://freesource.info/wiki/HCL/XranenieDannyx/SoftwareRAID#...
Да не важно сколько там выравнивание, важно что в нём будет..Как на GRUB cmd, написать проверку от буткитов? Пробывал опять, не получилось. Все нужное почти есть:
Получение информации:
cmosdump, lspci, usb, pcidump, vbeinfo, net_ls_cards,...Верификация:
verify_detached, hashsum --hash ...Стандартный синтаксис bash:
if, else, fi, ...Мне не хватает '>' или '|'.
Может предложешь что или таки надо патчить этот GRUB cmd?
Так ты не вылезай из криокамеры и используй EFI. Никакого MBR не понадобится.
https://wiki.archlinux.org/index.php/GRUB#Master_Boot_Record...)_specific_instructionshttps://wiki.archlinux.org/index.php/GRUB/Tips_and_tricks#In...
Вот спасибо. Правда, это похоже не совсем то, хоть и полезно. GRUB ставит минимальный загрузчик в MBR (который почти нихрена не умеет), а "настоящий" в раздел. Так вот я к тому, может сделать под "настоящий" отдельный маленький раздел, и не трогать его системой (ну, кроме обновлений).
Ну так сделай, в чем проблема? Положи туда только конфиг граба с модулями, а в конфиге пропиши, что ядро лежит на другом разделе. Что сложного? Граб и не в такие трюки умеет.
И делать этот раздел активным? Мбр оставить пустым?
Не ставить груб в мбр, а сразу на раздел - возможно
http://imbr.nongnu.org/
> http://imbr.nongnu.org/Эта штука умеет в разные фс и разделы?
умеет
Ого, теперь он сам и сеть с вланами поднимает
Есть подозрение, что это для чего-нибудь типа PXE.
для чего-нибудь типа. Для самого по себе pxe никакой grub нафиг не нужен. Но нужна поддержка железом и наличие желания с тобой сотрудничать чуваков, отвечающих за сетевые железки.А это случается не всегда, мягко говоря.
Или банально в сети уже есть один сервер, отвечающий на bootp запросы, и на нем недонастроенная рукожопами винда.
Вот тогда приходится извращаться с подсовыванием минимальных загрузчиков, причем ipxe в муках издыхает, поэтому в целом и неплохо что grub кое-чему полезному научился.
> причем ipxe в муках издыхаетМожно поподробнее с этого места?
документация - трэш. uefi-pxe - неработоспособный трэш
последние внятные изменения в коде десять лет назадвыкрасить и забыть, прошло его время.
А LUKS2 где? Нету. :(
Есть мнение, что GRUB вообще нет особого смысла знать про шифрование. Не шифруйте /boot, пусть грузит так, а ядро уже знает про все на свете.Все равно без включенного secure boot умение GRUB расшифровывать раздел означает уязвимость к атаке злобной горничной (https://www.schneier.com/blog/archives/2009/10/evil_maid_att...). Так что в плане защищенности плюсов это не дает.
Включённый SecureBoot тоже не особо поможет, поскольку атакующий просто вынет батарейку (если вход в биос запаролен) и отключит SB.Вот если грамотно задействовать имеющийся в современных чипсетах встроенный TPM (или внешний) при шифровании, тогда сброс настроек прошивки сделает расшифровку невозможной, а пользоватль заметит, что в его отсутствие кто-то копался. Но GTUB этого не умеет, а TrustedGRUB2, который умеет работать с TPM, не умеет SecureBoot и с UEFI не дружит вообще.
У современных UEFI память энергонезависимая, вытаскивание батарейки ничего не даст.
> У современных UEFI память энергонезависимая, вытаскивание батарейки ничего не даст.Не.
И BIOS и EFI лежат в энергонезависимой памяти. Чаще всего это EEPROM через SPI.
Большинство из них сохраняют настройки в CMOS, но особо упоротые в NVRAM у которой меньше циклов записи, и которую нельзя сбросить, а эту фишку, как ни крути, сначала считали костылем-подпоркой из-за несоответствия технологий, а потом осознали что это киллер-фича мастхев.Кстати сам неоднократно наблюдал, что те EFI что сохраняют настройки в NVRAM имеют куцые настройки в setup. Видимо чтобы криворукие не окирпичили девайс, подняв частоту шины до небес :)
Вы на практике пробовали или теоретизируете?На всех, встреченных мной десктопных матерях, вытаскивание батарейки обнуляло настройки. И это логично, потому что, если вдруг юзер что-то накочевряжил с настройками, то как их иначе сбросить?
P.S есть ещё перемычка для сброса настроек и (у топовых матерей) кнопка, выведенная на заднюю панель или распаянная прямо на плате. Но они делают ровно то же самое, поэтому я их все объединил под вывеской "вытащить батарейку" (понятное дело, что батарейку никто уже давно не вытаскивает, когда можно замкнуть отверткой перемычку).
> Есть мнение, что GRUB вообще нет особого смысла знать про шифрование. Не шифруйте /boot, пусть грузит так, а ядро уже знает про все на свете.Категорически не соглашусь!
Шифровать /boot необходимо в любом случае, ибо он содержит важнейшие для безопасности системы файлы! Да, при отсутствии SecureBoot или TBoot, есть возможность атаки на GRUB core.img.
Но это все равно сильно затрудняет взлом, а если применяется простенький "антибуткит", проверяющий криптографическую целостность MBR/core.img и лежащий в шифрованом /boot, то о вторжении становится известным ещё до расшифровки раздела / и по этому есть возможность гарантировать целостность и секретность / !!! Надо просто выключить комп и загружаться с другого, чистого загрузчика, например LiveCD/DVD, затереть скомпроментированый MBR, core.img вместе с не гарантированным /boot и установить чистые старые.
> а если применяется простенький "антибуткит", проверяющий криптографическую целостность MBR/core.img и лежащий в шифрованом /boot, то о вторжении становится известным ещё до расшифровки раздела / и
> по этому есть возможность гарантировать целостность и секретность / !!!Т.е. вы беретесь "на глаз" различить, действительно ли был запущен ваш антибуткит или это фейковый вывод подставного загрузчика? o_O
Но как это сможет
> гарантировать целостность и секретность?
> Т.е. вы беретесь "на глаз" различить, действительно ли был запущен ваш антибуткит или это фейковый вывод подставного загрузчика? o_OФейковый загрузчик при первой загрузке не будет знать что в шифрованом /boot, только пароль/ключ для его расшифровки успеет украсть.
На grub cmd пытаюсь навалять простенький скрипт, с проверкой. Если проверка не прошла, то вывод сообщения и команда halt. При первой загрузке зловредный буткит ничего не знает о проверке, сообщении и команде halt.
> Но как это сможет гарантировать целостность и секретность / ?
Криптографическая целостность / гарантируется применяемыми алгоритмами шифрования для /, а гарантии секретности данных в / сохраняются потому что не был введён пароль для их расшифровки. (Если только ключ для расшифровки / не хранится в /boot)
Скомпроментироваными можно считать все что есть до / в процессе загрузки.
> Фейковый загрузчик при первой загрузке не будет знать что в шифрованом /boot,
> только пароль/ключ для его расшифровки успеет украсть.
> На grub cmd пытаюсь навалять простенький скрипт, с проверкой. Если проверка не
> прошла, то вывод сообщения и команда halt. При первой загрузке зловредный
> буткит ничего не знает о проверке, сообщении и команде halt.Т.е. надеемся на "security by obscrutity" или на эффект "неуловимого Джо" - т.е. на то, что никто не напишет спецзагрузчик? ;)
Хотя, если само сообщение не типовое "Все ОК, хозяин!", а служит вторым контрольным фактором (или как оно правильно называется) , т.е. задается индивидуально, не зависит от вводимого ключа, хранится в секрете и по его (отсутствующему или не соотв.) выводу можно увидеть, что загрузчик был заменен, то да.
Единственное неудобство - вынужденный вывод на экран и возможность довольно легко подсмотреть посторонним.
> Хотя, если само сообщение не типовое "Все ОК, хозяин!", а служит вторым контрольным фактором (или как оно правильно называется) , т.е. задается индивидуально, не зависит от вводимого ключа, хранится в секрете и по его (отсутствующему или не соотв.) выводу можно увидеть, что загрузчик был заменен, то да.Где я говорил выводить " Все хорошо!"?
Антибуткит должен выводить только сообщение когда "все плохо" и гарантировано останавливать загрузку.
А если все хорошо - ничего не выводом и продолжаем загрузку.
https://www.opennet.dev/openforum/vsluhforumID3/117844.html#100
Ты ещё скажи что grub не должен криптографически верифицировать все свои модули, настройки, прочие файлы включая ядро и инитрамфс.
Скоро grub будет ненужен. systemd-bootd наше все.
Пока не научится грузить обычные линуксовые ядра, без EFISTUB - в тoпку.
Ну тут дело такое ...Шляпник скажет, шляпофабрика согласится, и это уже ЯДРУ придется учиться грузиться правильно :)
Помнится, с примерно так выполненной затеей насчёт подписи модулей ядра Линус шляпу уже посылал не так давно.
это было до появления Code-Of-Cock.
Послать далеко и надолго - можно и без матюгов, мой маленький альтернативно одарененький анонимусик в коротких штанишках.
C F2FS грузиться все так и не умеет?
> C F2FS грузиться все так и не умеет?Как это не умеет? Писали же больше года назад тут https://www.phoronix.com/scan.php?page=news_item&px=GRUB-Now... что патчи включили и они попадают в 2.04.
>> C F2FS грузиться все так и не умеет?
> Как это не умеет? Писали же больше года назад тут https://www.phoronix.com/scan.php?page=news_item&px=GRUB-Now...
> что патчи включили и они попадают в 2.04.Тем не менее в релизнотах я не вижу ни слова. Надо копнуться. А так-то они тааак долго тянули, что я уже и ждать перестал.
В сорцах 2.04 есть и модуль поддержки (http://git.savannah.gnu.org/cgit/grub.git/tree/grub-core/fs/...) и упоминание в документации (http://git.savannah.gnu.org/cgit/grub.git/tree/docs/grub.tex...)...
> В сорцах 2.04 есть и модуль поддержки (http://git.savannah.gnu.org/cgit/grub.git/tree/grub-core/fs/...)
> и упоминание в документации (http://git.savannah.gnu.org/cgit/grub.git/tree/docs/grub.tex...)...Шикарно,спасибо.
Я не дождался, отпилил кусочек под /boot vfat... но остальное в f2fs
А расскажите, что такого в f2fs? Чем лучше? Или просто захотелось странного?
> А расскажите, что такого в f2fs? Чем лучше? Или просто захотелось странного?Тем что Log based файловая система без журнала. Теоретически считается что она для флеш-медии лучше. В остальном она не более странная чем скажем JFS
> Теоретически считается что она для флеш-медии лучшеЭто только если у медии тупая фирмварь, которая не умеет балансировать запись между ячейками. Иными словами, на SATA SSD пихать f2fs толку нет.
Если вкратце: оптимизированный журнал, cow (когда ты открываешь свой отчетик и изменяешь там одно слово, то сохраняется он не в том же месте, а в другом), большой размер блоков. Плюс еще несколько интересных фич.
> Если вкратце: оптимизированный журнал, cow (когда ты открываешь свой отчетик и изменяешь
> там одно слово, то сохраняется он не в том же месте,А фрагментация возможная не приводит к замедлению чтения? Кто-нибудь проводил сравнительные тесты с традиционными фс?
>> Если вкратце: оптимизированный журнал, cow (когда ты открываешь свой отчетик и изменяешь
>> там одно слово, то сохраняется он не в том же месте,
> А фрагментация возможная не приводит к замедлению чтения? Кто-нибудь проводил сравнительные
> тесты с традиционными фс?Приводит, после долгой работы F2FS начинает ощутимо сливать Ext4. По этой причине и разработчик F2FS (Samsung), и остальные производители телефонов (как минимум Google в Nexus'ах и Oneplus в линейке 3/3t использовали) не стали ее использовать в более новых моделях.
Там проблемы с очисткой, на F2FS это работает не очень хорошо. Т.е. исходно она часто сильно быстрее Ext4. Но после месяцев работы начинает тормозить все больше и больше (например: https://forums.oneplus.com/threads/abysmal-sequential-write-.../). И это решается только форматированием, вылечить деградировавшую систему нельзя. В то время как для Ext4 достаточно не допускать заполнения > 90% чтобы не иметь проблем с фрагментацией самой ФС и регулярно делать TRIM свободному пространству, чтобы облегчать жизнь флешу, для F2FS это все не прокатывает.
Год назад https://www.xda-developers.com/f2fs-why-file-systems-matter-.../ разработчики говорили, что собираются начать работать над устранением этих проблем и думать, как улучшить производительность после долгой работы.
Спасибо большое!
Вы прям кладезь ценных сводок :-)
> Вы прям кладезь ценных сводок :-)Я просто владелец того самого Oneplus 3t, который надо раз в пол-годика форматировать, чтобы ушли лаги из-за F2FS (там основной раздел /data в нем из коробки) :) После года владения и возникающих WTF на тему "6 гигов памяти, место на флеше свободно - как оно может лагать-то??" пришлось изучить вопрос и с тех пор время от времени очищать. Последний раз плюнул и форматнул в ext4, текущая прошивка с android 9 ничего не возразила, работает. Правда, не понимаю почему в андроиде до сих пор монтируют с "discard" вместо fstrim по расписанию, ну да фиг с ним...
> Правда, не понимаю почему
> в андроиде до сих пор монтируют с "discard" вместо fstrim по
> расписанию, ну да фиг с ним...Note: Continuous TRIM is not the most preferred way to issue TRIM commands among the Linux community. For example, Ubuntu enables periodic TRIM by default [5], Debian does not recommend using continuous TRIM [6] and Red Hat recommends using periodic TRIM over using continuous TRIM if feasible. [7]
Отсюда: https://wiki.archlinux.org/index.php/Solid_state_drive#Perio...
>> Правда, не понимаю почему
>> в андроиде до сих пор монтируют с "discard" вместо fstrim по
>> расписанию, ну да фиг с ним...
> Note: Continuous TRIM is not the most preferred way to issue TRIM
> commands among the Linux community. For example, Ubuntu enables periodic TRIM
> by default [5], Debian does not recommend using continuous TRIM [6]
> and Red Hat recommends using periodic TRIM over using continuous TRIM
> if feasible. [7]
> Отсюда: https://wiki.archlinux.org/index.php/Solid_state_drive#Perio...Дык я-то знаю. Вы это гуглу объясните :)
> А расскажите, что такого в f2fs? Чем лучше?им на сарае написали что она волшебным образом делает их флэш гладким и пушистым.
Мелкими буковками что только для флэшей самсунг, причем в том и только том случае, если установлена - инженерами самсунг, точно знающими внутреннее устройство этого флэша - они не читатели, потому что им некогда - уже побежали обмазываться новой фичей.
разумеется, им в головы не приходит тестировать производительность. Которая и на самсунге, внезапно, хуже ext4 в большинстве типовых применений - ее разработали-то для телефонов, а не "десктопов".
Так ежели EFI, то boot всегда в fat, иначе будет недопониманиеБабки у подъезда говаривают, что f2fs при апгрейде системы может навернуться. Случалось такое али врут?
>Так ежели EFI, то boot всегда в fat, иначе будет недопониманиеСпецификация не запрещает ставить производителю поддержку других фс.Есть до фига материнских плат с поддержкой ntfs и exfat .По крайне мере у меня boot стоит на ntfs и нечего не глючит.Глючит винда начиная с висты от другого:если переопределяеш порядок загрузки жёстких дисков(чтобы по умолчанию стартовал диск 2 с грубом,а винда находиться на 1 диске,пишет свой загрузчик туда), либо тупит перед записью либо синий экран :-)
С BtrFS сжатого ZSTD уже умеет грузиться?
Умеет. В новости про это (уже?) есть.
Нехилые у них минорные релизы ...
> Нехилые у них минорные релизы ...Это потому что у них минорный релиз раз в пару лет ;)
Когда в слаке по умолчанию будет?
LILO плачет. Ещё один монстр не покидает пингвиний сон...
Ну на e2k вон фирмварь (которая, по слухам, местами напоминает SILO изнутри -- но пока не видывал) сама ядро с initrd умеет выбрать и загрузить :)
> Ну на e2k вон фирмварь (которая, по слухам, местами напоминает SILO изнутри
> -- но пока не видывал) сама ядро с initrd умеет выбрать
> и загрузить :)И вложенные менюшки, и загрузки шрифтов в видюшку, и редактирование ком строки, и интеграцию с дистрибутивом... "умеет"? Отлично! Надо брать. Когда будет в :-P Debian-е?
инсталлер дебиан 10 уже не предлагает lilo, тока grub
Когда-нибудь grub научится устанавливаться на чистый lvm без дос разметки?
только если биос/efi научится монтировать lvm что б загрузить бинарь груба оттуда и передать управление. Но технически это делать глупо и оверхедно.
Скорее всего нужно будет допилить имитацию dos/gpt разметки в самом lvm. Какая досада.
Мсье не знает как работает разметка?
> только если биос/efi научится монтировать lvm что б загрузить бинарь груба оттуда
> и передать управление. Но технически это делать глупо и оверхедно.БИОС-у-то на "монтировать" класть. У него, в отличие от второй части вопроса, "/ЮФИ", 'chainloader +1' просто "везде" работает.
а где Байкал и Эльбрус?
> а где Байкал и Эльбрус?А там фирмварь справляется.
>> а где Байкал и Эльбрус?
> А там фирмварь справляется.<<Нажмите F9 и выберите "загрузку с CD">>...
...или пару старниц мануала нужно почитьать, чтоб загрузиться...
....стоп!
Я ж не спросил: загрузочный инсталятор-то "у вас" "там" уже есть?...и "курсы бойца" для запуска инталятора проходить -- не надо? :-P
С фирмварью-то. Никогда ж не знаешь.
> ...или пару старниц мануала нужно почитьать, чтоб загрузиться...Хватит вот этой: https://docs.altlinux.org/ru-RU/alt-workstation-e2k/8.2/html...
> С фирмварью-то. Никогда ж не знаешь.
Фирмвари никогда не меняются...
мне вот понравилось поддержка секьюрбут. Мегаплюс!