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

Оффлайн yushi

  • Участник
  • *
  • Сообщений: 72
Здравствуйте. Пытаюсь поставить Альт Рабочая Станция К 9.2 и наблюдаю замечательный эффект.

Запускаю установщик в режиме UEFI, позволяю ему создать таблицу разделов на его усмотрение, записываю загрузчик (понятно, UEFI). После этого система загружается и работает. Но… только один раз!

Попытка перезагрузиться или выключить и включить компьютер приводит к тому, что GRUB выводит:
GRUB loading.
error: file `/boot/grub/i386-pc/normal.mod' not found.
Entering rescue mode...
grub rescue>

Про системный диск parted сообщает мне следующее:
[root@desktop2 ~]# parted /dev/sdb
GNU Parted 3.2.46-e4ae
Используется /dev/sdb
Добро пожаловать в GNU Parted! Наберите 'help' для просмотра списка команд.
(parted) p                                                               
Модель: ATA SanDisk SDSSDHP0 (scsi)
Диск /dev/sdb: 64,0GB
Размер сектора (логич./физич.): 512B/512B
Таблица разделов: gpt
Флаги диска: pmbr_boot

Номер  Начало  Конец   Размер  Файловая система  Имя  Флаги
 1     1049kB  268MB   267MB   fat32                  загрузочный, esp
 2     268MB   9287MB  9019MB  linux-swap(v1)
 3     9287MB  64,0GB  54,7GB  ext4

(parted) 

Пробовал восстановить загрузчик, загрузившись с LiveUSB:
[root@desktop2 ~]# mount-system
mount-system: /mnt/system1: done
[root@desktop2 ~]# chroot /mnt/system1/
[root@desktop2 /]# modprobe efivars
[root@desktop2 /]# grub-efi-autoupdate
Updating grub in /boot/efi
Выполняется установка для платформы x86_64-efi.
Установка завершена. Ошибок нет.
[root@desktop2 /]#

Но приводит это только к изменению сообщения об ошибке:
GRUB loading.
error: no such device: d3e6e982-f349-475e-bcbc-0b4ec3ef1dd7.
error: disk `hostdisk//dev/sdb,msdos1' not found.
Entering rescue mode...
grub rescue>

Материнская плата Gigabyte B450 AORUS ELITE V2. Отключать Secure boot в настройках пробовал, это ничего не меняет.

Что ещё можно попытаться сделать, чтобы всё-таки получить систему, загружающуюся больше одного раза?
« Последнее редактирование: 09.10.2021 03:44:12 от yushi »

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

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
error: file `/boot/grub/i386-pc/normal.mod' not found.

В настройках UEFI измените порядок загрузки или отключите режим Legacy совсем. Пытается загрузить в legacy, в MBR остался первичный загрузчик grub.

Оффлайн yushi

  • Участник
  • *
  • Сообщений: 72
error: file `/boot/grub/i386-pc/normal.mod' not found.

В настройках UEFI измените порядок загрузки или отключите режим Legacy совсем. Пытается загрузить в legacy, в MBR остался первичный загрузчик grub.

Пробовал выставлять в настройках UEFI:
  • Storage Boot Option Control: UEFI Only
  • Other PCI Device ROM Priority: UEFI Only

Либо вообще «CSM Support: Disabled».

При загрузке по-прежнему вижу ошибку.

