5

Мой клиент использует Lenovo Thinkpad T450s примерно год назад. На машине работает Debian jessie с ядром вне jessie-backports, сейчас 4.5+73~bpo8+1 . Последняя версия UEFI прошита / установлена. Операционная система установлена в "режиме UEFI", с дополнительным разделом EFI и т.д. До ~ четырех недель назад эта установка была надежной и стабильной: Lenovo Thinkpad и Debian, что могло пойти не так?

Уже четыре недели при каждой загрузке машина показывает ошибку, которую я положил в тему. Вот изображение этого:

Ошибка: энергонезависимое системное хранилище переменных UEFI почти заполнено.

Нажатие Esc продолжит процесс загрузки, который работал "хорошо" ... еще две недели. Затем сообщение изменилось с

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

в

Уберите ДА или НЕТ

(к сожалению, у меня нет изображения этого).

Мой клиент нажал "ДА", что стерло хранилище, насколько я вижу все это в настоящее время, из-за которого машина не загружалась. После этого я восстановил загрузочную запись "debian", и машина снова была счастлива, загрузилась нормально и т.д. Это продолжалось еще несколько дней; примерно через неделю сообщение появляется снова при каждой загрузке.

Я пытался связаться со службой поддержки Lenovo четыре раза в течение четырех разных дней и сдался, потратив ~ 30 минут в телефонной очереди каждый раз.

Я использовал все свои навыки $(your-favourite search-engine-here) здесь в эти последние дни и почти ничего не нашел: откуда это взялось, как отлаживать и, самое главное, как это исправить. Я полагаю, что в настоящее время машина снова не загружается.

Любые указатели высоко ценятся!

1 ответ1

5

Ядро Linux начиная с версии 3.8 абстрагирует хранилище переменных UEFI как efivarfs.

Монтаж efivarfs

Если mount | grep '^efivarfs' ничего не возвращает, вы можете смонтировать efivarfs с помощью этой команды:

mount -t efivarfs efivarfs /sys/firmware/efi/efivars

Теперь вы можете просмотреть /sys/firmware/efi/efivars чтобы увидеть, выделяются ли какие-либо переменные.

Сортировка переменных UEFI по размеру

efivarfs нет понятия об использовании диска, но он сообщает о каждой переменной по размеру. Эта команда сортирует переменные по размеру в порядке возрастания:

ls -lh /sys/firmware/efi/efivars | sort -k5 -h

Следующие шаги

Это насколько я могу использовать вас, используя предоставленную вами информацию. Далее вам нужно выяснить, что занимает столько места в переменной UEFI NVRAM.

Вики Linux Arch предлагает удалить файлы / переменные /sys/firmware/efi/efivars/dump-* , если они существуют, хотя и не упоминает, что создает эти переменные.

Как обсуждалось в чате, один из подходов состоит в том, чтобы сделать снимок переменных UEFI, сбросить их, как предложено в прошивке Lenovo, переустановить загрузку EFI Debian, сделать снимок снова, подождать, пока переменные UEFI снова не заполнятся, и сделать один больше снимка. Затем вы сможете сравнить снимки, чтобы увидеть, что изменилось, и, надеюсь, определить, что является причиной того, что проблемная переменная или переменные занимают так много места.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .