Имеем проблему у iso-образов с таблицей разделов GPT. После загрузки live в режиме rw пропадает флаг boot с PMBR. Из-за этого невозможно загрузиться на старых BIOS, так как они грузятся с тех MBR, на которых есть флаг boot. Если смотреть fdisk'ом, то выглядит это так: Команда (m для справки): M Ввод метки наследственного/гибридного MBR. Команда (m для справки): p Диск /dev/sda: 29,76 GiB, 31954556416 байт, 62411243 секторов Единицы: секторов по 1 * 512 = 512 байт Размер сектора (логический/физический): 512 байт / 512 байт Размер I/O (минимальный/оптимальный): 512 байт / 512 байт Тип метки диска: dos Идентификатор диска: 0x00000000 Устр-во Загрузочный начало Конец Секторы Размер Идентификатор Тип /dev/sda1 1 62411242 62411242 29,8G ee GPT /dev/sda2 * 0 0 1 512B 0 Пустой После загрузки в режиме rw (режим сохранения сеанса), запись /dev/sda2 из MBR пропадает. Это не регрессия относительно propagator, там происходит ровно тоже.
Когда-то, дежавю подсказывает, что во времена 4-го бранча примерно, такая проблема появилась в BIOS Intel. То есть без такого флага на любом разделе BIOS даже не пытаестя грузить MBR с hdd. На не Intel всё грузилось. Вроде бы даже баг был, но что-то не найду, а может и в раасылке обсуждали без бага.
(In reply to Антон Мидюков from comment #0) > запись /dev/sda2 из MBR пропадает. Из защитного MBR с гибридной GUID/GPT-разметкой. И это не влияет на загрузку в режиме Legacy и UEFI, я проверил на виртуалке. По стандарту и не должно влиять. Но оказалось, что некоторые старые BIOS (до 2010 года) пытаются проанализировать загрузочный сектор и отказываются загружать его, если он не содержит загрузочного раздела MBR. Хотя это проблема BIOS, исправление понятно, как реализовать: https://wiki.archlinux.org/title/Partitioning#Tricking_old_BIOS_into_booting_from_GPT -- проверил, и это работает. Теперь нужно лишь определить, в каких случаях следует применять данный хак.
(Ответ для Leonid Krivoshein на комментарий #2) > (In reply to Антон Мидюков from comment #0) > > запись /dev/sda2 из MBR пропадает. > Из защитного MBR с гибридной GUID/GPT-разметкой. И это не влияет на загрузку > в режиме Legacy и UEFI, я проверил на виртуалке. По стандарту и не должно > влиять. > > Но оказалось, что некоторые старые BIOS (до 2010 года) пытаются > проанализировать загрузочный сектор и отказываются загружать его, если он не > содержит загрузочного раздела MBR. Хотя это проблема BIOS, исправление > понятно, как реализовать: > https://wiki.archlinux.org/title/ > Partitioning#Tricking_old_BIOS_into_booting_from_GPT -- проверил, и это > работает. Теперь нужно лишь определить, в каких случаях следует применять > данный хак. После создания раздела создавать, если таблица разделов gpt.
(In reply to Leonid Krivoshein from comment #2) > Но оказалось, что некоторые старые BIOS (до 2010 года) пытаются > проанализировать загрузочный сектор и отказываются загружать его, если он не > содержит загрузочного раздела Если бы некоторные, а то поголовно весь Intel. И я не уверен, что "до 2010". Это что касается hdd. С флешкой вот только сейчас нарвался, но очень похоже на то же самое.
(In reply to Антон Мидюков from comment #3) > (Ответ для Leonid Krivoshein на комментарий #2) > > нужно лишь определить, в каких случаях следует применять данный хак. > После создания раздела создавать, если таблица разделов gpt. Поскольку в данном случае затирается вторая запись таблицы MBR, очевидно, это не стоит делать во всех случаях. Видимо нужно дважды проверить. Первый раз -- до внесения изменений и второй раз -- после. И только если такая запись была и исчезла, тогда уже её создавать. Разумеется, при наличии сигнатуры GUID/GPT.
Собрал task #357588 с попыткой пофиксить. Одной проверки оказалось достаточно, т.к. если всё было правильно, понятно, что команды удалят второй раздел.
(Ответ для Leonid Krivoshein на комментарий #6) > Собрал task #357588 с попыткой пофиксить. Одной проверки оказалось > достаточно, т.к. если всё было правильно, понятно, что команды удалят второй > раздел. Работает. Проверял iso-шку.
(In reply to Антон Мидюков from comment #7) > > Собрал task #357588 с попыткой пофиксить. Одной проверки оказалось > > достаточно, т.к. если всё было правильно, понятно, что команды удалят второй > > раздел. > > Работает. Проверял iso-шку. На том компьютере, где раньше не грузилось? Если нет, то в https://nightly.altlinux.org/p11/beta/ можно положить?
(Ответ для Sergey Y. Afonin на комментарий #8) > (In reply to Антон Мидюков from comment #7) > > > > Собрал task #357588 с попыткой пофиксить. Одной проверки оказалось > > > достаточно, т.к. если всё было правильно, понятно, что команды удалят второй > > > раздел. > > > > Работает. Проверял iso-шку. > > На том компьютере, где раньше не грузилось? Если нет, то в > https://nightly.altlinux.org/p11/beta/ можно положить? https://nightly.altlinux.org/sisyphus/archive/regular-lxqt-20240916-x86_64.iso
(In reply to Антон Мидюков from comment #9) > > На том компьютере, где раньше не грузилось? Если нет, то в > > https://nightly.altlinux.org/p11/beta/ можно положить? > > https://nightly.altlinux.org/sisyphus/archive/regular-lxqt-20240916-x86_64.iso Да, грузится теперь.
make-initrd-bootchain-0.1.5-alt25 -> sisyphus: Mon Sep 16 2024 Leonid Krivoshein <klark@altlinux> 0.1.5-alt25 - tricking old BIOS into booting from GPT (ALT #51479)
[cyber] I: p11/branch packages: +4 (19461) Date: 03/10/24 04:16 make-initrd-bootchain - bootchain modules set for make-initrd * Mon Sep 16 2024 Leonid Krivoshein <klark@altlinux> 0.1.5-alt25 - tricking old BIOS into booting from GPT (ALT #51479) * Sun Sep 01 2024 Leonid Krivoshein <klark@altlinux> 0.1.5-alt24 - added asciidoc sources of the reference guide * Thu Mar 07 2024 Leonid Krivoshein <klark@altlinux> 0.1.5-alt23 Может стартеркиты p11 пересоздать, не дожидаясь зимы?