Попробовал переставить систему с настройкой «CSM Support: Disabled» (мало ли, мои попытки восстановить загрузчик что-то ломали). Нет, всё то же: одна успешная загрузка, а потом
GRUB loading.
error: no such device: d3e6e982-f349-475e-bcbc-0b4ec3ef1dd7.
error: disk `hostdisk//dev/sdb,msdos1' not found.
Entering rescue mode...
grub rescue>

Больше никаких упоминаний режима совместимости с BIOS в настройках не нашёл. Про UEFI я знаю мало, может, я что-то не то правлю?

Оффлайн yushi

  • Участник
  • *
  • Сообщений: 72
Заметил ещё один интересный эффект.

После очередной переустановки в загрузочном меню появляются пункты «UEFI OS» и «altlinux» с возможностью загрузиться с системного SDD. После первой загрузки в систему они пропадают.

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

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
После первой загрузки в систему они пропадают.

Вот и проблема. На шаге установки grub выберите "EFI (для съёмных устройств)"

Оффлайн yushi

  • Участник
  • *
  • Сообщений: 72
После первой загрузки в систему они пропадают.

Вот и проблема. На шаге установки grub выберите "EFI (для съёмных устройств)"

Попробовал, не помогло. Машина по-прежнему не видит ни одного носителя, с которого она могла бы загрузиться в UEFI-режиме (если не вставлен LiveUSB, конечно).

Что ещё можно посмотреть?

Таблица разделов на обоих дисках — GPT. Забивать MBR нулями с помощью dd, как некоторые советуют в Интернете, пробовал (GRUB в MBR это убивает, но загрузке в UEFI-режиме не помогает никак).

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

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
Удалите всё на efi разделе и ещё раз EFI (для съёмных устройств).

Оффлайн rits

  • Участник
  • *
  • Сообщений: 1 233
  • ITS
Что ещё можно посмотреть?
Может в cat /etc/fstab заглянуть? что там после установки?

Оффлайн yushi

  • Участник
  • *
  • Сообщений: 72
Удалите всё на efi разделе и ещё раз EFI (для съёмных устройств).

Не помогло. Тем не менее, предложение удалить всё навело меня на след правильного решения.

Я решил не просто удалить всё на EFI-разделе, но и грохнуть все разделы на SDD. Для этого запустил gdisk и решил на всякий случай проверить редактируемый диск (команда v). И gdisk выдал мне предупреждение (что-то про protective MBR) и, главное, предложение исправить ситуацию — перейти в режим эксперта командой x и записать новый MBR командой n.

Я переставил систему, записал загрузчик EFI для съёмных устройств, получил всё тот же глюк с однократной загрузкой, но уже знал, куда смотреть. Загрузившись с LiveUSB, я проверил /dev/sdb с помощью gdisk. Он выдал всё то же предупреждение (то есть диск опять был испорчен). Я снова исправил структуру диска (команды x, n, w). После этого в загрузочном меню материнской платы стал виден вариант UEFI-загрузки с SDD. Я загрузился в свежепоставленную систему и через Alterator записал загрузчик EFI (не для съёмных устройств). После этого система стабильно грузится и работает.

Спасибо за советы!

Глюк, однако, странный и неприятный. Если штатные действия с установщиком приводят диск в такое состояние, то это серьёзная проблема установщика.

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

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
Глюк, однако, странный и неприятный. Если штатные действия с установщиком приводят диск в такое состояние, то это серьёзная проблема установщика.

Установщик всё делает правильно. А вот Ваш UEFI ведёт себя странно. Получается, он не хочет грузить с GPT. А с MBR нормально. Чудеса.

Оффлайн yushi

  • Участник
  • *
  • Сообщений: 72
Глюк, однако, странный и неприятный. Если штатные действия с установщиком приводят диск в такое состояние, то это серьёзная проблема установщика.

Установщик всё делает правильно. А вот Ваш UEFI ведёт себя странно. Получается, он не хочет грузить с GPT. А с MBR нормально. Чудеса.

Я плохо разбираюсь в UEFI, но, по крайней мере, вижу, что установщик приводит SDD в состояние, которое gdisk считает некорректным. И в этом состоянии система не грузится, а после исправления средствами gdisk — грузится.

Кроме того, Gigabyte B450 — не слишком экзотическая железка, и даже если UEFI там реализован криво (во что я охотно верю), пользователи, которые не смогут поставить на свои машины с этой материнкой Альт, будут считать происходящее проблемой установщика. Например, потому, что у пользователей Debian/Ubuntu, RH-based систем и Arch/Manjaro с ней никаких проблем нет: https://linux-hardware.org/index.php?id=board:gigabyte-b450-aorus-m-x-x

Оффлайн yushi

  • Участник
  • *
  • Сообщений: 72
О, я нашёл в исходниках 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.

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

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

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
Тогда на этом компьютере не должны грузиться регулярки. Проверьте, пожалуйста:
http://nightly.altlinux.org/sisyphus/current/regular-rescue-latest-x86_64.iso

Оффлайн yushi

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

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

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Получается, он не хочет грузить с GPT. А с MBR нормально. Чудеса.

Антон, не, не так. Там прикольнее :-)
Перечитал yushi и заглянул в man gdisk.
yushi на B450 провернул:
Enter the experts' menu => Create  a  new  protective  MBR => Write table to disk and exit

После чего:
После этого в загрузочном меню материнской платы стал виден вариант UEFI-загрузки с SDD.