LINUX.ORG.RU

Нужно ли подчищать EFI раздел при смене дистрибутива?

 , ,


1

1

Есть диск, на который изначально установлена Windows 10, при установке создавшая себе EFI раздел на 100 мб. Потом параллельно на тот же диск установлена Ubuntu, в качестве /boot/efi выбран этот существующий раздел. Сейчас содержимое /boot/efi/EFI:

. .. Acronis Boot Microsoft ubuntu

/boot/efi/EFI/ubuntu:

. .. BOOTX64.CSV grub.cfg grubx64.efi mmx64.efi shimx64.efi

Если сейчас на место Ubuntu аналогично поставить другой дистрибутив (просто на этот же Ext4 раздел с форматированием), стоит ли париться что на EFI разделе останутся ошметки её загрузчика? Место оно вроде немного занимает, но не будет потом проблем с путаницей в GRUB и фантомных пунктов? Или оно само всё поймет и разрулится? Сам EFI раздел не форматирую, ибо сотрется и виндовый загрузчик который нужен.

Подчищать efivar — крайне желательно (это и на время загрузки немного влияет, и вообще), подчищать ESP не обязательно если у тебя там много места.

// Тред не читал.

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

А скажи, если установлен какой-то дистр, информация о нем хранится только в его директории на ESP (типа EFI/ubuntu), или еще прописывается где-то, например в EFI/Boot? Содержимое /Boot:

BOOTX64.EFI fbx64.efi mmx64.efi

Т.е. достаточно удалить директорию ненужного дистра на разделе, или надо еще что-то редактировать. Собственно efivar что ты посоветовал, он manipulate UEFI variables, а эти переменные в рамках дистрибутива хранятся, или глобально тоже на ESP где-то записаны?

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

если установлен какой-то дистр, информация о нем хранится только в его директории на ESP

Нет. На ESP-разделе находятся ЕФИ-загрузчики. И совсем не обязательно, что, например, загрузчик, установленный убунту будет в каталоге убунту. В какой-то мере можно сказать, что информация хранится в efivars. Но это опять информация о ЕФИ-загрузчике, а не о дистрибутиве.

например в EFI/Boot?

В этом каталоге находится загрузчик по-умолчанию.

достаточно удалить директорию ненужного дистра на разделе

Да. Дальше зависит от твоего конкретного УЕФИ. Либо он сам удалит из efivars записи об удаленных загрузчиках, либо придется это сделать вручную.

эти переменные в рамках дистрибутива хранятся, или глобально тоже на ESP где-то записаны?

Нет. Они находятся в специальной энергонезависимой памяти nvram, вместе с самим UEFI.

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

А скажи, если установлен какой-то дистр, информация о нем хранится только в его директории на ESP (типа EFI/ubuntu), или еще прописывается где-то, например в EFI/Boot?

Зависит от упоротости мейнтейнеров.

а эти переменные в рамках дистрибутива хранятся, или глобально тоже на ESP где-то записаны?

Они прописаны не в ESP, а в энергонезависимой памяти UEFI. Записи о дисках у большинства производителей сбрасываются если вытащить диск. Кастомные записи могут не сбрасываться. Используй efibootmgr(8).

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

@andytux @mord0d Спасибо за инфу, я думал вся информация о загрузке только на ESP-разделе хранится, а UEFI уже при запуске его читает и решает что делать, а он оказывается еще у себя записи хранит.

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

На ESP хранятся efi-программы (обычно загрузчики). По умолчанию UEFI грузит ту, что лежит в \EFI\Boot\Boot{ARCH}.efi, или ту, что выставлена в efivar по умолчанию. Выбор диска (на котором открыть ESP и попробовать загрузить с него дефолт) есть у всех производителей, а вот EFI Shell — редкость (хотя и они есть сторонние, кладутся в ESP). Установка дефолтного диска тоже есть везде, а вот модификация efivar (и записи туда сторонних путей типа EFI\Ubuntu\) в UNIX-like производится через efibootmgr(8).

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

Про загрузку понял, а вот про EFI Shell вспомнил, мне как-то дали новый ноут Acer винду накатить, а там как раз уже был гиговый раздел с этим шеллом (даже вот нарыл, на хабре про него спрашивал, там скрины есть). Это получается просто оболочка для удобного управления всеми этими загрузочными записями и т.п.? А главное, если я на такой ноут захочу поставить линукс, этот раздел с EFI Shell можно выбирать как /boot/efi при начальной разметке (без форматирования конечно)? А собственно даже если его затереть, ничего же страшного не случиться непосредственно для прошивки ноута?

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

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

