Mensagem “Sparse file not allowed” após a instalação em um sistema de arquivos btrfs

25

Instalei o Ubuntu sem criar uma partição swap e com /um btrfs. # Agora, recebo a mensagem "Arquivo esparso não é permitido" em cada inicialização. Esta mensagem aparece antes da tela inicial. Existe uma maneira de matar esse aviso?

FUZxxl
fonte
No meu sistema, pressionar qualquer tecla não faz nada, está preso!
Michael
1
a solução em 2016 é definir GRUB_SAVEDEFAULT=falseem /etc/default/grub& runupdate-grub
Stuart Cardall

Respostas:

33

OK, depois de um pouco de vasculhar, encontrei uma maneira de se livrar desse problema, pelo menos temporariamente, é bastante simples, no entanto, não tenho meu sistema configurado com btrfs, portanto não posso confirmar essa correção.

comente ou remova esta linha:

if [ -n ${have_grubenv} ]; then save_env recordfail; fi

ou

if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env \
recordfail; fi; fi

neste arquivo

/etc/grub.d/00_header

então corra

update-grub

o motivo para não editar /boot/grub/grub.cfgdiretamente é que ele será sobrescrito toda vez que o grub for atualizado. Nesse caso, você só precisará "refazer" a correção se os pacotes comuns do grub forem atualizados.

Este é o bug na barra de ativação, se você deseja adicionar o bug # 736743

Citando Colin Watson no relatório de erros

Esta é realmente uma mensagem de erro enganosa: o que está acontecendo é que a implementação btrfs do GRUB não implementa a interface do gancho de leitura de arquivo para retornar as listas de bloqueio ao código de chamada. Publiquei no grub-devel sobre isso e o mantenedor do upstream apontou que, além de problemas com vários dispositivos, gravar btrfs no GRUB é fundamentalmente arriscado, porque:

o mesmo bloco pode ser usado por vários instantâneos, cada árvore que usa um determinado bloco conterá sua soma de verificação e assim por diante recursivamente

No entanto, o btrfs reserva espaço no início para o carregador de inicialização. Esse espaço é mais do que o GRUB precisa se incorporar e, portanto, poderíamos usar 1 KB dele para um bloco de ambiente.

De qualquer forma, esse não é um problema novo que surgiu do uso de subvolumes, nem impede a inicialização (você recebe um aviso espúrio de "Pressione qualquer tecla para continuar", mas se você ignorá-lo, será inicializado de qualquer maneira). Fazendo o downgrade para a lista de desejos.

Espero que isto ajude

Allan
fonte
1
Você pode encontrar uma explicação sobre o motivo pelo qual ele solta esse erro? Obrigado. :)
JRG
No meu arquivo de configuração, a linha fica assim:if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env recordfail; fi; fi
FUZxxl 17/02/2012
1
Eu gostaria de comentar. Se ele falhar ao inicializar, você ainda poderá descomentar a linha usando um disco ao vivo
Allan
OK. Eu vou tentar isso.
FUZxxl
2
Bom, funciona!
FUZxxl
1

Estou executando um ramo de desenvolvimento do Raring Ringtail.
Eu tive o mesmo problema com um arquivo esparso não permitido. O GRUB não aparece e é inicializado diretamente no Ubuntu.

Eu estava lendo uma Linux Magazine (LXF), que tinha alguns artigos sobre recuperação e reparo de partições, arquivos, gerenciadores de inicialização e outras coisas.

Um dos autores do artigo mencionou uma ferramenta simples a ser usada ... Boot-Repair .
Essa ferramenta fez o truque para mim e, na minha opinião, deve ter um lugar de destaque nos repositórios do Ubuntu.

Adicione o Boot-Repair ao seu sistema:

  1. Abra uma janela do terminal e copie / cole / digite o seguinte:

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
    
  2. Copie / cole / digite o seguinte para instalar e iniciar o Reparo de Inicialização:

    sudo apt-get install -y boot-repair && boot-repair
    
  3. A GUI principal do Boot-Repair está visível agora.

    Click on a button called 'Recommended repair'.
    

    Deixe a ferramenta funcionar é 'mágica'.

  4. Quando o feitiço termina,

    create a little note of the url visible. 
    
  5. Reinicie o sistema e verifique se você pode acessar seus sistemas operacionais recuperados.

  6. Quando não houver sucesso, use o URL mostrado no final do reparo para procurar ajuda.

C Schilder
fonte
Eu não acho que isso ajude, já que este é um bug no grub em si.
FUZxxl
Por que você pensa isso? Eu fiz várias instalações virtuais da 13.04, todas com o mesmo problema. Editado o grub.cfg, sem resultados. Isso não resolveu a mensagem 'arquivo esparso não permitido' para mim. O GRUB também não era visível. Depois de experimentar a solução que forneci no meu post hoje cedo, funcionou como um encanto e ainda é.
C Schilder
Infelizmente não trabalhando em 14,04 Trusty amd64
loser114491