LINUX.ORG.RU

Удаление /sys/firmware/efi/efivars может повредить материнскую плату

 , , ,


2

7

Обнаружилось, что на некоторых компьютерах с UEFI удаление файлов в каталоге /sys/firmware/efi/efivars, а также, как следствие, команды вроде rm -rf /sys и rm -rf --no-preserve-root / могут привести к повреждению прошивки материнской платы, после которого компьютер вообще перестаёт загружаться. Восстановить прошивку «в домашних условиях» после этого часто невозможно.

Согласно спецификации UEFI, такого не должно происходить: настройки прошивки должны просто сброситься на заводские. Однако прошивка многих материнских плат содержит ошибки.

Ошибка стала широко известной благодаря сообщению о баге в systemd (хотя это не первое сообщение об этой проблеме): так как виртуальная файловая система в /sys/firmware/efi/efivars монтируется systemd, разработчикам посоветовали монтировать её только для чтения. Леннарт Поттеринг, главный разработчик systemd, отказался это делать, отметив, что существуют программы, которые намеренно меняют настройки прошивки через этот каталог. systemd можно заставить монтировать его только для чтения, если вписать соответствующую строчку в /etc/fstab с параметром ro.

Мэттью Гэррет, специалист по безопасности CoreOS, в прошлом активный разработчик ядра Linux, поддержал решение Поттеринга и принял вину на себя как автор соответствующего кода в ядре. Он считает, что ядро должно само решать эту проблему: оно обычно содержит воркэраунды для проблем с оборудованием, в том числе для проблем с UEFI.

Пользователям GNU/Linux можно посоветовать узнать, не подвержены ли их системы этой ошибке, и быть очень осторожными при массовом удалении системных файлов. А также, при необходимости, настроить монтирование efivars только для чтения, но это может привести к неполадкам при установке GRUB, при работе efibootmgr, и systemctl --firmware-setup reboot, и, возможно, других программ.

>>> Подробности

★★★★★

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

Ответ на: комментарий от bookman900

А как же новости о том, как простая переустановка винды убивает некоторые UEFI? Без всяких Linux. Просто купишь Pro и захочешь поставить вместо Home или же обновить восьмёрку до десятки - и получаешь кирпич. И никакого Linux не надо.

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

То есть ты считаешь нормальным, что переустановка винды приводит к окирпичиванию ноутбука? Типа «да вы чо! это устаревшая функция, ею всё равно никто не пользуется».

А как же, скажем, обновления с 8 до 10? Оно ведь тоже по сути переустановка, просто часть файлов сохраняется (кстати, истории как такое обновление убивает UEFI тоже есть). А ведь это обновление в добавок очень агрессивно втюхивается. Или если я куплю Pro и захочу заменить ею предустановленную Home? Или вирус убьёт систему так, что только полный реинсталл?

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

1) Под винду есть вирусы. Что мешает вирусу удалить те же самые записи и окирпичить материнку? Раньше работало правило - словил вирус - прогнал систему антивирусом или переустановил ОС. Сейчас можно вообще расстаться с компьютером. Ты считаешь это нормальным?

2) Установщик винды как минимум сам по себе перезаписывает память UEFI. Это логично - ему же надо себя добавить как-то туда. Он делает это в том числе при обновлениях с одной мажорной версии (MS очень активно втюхивает всем десятку нынче) до другой или восстановлении системы (в конце-концов если требуется восстановление загрузочная запись тоже может быть повреждена и надо восстановить и её). И задокументированы случаи, когда UEFI не переживает этого вмешательства.

То есть не надо использовать Linux. Не надо ставить никаких хакерских утилит. Можно даже вообще ни разу в жизни не заходить в настройки UEFI. Достаточно согласиться с навязчивым предложением обновиться до десятки или поймать неизвестный антивирусу вирус. И получиться кирпич. Это ты считаешь правильным?

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

Каким же образом тогда появляются истории о том, как штатное обновление или переустановка винды убивает UEFI? Похоже таки тестируют только что OEM винда (которая ставится иным образом нежели обычная) грузится. О том, что она сможет нормально обновиться или что юзер поставит вместо неё другую никто не думает.

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

Однако доступ к памяти UEFI у прикладного софта таки есть. Ибо под винду вполне существуют утилиты для редактирования загрузочных записей. К тому же сама винда активно пишет в память UEFI при своей установке или восстановлении. Да, rm -rf не убьёт UEFI под виндой, но если правильно написать софт - то всё получится. А ещё ведь некоторые UEFI кирпичатся просто от штатной последовательности команд, которую выдаёт винда при переустановке. То есть не надо ни вирусов, ни хакерских утилит.

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

Не во многих, а во вполне конкретных моделях. И громкость звука нельзя выставить выше 100%, это технически невозможно. Точно также как пропустить через 100 Мбит Ethernet гигабит каким-то чисто программными ухищрениями. VLC просто модифицирует форму сигнала, внося искажения, чтобы увеличить результирующую громкость.

Чисто технически можно подготовить аудиофайл, где эти искажения будут уже встроены и воспроизвести его любым плеером со 100% громкостью и получить тот же эффект.

По сути дела это лишь означает, что колонки ноутбука в принципе не способны работать на этой 100% громкости, а производитель рассчитывал на то, что никто не будет слушать такие громкие звуки.

Это примерно как если строители сэкономят на перекрытиях в доме, а после катастрофы будут отмазываться «ну кто ж знал, что человек 2 шкафа в одной комнате поставит!».

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

Доступ есть, но через специальные интерфейсы. Согласен, в никсах самый удобный способ сделать это - sysfs, но «патч Бармина» по раздолбайству мейнтейнеров никто не отменял(bumblebee ЕМНИП). Кого тогда винить если тебе достался ноут вот такой «внезапный»? Поэтому уж лучше отдельный интерфейс(кстати какой бы? ioctl не предлагать).

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

А почему собственно другие должны ломать себе голову от того, что авторы некоторых прошивок UEFI раздолбаи.

anonymous
()

Почему все обсуждающие педалируют тему с systemd и игнорируют этот абзац?

Мэттью Гэррет, специалист по безопасности CoreOS, в прошлом активный разработчик ядра Linux, поддержал решение Поттеринга и принял вину на себя как автор соответствующего кода в ядре. Он считает, что ядро должно само решать эту проблему: оно обычно содержит воркэраунды для проблем с оборудованием, в том числе для проблем с UEFI.

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

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

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

Не так интересно, Поттеринга ругать гораздо интереснее.

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

Поэтому уж лучше отдельный интерфейс(кстати какой бы? ioctl не предлагать).

Устало. Выше уже 100500 раз написали, на системах без ненужноД по дэфолту ничего не монтируется. А если нужно внести изменения грузим модуль, подмонтировалось, внесли изменения.

anc ★★★★★
()

Окирпичилась Gigabyte GA-Z97-D3H, когда поудалял все файлики, экспериментируя с клонзиллой. Тред нашёл через гугл. Однако здравствуйте.

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

Арч сначала, потом пробовал убунту и дебиан. С диска ставятся, с hdd виснет

Zidane
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.