Раскрыты причины блокирования работы UEFI-прошивки ноутбуков Samsung

Мэтью Гаррет (Matthew Garrett), один из разработчиков ядра Linux, последнее время занимающийся обеспечением загрузки Linux на системах с UEFI, опубликовал результаты экспериментов с ноутбуками Samsung, на которых проявляется проблема с UEFI-прошивкой, приводящая к дальнейшей неработоспособности устройства. Проблема наблюдается на моделях ноутбуков Samsung 300E5C, NP700Z5C, NP700Z7C и 530U3C при попытке загрузки Linux с использованием UEFI или при выполнении некоторых специфичных операций с UEFI в других ОС, в том числе в Windows 8.

Было выяснено, что проблема проявляется только в случаях, когда память для переменных UEFI заполнена более чем наполовину. В частности, причины проблем кроются в ошибке сборщика мусора UEFI. При удалении UEFI-переменной, она не очищается сразу, а лишь помечается удалённой. Чистка же производится в момент инициализации во время загрузки, через запуск реализованного в прошивке сборщика мусора. Если свободного места недостаточно, сборщик мусора зависает, что приводит к невозможности в дальнейшем загрузить систему без очистки Flash-памяти в сервисном центре. Когда свободной памяти UEFI достаточно (более 50%), устройства сохраняют нормальную работоспособность. Используя данную особенность, Мэтью подготовил патч для ядра Linux, недопускающий заполнения UEFI-памяти более чем наполовину.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.