Como corrigir a partição do sistema EFI somente leitura?

0

Eu tenho uma partição EFI, / dev / sda1, que eu já pude instalar o GRUB e alterar a ordem de inicialização com o efibootmgr sem problemas, infelizmente agora, no entanto, não consigo receber erros 'Read-only file system' do grub-install (especificamente, quando montado em / boot / efi, grub-install --target=x86_64-efi --efi-directory=/boot/efi /dev/sda e efibootmgr. Eu tentei limpá-lo com:

sudo mkfs.vfat /dev/sda1

mas ainda recebo esse erro. Especificamente grub-install --target=x86_64-efi --efi-directory=/boot/efi /dev/sda dá:

Installing for x86_64-efi platform.
Could not delete variable: Read-only file system
efibootmgr: ** Warning ** : Boot0002 has same label gentoo
Could not prepare Boot variable: Read-only file system
Installation finished. No error reported.

Eu vi Corrigir somente o sistema de arquivos usb , mas eu não consigo limpar este disco com wipefs Tenho várias distros instaladas e configuradas e demoraria um pouco para me recuperar de tal limpeza. Estranhamente, o grub-install ainda adiciona arquivos ao / dev / sda1, é apenas a ordem de inicialização que não parece ser alterada.

    
por Brenton Horne 21.04.2018 / 16:08

1 resposta

2

Observe que a mensagem de erro é " Não foi possível excluir variável: Sistema de arquivos somente leitura". Na verdade, ele está tentando manipular as variáveis de inicialização do UEFI e falhar lá.

Na verdade, os erros estão se referindo ao efivarfs filesystem que é usado para acessar as variáveis de inicialização do UEFI, que normalmente devem ser montadas em /sys/firmware/efi/efivars . Também pode haver uma versão mais antiga do mecanismo de acesso a variáveis UEFI, localizado em /sys/firmware/efi/vars .

Se você perdeu a opção de configuração do kernel CONFIG_EFIVAR_FS, o driver para este sistema de arquivos virtual pode não existir em seu kernel (se compilado como um módulo, ele é denominado efivarfs ). Se o driver estiver disponível, certifique-se de que este sistema de arquivos esteja listado em /etc/fstab : se os scripts de inicialização do seu sistema não lidarem com ele especialmente, você pode precisar de uma linha como esta em seu arquivo / etc / fstab:

efivarfs /sys/firmware/efi/efivars efivarfs defaults 0 0
    
por 21.04.2018 / 17:12