LINUX.ORG.RU

Debian не загружается дальше Grub

 , ,


1

1

Мое первое сообщение на данном форуме, не знаю туда ли пишу(не бейте) Поставил себе Debian после Kali у которого были проблемы с tpm2.0 и secure boot дебиан с этим всем вроде работал стоит от у меня на съёмном жёстком диске, в один прекрасный момент ос перестала грузится дальше Grub, в верху надпись Welcome to Grub и перезагрузка в UEFI, пробовал с live образа через chroot писал grub-install /dev/sdf выводило это:

grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won’t be possible.

grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged

Без понятия из-за чего это произошло но до этого я делал эти действия:

  1. Менял слоты в котором стоял жёсткий диск с линухой
  2. Установил скрипт debian-conversion-script из parrot security os который подменил мне версию ОС с debian 11.2(не помню какая там последняя) на Parrot Security 6.2
  3. Для zero tier пришлось сменить визуально версию обратно на 11.2 ибо он на версию 6.2 не ставится Думаю что мне делать? Переразмечать диск с gpt на mbr? Можно как-то уже починить этот Чертов debian, уже наверное две недели ставлю разные версии линухи и не один не прожил дольше 2 дней Извиняюсь за большое количество текста)


Последнее исправление: VicTim (всего исправлений: 1)

«Надолго дураку стеклянный хер, поссал и о забор.»

ставлю разные версии линухи и не один не прожил дольше 2 дней…

А ты болван деятельный…

grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won’t be possible…

Просто вопит тебе, что ты делаешь не то и не так.

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

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

Делал я все вплоть так как написанно в гайдах и так как делал раньше, можно не переходить на личности просто так? Я задал конкретный вопрос, можно конкретно ответить? Мне максимально не удобно переключать tpm2.0 и secure boot ради того чтобы просто перезагрузится на две минуты в линуху из винды, из-за этого я и модифицирую efi раздел, но как видно что-то сделал не так

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

Grub я восстанавливал лишь один раз и то не понял как и снова он слетел как я захотел жёсткий диск с ОС переставить в usb3.0 с usb2.0 так же думаю о способе поставить grub в раздел с windows и оттуда уже выбирать нужный вариант загрузки но не знаю как это сделать, прошу помощи, с грабом дела не имел да и в самом линуксе на ПК особо не разбираюсь, нужен он мне для пинтеста и для компиляции прошивок под android в коих я разбираюсь лучше многих попросил помощи и меня тут же залили дрисней за лишь одну просьбу

VicTim
() автор топика

grub-install /dev/sdf

grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won’t be possible.

А он для какой платформы его ставил? Сдаётся мне, что там было i386-pc. Попробуй в другой раз grub-install --target=x86_64-efi /dev/sdf. Все доступные варианты можешь глянуть в grub-install --help.

u5er ★★
()

А вам, наверное, как и мне всегда жалко этого одного мегабайта на носителе для бивос-бут-партишена? Кстати, если вам люнекс нужен с конкретной целью обработки ведроидных фирмварей, то можно собрать укомплектованный необходимыми утилитами, скриптами и док-ами live и пускать его либо с внешнего носителя, либо с отдельного раздела. И тогда можно обойтись без Bios Boot Partition.

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

Мне часто нужны и другие Тулы из линукса, хочу полноценную систему поставить, нет места мне не жалко, не знаю как это сделать) можно инструкцию?) пробовал себе поставить wndows linux, она встала и загрузила свой grub в диск с виндой, но как это сделать если оно не выполняется автоматически при установке? Так же grub-install и диск с виндой?

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

Вам бы, прежде чем пробовать отсоветованное духами из сетей, можно было бы загуглить «Bios Boot Partition зачем нужен». Но это факультативно, можете и не узнавать. Знание само придёт, когда-нибудь. Ну, как делается, выделяется этот чёртов один мегабайт где-нибудь на носителе и выставляется флаг, что оно есть именно Bios Boot Partition. Это не секрет, и не тайна. Удачи в пробах.

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

Если Вы разбираетесь в прошивках то, вероятно, знаете как работает процесс загрузки на Arm-машинах. Процесс загрузки современных x86-64 машин отличается. Для начала, есть два различных режима загрузки. Тот, что достался в наследство от BIOS сейчас называется legacy-mode. И тот что используется в современных прошивках UEFI на многих прошивках обозначается как UEFI-mode, или просто UEFI. Последовательность действий прошивки в этих режимах отличается. Для оптических носителей процесс отличается и здесь не описан.

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

