Eu tenho uma partição EFI, /dev/sda1, na qual já consegui instalar o GRUB e alterar a ordem de inicialização com efibootmgr sem problemas, infelizmente agora, no entanto, não consigo receber erros de 'Sistema de arquivos somente leitura' do grub- install (especificamente, quando montado em /boot/efi grub-install --target=x86_64-efi --efi-directory=/boot/efi /dev/sda
e efibootmgr. 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 Fix read only file system usb , mas não consigo limpar este disco com wipefs
várias distros instaladas e configuradas e demoraria um pouco para se recuperar de tal limpeza. Estranhamente, o grub-install ainda adiciona arquivos a /dev/sda1, é apenas a ordem de inicialização que parece não poder ser alterada.
Observe que a mensagem de erro é " Não foi possível excluir a variável: sistema de arquivos somente leitura". Na verdade, ele está tentando manipular as variáveis de inicialização UEFI e está falhando.
Na verdade, os erros se referem ao sistema de
efivarfs
arquivos usado para acessar as variáveis de inicialização UEFI, que normalmente devem ser montadas em/sys/firmware/efi/efivars
. Também pode haver uma versão mais antiga do mecanismo de acesso variável UEFI, localizada 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, é 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 isso de maneira especial, você pode precisar de uma linha como esta em seu arquivo /etc/fstab:Atualização: aparentemente, a implementação inicial de
efivarfs
poderia fazer com que alguns computadores fossem bloqueados se alguém executasse orm -rf /sys/firmware/efi/efivarfs
.A proteção contra isso foi adicionada em novos kernels por ter todos, exceto os itens de variável seguros conhecidos,
efivarfs
como imutáveis (semelhante achattr +i
) por padrão e por ter ferramentas legítimas de manipulação de variáveis UEFI, comoefibootmgr
alterar os atributos do arquivo antes de fazer modificações.Em um sistema de lançamento contínuo, é possível ter a atualização do kernel que faz a
efivarfs
alteração chegar ao seu sistema antes que as ferramentas do espaço do usuáriogrub-install
recebam a modificação necessária para lidar com isso. Isso pode ter acontecido neste caso.