LINUX.ORG.RU

Проблема с восстановлением grub2 (UEFI)

 , ,


0

1

Имеется два физических ЖД. Один - Арч x86_64, второй -оффтопик 7ка. Так вышло что винда затерла загрузчик граб на арче, начал восстанавливать.

/dev/sda1 /boot/efi
/dev/sda2 - swap
/dev/sda3 - /
/dev/sda4 - /home
Смонтировал все разделы, сделал чрут - при попытке восстановления командой
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck --debug
пишет
grub-install:error: /boot/efi doesn't look like an EFI partition
Раздел /dev/sda1 на котором находится /boot/efi форматирован в fat32. Помогите, не знаю что делать, в гугле ответов не нашел.

Upd. Сейчас снова загрузился с livecd арча, сделал

fdisk -l /dev/sda
и вот что он мне выдал-
The backup GPT table is corrupt, but the primary appears OK, so that will be used.
Я так вонял что винда не только затерла загрузчик, так она еще и снесла начисто GPT-метку диска с арчем? Походу надо гуглить как восстановить GPT.

★★★★★

Я сейчас глупость спрошу, но загрузчик же нужно в главную запись ставить (т.е. в /dev/sda), или я путаю понятия?

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

Нет, в UEFI - загрузчик ставится в EFI System Partition, т.е в данном случае в /dev/sda1.

Andrew ★★★ ()
Ответ на: комментарий от siphonops
 grub-install /dev/sda

- это для BIOS, а мне надо UEFI, я все делал по вики арча - там так написано.

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

Это я так, для общего развития спрашивал. Собираюсь перейти с legacyboot на этот efi, наконец.

siphonops ★★★ ()

Раздел /dev/sda1 на котором находится /boot/efi форматирован в fat32.

Это, по идее, нормально.

siphonops ★★★ ()

А почему у Вас

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck --debug

Не указано вот это: --boot-directory=...

P.S. Все понял. Умолчание.

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

Ну как бы так и должно быть, по вики арча, иначе если boot будет не в fat32, то система с uefi не будет грузиться. Я просто написал для того чтобы не было лишних вопросов.

Не указано вот это: --boot-directory=...

Не поможет, пробовал. Тот же рузультат.

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

Вообще по «doesn't look like an EFI partition» находит порядочно тем, преимущественно по debian'у, но там у авторов как-то внезапно все зарабатывает, что они даже не пишут, как починили.

Может быть разделу /dev/sda1 не хватает какой-то efi метки? Или сложилась ситуация, когда grub ищет GPT, а там MBR, или наоборот, но это лишь догадки.

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

Да, вначале, когда грузился с livecd арча, видел какое-то сообщение про то, что что-то не так с разделом GPT. Но я не читал его и не обратил особого внимания.

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

Можно попробовать сделать квадратно-гнездовым способом:
1. Отключить диск с виндой.
2. Сделать бекап корня арча.
3. Произвести действия по чистой установке арча.
4. Накатить корень из бэкапа.
5. Подключить обратно диск с виндой.
6. Обновить grub на предмет загрузчика винды.
P.S. на свой страх и риск, но я бы так сделал.

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

Upd. Сейчас снова загрузился с livecd арча, сделал

fdisk -l /dev/sda
и вот что он мне выдал-
The backup GPT table is corrupt, but the primary appears OK, so that will be used.
Я так вонял что винда не только затерла загрузчик, так она еще и снесла начисто GPT-метку диска с арчем? Походу надо гуглить как восстановить GPT.

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

Надеюсь сам груб вы ставили так?

pacman -S grub-efi-x86_64

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

Да. Граб стоит, проблема в его восстановлении, сейчас гуглю инфу по восстановлению таблицы GPT. Backup gpt - повреждена, пробую восстановить из primary gpt, ищу нужные утилиты вроде gdisk, testdisk.

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

мне кажется что если венда перетерла диск то удастся установить в лучшем случае не корректно, так как поверх уже производилась запись.

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

Ну насколько я знаю, GPT создает 2 записи - в начале диска и в конце, я попробую восстановить разметку диска из целой записи. К тому же создавать новую GPT-метку не вариант - на хомяке файлов на 400 Гб, которые некуда забекапить.

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

Это все из-за дуалбута. Проклятая венда вечно гадит мне!

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

Это все из-за дуалбута. Проклятая венда вечно гадит мне!

Вот по этому ее нужно пускать только через grub. А переустанавливать изолированно от других систем.

siphonops ★★★ ()

отмантируй /boot/efi/

