Автор Тема: [РЕШЕНО] UEFI: система после установки загружается ровно один раз  (Прочитано 2959 раз)

Оффлайн ksa

  • Модератор глобальный
  • *****
  • Сообщений: 9 049
у пользователей Debian/Ubuntu, RH-based систем и Arch/Manjaro с ней никаких проблем нет
"Установщик" в альте действительно выглядит хуже по сравнению с другими дистрибутивами (честно пробовал только centos и debian/ubuntu) и косяков здесь - у нас - больше, чем у них. А что вы хотите, это же свободный проект и развивают его "бородатые", умудренные опытом люди, которые знают как обойти проблемы, если что или так используют, чтобы проблемы не возникали (но это, по сути, заметание мусора под ковер вроде а "нам и так сойдет"). Обычные пользователи вроде вас или меня будут ругаться на "кривой" альт (и будут по-своему правы), тем более в свете того, что opensource российской выделки идёт в массы (внедрения и т.п.). Но на допилку, чтобы ставилось везде и всюду (тестирование того, что в итоге собирается - дистрибутивов) то ли средств нет, то ли рук не хватает, а может и того и другого. Вообще (для универсальности) нужен псевдографический установщик с минимальным уровнем шагов и вводом всей необходимой информации на начальном этапе, после чего система должна просто установиться и не задавать никаких вопросов вплоть до финишной перезагрузки. С графическими приблудами установки слишком много проблем, начиная с "не таких шрифтов на больших экранах" и "некорректного определения видеорежима" (при котором текст хоть и виден при установке, но выглядит хреново на любом современном - даже и 19" - мониторе; попробуйте запустить установку на supermicro x7sba, например, чтобы убедиться, ну а после установки вы получите консоль, т.к. графика стартовать на этом железе отказывается) до отсутствия нормального описания известных косяков установщика прямо в хелпе установщика на соответствующих шагах (например, boot на отдельном разделе при шифровании или особенности использования xfs в альте при доступности выбора этой файловой системы), что убиралось бы по мере исчерпания этих самых косяков. Так было бы как минимум честнее и была бы некоторая уверенность в том, что со временем эти косяки из хелпа уйдут вместе с исправлениями.

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

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
О, я нашёл в исходниках gdisk (https://sourceforge.net/p/gptfdisk/code/ci/master/tree/gpt.cc) предупреждение, которое он мне выдавал:
Warning: The 0xEE protective partition in the MBR is marked as active. This is
technically a violation of the GPT specification, and can cause some EFIs to
ignore the disk, but it is required to boot from a GPT disk on some BIOS-based
computers. You can clear this flag by creating a fresh protective MBR using
the 'n' option on the experts' menu.

А это ^^^^ объясняет в чём была засада.

На железе с UEFI BIOS, у раздела с типом EE (hex) не должно быть флага загрузки, - первый байт в 16-тибайтном массиве таблицы разделов Protective MBR, - раздел с типом EE (hex) не активен:
# hexdump -C -s 446 mbr-sda.bin
000001be  00 00 01 00 ee fe ff ff  01 00 00 00 2f 60 38 3a  |............/`8:|
000001ce  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001fe  55 aa                                             |U.|
00000200
# sfdisk -T | grep -i ^ee
ee  GPT

ИМХО:
Устанавливать по-умолчанию этот флаг на раздел с типом 0xEE, это неудачная мысль.
Он нужен только:
... it is required to boot from a GPT disk on some BIOS-based
computers. ...

Вряд ли кого-то посетит мысль использовать gpt-диск на компьютерах с не-uefi bios.
При неактивном 0xEE, UEFI boot и Protective MBR прекрасно уживаются на одном диске на железе с UEFI BIOS. И могут грузить каждый свою операционку. Не пересекаясь между собой.
Единственный косяк который может здесь возникнуть, это бестолковый os-prober. Который не понимает, что загрузить операционку грузящуюся через uefi, предлагая её в меню legacy boot, невозможно даже в теории.
« Последнее редактирование: 09.10.2021 16:40:46 от Speccyfighter »

Оффлайн trs

  • Участник
  • *
  • Сообщений: 287
Кроме того, Gigabyte B450 — не слишком экзотическая железка, и даже если UEFI там реализован криво (во что я охотно верю), пользователи, которые не смогут поставить на свои машины с этой материнкой Альт, будут считать происходящее проблемой установщика. Например, потому, что у пользователей Debian/Ubuntu, RH-based систем и Arch/Manjaro с ней никаких проблем нет:
Если предположить, что UEFI реализован криво, то на одной и той же мат.плате он может отличаться, если версии BIOS разные.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Тьфу ты ёлки-палки!..
Написано же русским языком:
О, я нашёл в исходниках gdisk (https://sourceforge.net/p/gptfdisk/code/ci/master/tree/gpt.cc) предупреждение, которое он мне выдавал:
Цитировать
Warning: The 0xEE protective partition in the MBR is marked as active. This is
technically a violation of the GPT specification, and can cause some EFIs to
ignore the disk, ...

Что непонятного в словах violation of the GPT specification?

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
Вряд ли кого-то посетит мысль использовать gpt-диск на компьютерах с не-uefi bios.

У меня установлен и grub-pc и grub-efi. Могу переключаться из одного режима в другой и грузиться. Диск gpt.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Вряд ли кого-то посетит мысль использовать gpt-диск на компьютерах с не-uefi bios.

У меня установлен и grub-pc и grub-efi. Могу переключаться из одного режима в другой и грузиться. Диск gpt.

Антон, верю. Я не про это.
Я про активный EE. Про: but it is required to boot from a GPT disk on some BIOS-based
computers:
... предупреждение, которое он мне выдавал:
Warning: The 0xEE protective partition in the MBR is marked as active. This is
technically a violation of the GPT specification, and can cause some EFIs to
ignore the disk, but it is required to boot from a GPT disk on some BIOS-based
computers. You can clear this flag by creating a fresh protective MBR using
the 'n' option on the experts' menu.

Если исправить проблему рекомендуемым в предупреждении способом, после перестановки системы диск снова приходит в это состояние.

Т.е. с какого перепугу, в какой момент и по какой причине, раздел с типом EE (hex) (см. мой hexdump выше) у yushi был активным. Это нарушает спецификацию GPT. И это нужно только на железе с не-UEFI BIOS с накопителем с gpt table. И как только yushi  загнал загрузчик в Protective MBR с явным указанием что EE  неактивен, опция загрузки через UEFI у него появилась.
Отсюда вопрос:
Что и в какой момент, сделало активным EE, нарушив спецификацию GPT. И напуркуа.

Мало того что на UEFI BIOS она нужна как зайцу стоп-сигнал, так она ещё и нарушает GPT спецификацию. А на B450 это привело к отказу загрузки.

Гуглотранслятор с небольщой правкой (см. оригинал у yushi выше):
Предупреждение. 0xEE protective partition в MBR помечен как активный. Технически это является нарушением спецификации GPT и может привести к тому, что некоторые EFI будут игнорировать диск, но это необходимо для загрузки с диска GPT на некоторых BIOS-based компьютерах. Вы можете снять этот флаг, создав новый Protective MBR с помощью опции 'n' в меню expert.

Отсюда тот же вопрос:
Нафига по-дефолту этот EE был активным и что его сделало таким.
В которую с разбегу вляпалась B450, вплоть до отказа загрузки.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
И пока источник проблемы не найден, тема нифига не решена.
Потому шо есть вероятность, что на это попадёт ещё не один пользователь. И some EFIs to ignore the disk, на это намекает.

Потому шо старый бородатый анекдот гласит:

1. Спецификация всегда права.
2. Если спецификация не права, смотри пункт первый.
« Последнее редактирование: 09.10.2021 23:40:48 от Speccyfighter »

Оффлайн yushi

  • Участник
  • *
  • Сообщений: 72
Т.е. с какого перепугу, в какой момент и по какой причине, раздел с типом EE (hex) (см. мой hexdump выше) у yushi был активным. Это нарушает спецификацию GPT. И это нужно только на железе с не-UEFI BIOS с накопителем с gpt table. И как только yushi  загнал загрузчик в Protective MBR с явным указанием что EE  неактивен, опция загрузки через UEFI у него появилась.
Отсюда вопрос:
Что и в какой момент, сделало активным EE, нарушив спецификацию GPT. И напуркуа.

Да, всё так! Ещё раз отмечу, что последовательность действий была такой:
  • я первый раз замечаю ругань gdisk и исправляю активность 0xEE;
  • я переставляю систему;
  • я запускаю gdisk и вижу ту же ошибку; исправляю её с помощью gdisk снова и только после этого система начинает грузиться.
В промежутке между запусками gdisk я с таблицей разделов ничего не делал. Зато что-то делал установщик.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
Цитата: Антон Мидюков от Вчера в 14:01:59

    Тогда на этом компьютере не должны грузиться регулярки. Проверьте, пожалуйста:
    http://nightly.altlinux.org/sisyphus/current/regular-rescue-latest-x86_64.iso


Нет, этот образ вполне успешно загружается с LiveUSB.

Тогда странно. Вот выхлоп свежеустановленной системы в режиме UEFI:

# /sbin/fdisk /dev/sda

Добро пожаловать в fdisk (util-linux 2.37.2).                                                                                                                                                 
Изменения останутся только в памяти до тех пор, пока вы не решите записать их.                                                                                                               
Будьте внимательны, используя команду write.

This disk is currently in use - repartitioning is probably a bad idea.
It's recommended to umount all file systems, and swapoff all swap                                                                                                                             
partitions on this disk.                                                                                                                                                                     
                                                                                                                                                                                             

Команда (m для справки): p

Диск /dev/sda: 32 GiB, 34359738368 байт, 67108864 секторов
Disk model: VBOX HARDDISK   
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: 7F4F2B60-F303-244E-ACB6-66CDBD8B1643

Устр-во     начало    Конец  Секторы Размер Тип
/dev/sda1     2048   524287   522240   255M EFI
/dev/sda2   524288  8550399  8026112   3,8G Файловая система Linux
/dev/sda3  8550400 67102719 58552320  27,9G Файловая система Linux

Команда (m для справки): M
Ввод метки наследственного/гибридного MBR.

Команда (m для справки): p
Диск /dev/sda: 32 GiB, 34359738368 байт, 67108864 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x00000000

Устр-во    Загрузочный начало    Конец  Секторы Размер Идентификатор Тип
/dev/sda1                   1 67108863 67108863    32G            ee GPT
/dev/sda3  *                0        0        0     0B             0 Пустой

Элементы таблицы разделов упорядочены не так, как на диске.

А вот выхлоп регулярки:

$ /sbin/fdisk /home/antohami/ISO/regular/20211006/regular-cinnamon-20211006-x86_64.iso

Добро пожаловать в fdisk (util-linux 2.37.2).
Изменения останутся только в памяти до тех пор, пока вы не решите записать их.
Будьте внимательны, используя команду write.

The device contains 'iso9660' signature and it will be removed by a write command. See fdisk(8) man page and --wipe option for more details.

Команда (m для справки): p

Диск /home/antohami/ISO/regular/20211006/regular-cinnamon-20211006-x86_64.iso: 1,19 GiB, 1272950784 байт, 2486232 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: A87DB4E2-B11B-4769-8725-55E450151511

Устр-во                                                                    начало   Конец Секторы Размер Тип
/home/antohami/ISO/regular/20211006/regular-cinnamon-20211006-x86_64.iso1      64 2473983 2473920   1,2G Microsoft basic data
/home/antohami/ISO/regular/20211006/regular-cinnamon-20211006-x86_64.iso2 2473984 2485567   11584   5,7M EFI
/home/antohami/ISO/regular/20211006/regular-cinnamon-20211006-x86_64.iso3 2485568 2486167     600   300K Microsoft basic data

Команда (m для справки): M
Ввод метки наследственного/гибридного MBR.

Команда (m для справки): p
Диск /home/antohami/ISO/regular/20211006/regular-cinnamon-20211006-x86_64.iso: 1,19 GiB, 1272950784 байт, 2486232 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x00000000

Устр-во                                                                   Загрузочный начало   Конец Секторы Размер Идентификатор Тип
/home/antohami/ISO/regular/20211006/regular-cinnamon-20211006-x86_64.iso1                  1 2486231 2486231   1,2G            ee GPT
/home/antohami/ISO/regular/20211006/regular-cinnamon-20211006-x86_64.iso2 *                0       0       1   512B             0 Пустой

Элементы таблицы разделов упорядочены не так, как на диске.

Т.е. всё аналогично.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
я первый раз замечаю ругань gdisk и исправляю активность 0xEE;

Я запустил на свежеустановленной системе в режиме UEFI gdisk, но никакой ругани не увидел.
# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.5

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help):

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
А что вы хотите, это же свободный проект и развивают его "бородатые", умудренные опытом люди, которые знают как обойти проблемы, если что или так используют, чтобы проблемы не возникали (но это, по сути, заметание мусора под ковер вроде а "нам и так сойдет").

Разработчики не будут в курсе проблемы, пока не будет баги на проблемном пакете.

Оффлайн ksa

  • Модератор глобальный
  • *****
  • Сообщений: 9 049
А что вы хотите, это же свободный проект и развивают его "бородатые", умудренные опытом люди, которые знают как обойти проблемы, если что или так используют, чтобы проблемы не возникали (но это, по сути, заметание мусора под ковер вроде а "нам и так сойдет").

Разработчики не будут в курсе проблемы, пока не будет баги на проблемном пакете.
Антон, буду признателен, если кто-нибудь повесит багу, не совсем понимаю на что вешать, а часть сообщения это соображения по поводу инсталлера, который состоит из многих частей. Собственно, чтобы исключить вот эти косяки и предлагается псевдографика, которая будет читаться хоть при загруженном родном драйвере, хоть с "универсальным" драйвером (аналог стандартного видеодрайвера в винде). Да, и если во время установки используется универсальный (родного видео драйвера для графики нет по каким-то причинам или он не работоспособен, или ещё что), то выдавать предупреждение на тему о том, что производительность видеподсистемы как и разрешение максимальное пострадают.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
Нашёл, кто делает раздел активным. Это /usr/sbin/install2-remount-functions

Не нужно делать GPT активным. Я это исправлю.

Оффлайн yushi

  • Участник
  • *
  • Сообщений: 72
Нашёл, кто делает раздел активным. Это /usr/sbin/install2-remount-functions

Не нужно делать GPT активным. Я это исправлю.

О. Очень здорово, спасибо.