Lenovo Thinkpad T450s: “Erro: O armazenamento variável UEFI do sistema não volátil está quase cheio.”

5

Um cliente meu está usando um Lenovo Thinkpad T450s desde cerca de um ano. A máquina está executando o Debian jessie, com um kernel fora do jessie-backports, agora 4.5+73~bpo8+1 . A versão mais recente do UEFI é exibida / instalada. O sistema operacional está instalado no "modo UEFI", com uma partição EFI extra, etc. Até ~ quatro semanas atrás, essa configuração era sólida e estável: Lenovo Thinkpad e Debian, o que poderia dar errado?

Desde quatro semanas, a cada inicialização, a máquina mostra o erro que eu coloquei no assunto. Aqui está uma imagem disso:

PressionarEsccontinuaráoprocessodeinicialização,quefuncionou"bem" ... por mais duas semanas. A mensagem foi alterada de

Press Esc to continue or F1 to enter setup.

para

Clean up YES or NO

(infelizmente, não tenho imagem disso).

Meu cliente atingiu "YES", que apagou o armazenamento, até onde eu vejo tudo isso atualmente, o que tornou a máquina não inicializável. Depois, restaurei a entrada de inicialização "debian", e a máquina ficou feliz novamente, inicializando bem, etc. Isso durou mais alguns dias; desde ~ uma semana, a mensagem é exibida novamente a cada inicialização.

Eu tentei entrar em contato com o suporte da Lenovo quatro vezes em quatro dias diferentes e desisti depois de passar ~ 30 minutos na fila do telefone todas as vezes.

Eu usei todas as minhas habilidades $ (your-favorite-search-engine-here) - nos últimos dias, e encontrei quase nada: De onde isso vem, como depurar e, mais importante, como corrigir isso . Como as coisas estão atualmente, eu acho que a máquina não será inicializada novamente em breve.

Todos os ponteiros são muito apreciados!

    
por gf_ 27.05.2016 / 15:26

1 resposta

5

O kernel Linux desde a versão 3.8 abstrai o armazenamento de variáveis UEFI como efivarfs .

Montando efivarfs

Se mount | grep '^efivarfs' não retornar nada, você pode montar efivarfs usando este comando:

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

Agora, você pode procurar /sys/firmware/efi/efivars para ver se alguma variável se destaca.

Classificando variáveis UEFI por tamanho

efivarfs não tem um conceito de uso de disco, mas ele informa cada variável por tamanho. Este comando classifica as variáveis por tamanho, crescente:

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

Próximas etapas

Isso é o máximo que posso levar você usando as informações que você forneceu. Em seguida, você precisa descobrir o que está ocupando tanto espaço na variável NVFI do UEFI.

O Wiki do Arch Linux sugere a exclusão de /sys/firmware/efi/efivars/dump-* arquivos / variáveis, se existirem, embora não mencione o que cria essas variáveis.

Como discutido no bate-papo , uma abordagem seria tirar um instantâneo das variáveis UEFI, flush como proposto pelo firmware Lenovo, reinstale a inicialização EFI do Debian, tire um instantâneo novamente, aguarde até que as variáveis UEFI sejam preenchidas novamente e faça mais um snapshot. Então, você será capaz de comparar os instantâneos para ver o que mudou e, esperançosamente, identificar o que está causando a variável problemática ou as variáveis a ocupar tanto espaço.

Se tudo mais falhar, você poderá voltar para a inicialização herdada.

    
por 27.05.2016 / 16:44