По сути да. Но функционал зависит от реализации.

Ну и на некоторых железках оно является частью прошивки, а не лежит в ESP.

А главное, если я на такой ноут захочу поставить линукс, этот раздел с EFI Shell можно выбирать как /boot/efi при начальной разметке (без форматирования конечно)?

Не можно, а нужно. На одном диске может существовать только один ESP (GPT не предусматривает больше одного) с любым количеством efi-программ на нём (а вот объём efivar ограничен, хоть и достаточно велик). Пересоздавать ESP нужно только в случае если GPT повреждён и его невозможно восстановить (либо надо быть совсем криворуким, либо делать это целенаправленно).

А собственно даже если его затереть, ничего же страшного не случиться непосредственно для прошивки ноута?

Нет. UEFI функционально даже без диска, ему только запускать будет нечего (как BIOS без MBR).

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

UEFI функционально даже без диска, ему только запускать будет нечего (как BIOS без MBR).

Это да, там просто SSDшка еще то-ли распаяна была, то-ли модулем маленьким, я и подумал может этот EFI Shell уже как часть прошивки самого девайса идет, и можно окирпичить если раздел нечаянно дропнуть.

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

можно окирпичить если раздел нечаянно дропнуть

Я такого ещё не встречал. Да и по стандарту (на который большинство вендоров клали) такого быть не должно.

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

Удаление EFI раздела на диске не может окирпичить компьютер - появится сообщение, аналогичное старому BIOS об отсутствии загрузчика. Компьютер может прийти в такое состояние при некорректной записи efivars, которые хранятся где-то на плате (для этого нужно второе условие - кривой UEFI, который не может справиться с некорректными записями - такое бывает крайне редко).

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

EFI-shell не на харде/ссд, раздел да, лучше чистить.

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

На одном диске может существовать только один ESP

По спецификации, может быть хоть сколько. Другое дело, как к этому отнесется данный конкретный УЕФИ. Упомянутый в предыдущем ответе «раздел восстановления» в некотором смысле является еще одним ESP-разделом. На нем есть ЕФИ-загрузчик (если я не ошибаюсь), и с него загружается восстановление, которое чаще всего только и может, что советует загрузиться с установочного диска. Содержимое исо-образа, скопированное на раздел, в полном объеме выполняет функции «раздела восстановления» и позволяет установить систему.

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

По спецификации, может быть хоть сколько.

Тут зависит от GPT, а оно не позволяет создать два раздела с одинаковым GUID. А если GUID отличается, то это уже не ESP.

Упомянутый в предыдущем ответе «раздел восстановления» в некотором смысле является еще одним ESP-разделом.

Нет, не является. Если раздел загрузочный, это не значит что он ESP.

Ну и тем более раздел восстановления Windows никогда не был в FAT32, а это одно из требований стандарта (которое, впрочем, не касается техники от Apple) UEFI.

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

Это ссылка на коммент, где я именно про раздел с EFI Shell спрашивал, может просто не раскрылась. Тогда я впервые с ним столкнулся, и с ходу не понял что это такое, подумал может что-то важное.

Я точно не помню, но кажется на том ноуте, кроме этого шелла, ничего и не было больше. Возможно это очередной финт от производителя для обхода требования об обязательно установке ОС на новый комп. Просто обычно туда FreeDOS ставили, или обрубок линуска какой-то китайский, а тут получается просто на ESP этот шелл закинули.

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

«Хоть горшком назови, только в печь не сажай.»

если GUID отличается, то это уже не ESP.

Если так, то да. А если ESP - любой, с которого грузится… Мне важнее, чтобы грузился.

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

Не вижу смысла пересказывать открытый стандарт, так что читай из первоисточников.

А по поводу GPT достаточно открыть какой-нибудь список зарезервинованных GUID. Кажется, даже на Wikipedia где-то был.

Ищи c12a7328-f81f-11d2-ba4b-00a0c93ec93b, он зарезервинован под ESP. Если найдёшь какие-то другие — пинай, будем развеивать мифы. ☺

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

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

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

кривой UEFI, который не может справиться с некорректными записями - такое бывает крайне редко

Да нет, часто. Не знаю как сейчас, а на железе, сделанном 6-10 лет назад, это было повсеместно. У меня был негативный опыт с UEFI Phoenix SecureCore Tiano на Aser, у нескольких товарищей было получше, но тоже в целом плохо.

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