после этого (без каталога /boot/efi/ ) — делай grub-install

в результате в каталоге /boot/ --- grub создаст тебе нужные файлы (название не помню — но по свежей дате ты поймёшь какие)..

вот вручную ты эти новосозданные файлы — засунь куда нужно (на ESP)..

а дальше вручную воспользуйся efibootmgr

# P.S.: вообще лучше в будущем не делай каталог /boot/efi/ --- он только мешает.. и может даже иногда принять участие в запортачивании UEFI-системы, так как grub не стеснясь видя этот каталог — пишет туда и т п (например может такое случиться после pacman -Syu)

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

Вот по этому ее нужно пускать только через grub. А переустанавливать изолированно от других систем.

нее.. если Венда установлена через UEFI (и Linux тоже через UEFI) --- то нет ни какого особого смысла загружать венду именно через GRUB. можно, но зачем? нет смысла..

всё-таки UEFI это скачёк прогресса в правильном направлении.. и таким образом геморои дуалбучных проблемм (которые были во времена старых BIOS) — уходят в прошлое.

ну хотя новые небольшие геморои — UEFI тоже приносит.. чуть-чуть :-) ..

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

отмантируй /boot/efi/

хотя быть может я погорячился.. быть может archlinux-баги уже в прошлом, связанные с плохой автоматизацией GRUB относительно /boot/efi/ ..

вобщем не уверен я как-то уже :-)

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

Поставил заново Арч. (Вообщем ситуация очень и очень печальная. cfdisk не видит разделов на диске (точнее видит один большой раздел), parted - видит, fdisk - видит, но ругается на то что повреждена GPT-разметка.) Вот, поставил значит я Арч, гружусь - и нет пункта с Арчем (гружусь сначала с UEFI загрузчика,который передает загрузку grub2). Я понял что у меня 2 варианта - либо заново поставить GPT-метку (диск форматнется), либо сидеть под оффтопиком с монтированием раздела ext4 в режиме read only с драйвером под венду. Все попытки восстановить GPT не увенчались успехом. /boot/efi - тут вообще не при чем. Просто Линукс не может загрузить загрузчик из-за битой GPT-метки.

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

Что-то мне расхотелось уходить с легасибута после такого.

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

Вот-вот. UEFI - это та еще **па. Но к сожалению уже все вовременные материнские платы и ноутбуки оснащаются им. Прогресс не остановить. А ведь мне по-сути UEFI вообще не нужен, т.к. у меня нет жестких дисков > 2Tb

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

Это еще не все проблемы. Даже если на материнской плате есть легаси-режим, он может быть тормозным, как у меня. Т.е. современный системник под Ivy Bridge грузится в легаси режиме в три раза медленнее, чем с коркой под Conroe.

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

Лол, тебе явно придется почитать про те программы для разметки диска, которые ты используешь. cfdisk и fdisk не предназначены для работы с gpt нужно использовать либо parted, либо gdisk, к примеру.

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

Лол, я пробовал и gdisk и testdisk - это ничего не дало. Результата ноль.

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

А grub-install лишь с указанием --target= тоже самое пишет?

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

Ну ты читать умеешь? В начале же еще написал:

Смонтировал все разделы, сделал чрут - при попытке восстановления командой

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck --debug

пишет

grub-install:error: /boot/efi doesn't look like an EFI partition

w1nner ★★★★★ ()

нужно ещё загрузиться в uefi режиме иначе подобные ошибки валятся.

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

Ну это само собой, я описал все из UEFI-режима.

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

Ты сам читать-то умеешь? «ЛИШЬ с указанием --target=»

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

Извиняюсь, невнимательно прочитал.

«ЛИШЬ с указанием --target=»

Просит указать EFI directory:

grub-install: error: cannot find EFI directory.
Если все же указать EFI directory, то пишет
grub-install:error: /boot/efi doesn't look like an EFI partition
Вот такой замкнутый круг получается =( Пробовал в gdisk делать change type of partition на EFI System (код
ef00
) - результат тот же. До этого стоял тип Microsoft basic data.

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

grub-install: error: cannot find EFI directory.

Раздел хоть смонитрован по этому адресу?

anonymous ()

Проблема решена полным форматированием всего диска и установки новой GPT-метки. Жаль, но ничего нельзя было сделать.

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

Нет больше хомяка на 400Gb. Да там ничего кроме всяких фильмов/сериалов и пр. дребедени с торрентво и не было. Правда там была папка с файлами по учебе, но с хер с ними.

w1nner ★★★★★ ()
Последнее исправление: w1nner (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.