В legacy прошивка ищет разметку MBR на каждом из устройств, в заданном пользователем порядке, загружая загрузчик с первого устройства на котором найдена соответствующая разметка и передавая ему управление. Поскольку, по спецификации MBR код загрузчика должен вмещаться в 446 байт, так как делит пространство первых 512 байт (размер сектора на старых HDD) с таблицей разметки. Для современных загрузчиков это слишком мало, потому в эти 446 байт обычно записывается так называемый загрузчик первого этапа, в задачу которого входит лишь загрузка и передача управления коду загрузчика второго этапа. Обычно, код загрузчика второго этапа на накопителях с MBR-разметкой размещается между концом первого сектора, и началом первого раздела, которое рекомендуется размещать со смещением в 1MiB от начала пространства накопителя. Однако GRUB - это довольно громоздкий и сложный комбайн, хранящий конфигурацию и остальные файлы второго этапа на boot-разделе, который может быть отформатирован в одной из поддерживаемых файловых систем и более того, зашифрован LUKS. Потому, размера в без малого 1MiB для кода второго этапа GRUB мало, и загрузчик первого этапа передаёт управление на так называемый загрузчик этапа 1.5, для которого 1MiB хватает, и он, на минималках, умеет в LUKS и различные файловые системы, а так же поддержку окружения GRUB-rescue. Уже далее управление передаётся коду GRUB второго этапа.

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

В режиме UEFI загрузка выглядит иначе. UEFI, в отличие от относительной простоты BIOS, концепция загрузки была существенно переработана, с учётом современных реалий. Во-первых, появилась поддержка существования множества различных загрузчиков, размещённых на одном разделе. Во-вторых код загрузчика теперь не должен быть втиснут в 446 байт первого сектора, а представляет собой обычный файл на ESP (EFI System Partition). При этом на любом из накопителей может быть множество ESP. В-третьих появилась концепция boot entry (загрузочных записей), в которых хранится путь к файлу загрузчика с учётом раздела, а так же аргументы запуска передаваемые загрузчику. В-четвёртых спецификация UEFI предлагает использование системы разметки GPT (GUID Partition Table), являющейся частью спецификации, взамен устаревшей, но всё ещё поддерживаемой MBR.

Каждый из ESP должен быть отформатирован в один из вариантов FAT, и может содержать файлы исполняемые прошивкой UEFI, коими, в большинстве случаев, являются загрузчики. Кроме загрузочных записей, прошивка UEFI может загрузиться с любого ESP, если загрузчик находится по пути \EFI\BOOT\BOOTx64.EFI.

GRUB в efi-файле на ESP размещает код этапа 1.5.

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

Теперь о GRUB.

В код этапа 1.5, в процессе работы утилиты grub-install вшивается UUID LUKS-раздела и файловой системы, на которой размещается код GRUB второго этапа.

Код второго этапа, получив управление, загружает конфигурацию из файла /grub/grub.cfg относительно корня того раздела с которого запустился. Затем, при необходимости, расшифровываются и монтируются разделы на котором находятся ядра linux или загрузчики других ОС. Поиск и зашифрованного LUKS-раздела и необходимых файловых систем осуществляется по UUID, а пути файлы ядер, образов initrd, и загрузчиков других ОС прописаны в конфиге GRUB относительно корня соответствующей ФС.

Относительно Вашей проблемы. Вероятно, в процессе Ваших занятий по переустановке различных версий linux было изменено имя файла ядра, или загружаемого образа initrd, или UUID файловой системы где это ядро располагалось. Поскольку, насколько я смог понять из описания, код GRUB второго этапа у Вас запускается, в использовании утилиты grub-install нужды нет, так как она отвечает за размещение кода GRUB этапов 1 и 1.5. Если я правильно понимаю, Вам необходимо изменить конфиг второго этапа GRUB, для чего загрузитесь с life-usb, смонтируйте корневой и boot разделы целевой версии Debian, осуществите chroot в корень и выполните команду grub-mkconfib --output /boot/grub/grub.cfg, после чего попробуйте перезагрузиться.

QsUPt7S ★★
()
Последнее исправление: QsUPt7S (всего исправлений: 1)