Mensaje "Archivo disperso no permitido" después de instalar en un sistema de archivos btrfs

25

He instalado Ubuntu sin crear una partición de intercambio y con /un btrfs. # Ahora recibo el mensaje "El archivo disperso no está permitido" en cada arranque. Este mensaje aparece antes de la pantalla de inicio. ¿Hay alguna manera de matar esta advertencia?

FUZxxl
fuente
En mi sistema, presionar cualquier tecla no hace nada, ¡está atascado!
Michael
1
la solución en el año 2016 es la creación GRUB_SAVEDEFAULT=falsede /etc/default/grub& Runupdate-grub
Stuart Cardall

Respuestas:

33

OK, después de un poco de revolver, encontré una forma de deshacerme de este problema, al menos temporalmente, es bastante simple, sin embargo, no tengo mi sistema configurado con btrfs, así que no puedo confirmar esta solución.

comentar o eliminar esta línea:

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

o

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

en este archivo

/etc/grub.d/00_header

entonces corre

update-grub

la razón por la que no se edita /boot/grub/grub.cfgdirectamente es que se sobrescribirá cada vez que se actualice grub, en este caso solo tendría que "rehacer" la solución si se actualizan los paquetes comunes de grub.

Este es el error en la plataforma de lanzamiento si desea agregarse el error # 736743

Citando a Colin Watson del informe de error

Esto es en realidad un mensaje de error engañoso: lo que sucede es que la implementación btrfs de GRUB no implementa la interfaz de enlace de lectura de archivos para devolver las listas de bloqueo al código de llamada. Publiqué en grub-devel sobre esto y el responsable del mantenimiento señaló que, incluso aparte de los problemas de dispositivos múltiples, escribir en btrfs desde GRUB es fundamentalmente riesgoso porque:

múltiples instantáneas pueden usar el mismo bloque, cada árbol que use un bloque dado contendrá su suma de verificación, y así sucesivamente.

Sin embargo, btrfs reserva espacio al inicio para el cargador de arranque. Este espacio es más de lo que GRUB necesita para integrarse, por lo que podríamos usar 1 KB de él para un bloque de entorno.

En cualquier caso, este no es un problema nuevo que surgió del uso de subvolúmenes, ni impide el arranque (aparece un mensaje espurio "Presione cualquier tecla para continuar", pero si lo ignora, se iniciará de todos modos). Bajando de categoría a wishlist.

Espero que esto ayude

Alano
fuente
1
¿Puedes encontrar una explicación de por qué escupe este error para empezar? Gracias. :)
jrg
En mi archivo de configuración, la línea se ve así:if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env recordfail; fi; fi
FUZxxl
1
Yo comentaría Si no se inicia, igual deberías poder descomentar la línea usando un disco en vivo
Allan
bueno. Voy a probar esto
FUZxxl
2
Bien, funciona!
FUZxxl
1

Estoy ejecutando una rama de desarrollo de Raring Ringtail.
Experimenté el mismo problema sobre un mensaje no permitido de archivo disperso. GRUB no se muestra en absoluto y arranca directamente en Ubuntu.

Estaba leyendo una revista Linux (LXF), que tenía algunos artículos sobre cómo recuperar y reparar particiones, archivos, cargadores de arranque y otras cosas.

Uno de los escritores de artículos mencionó una herramienta simple para ser utilizada ... Reparación de arranque .
Esta herramienta me sirvió y, en mi opinión, debería ocupar un lugar destacado en los repositorios de Ubuntu.

Agregue Boot-Repair a su sistema:

  1. Abra una ventana de terminal y copie / pegue / escriba lo siguiente:

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
    
  2. Copie / pegue / escriba lo siguiente para instalar e iniciar Boot-Repair:

    sudo apt-get install -y boot-repair && boot-repair
    
  3. La GUI principal de Boot-Repair es visible ahora.

    Click on a button called 'Recommended repair'.
    

    Deje que la herramienta haga es 'magia'.

  4. Cuando el hechizo mágico termina,

    create a little note of the url visible. 
    
  5. Reinicie el sistema y verifique si puede acceder a sus sistemas operativos recuperados.

  6. Cuando no haya éxito, use la URL que se muestra al final de la reparación para buscar ayuda.

C Schilder
fuente
No creo que eso ayude, ya que este es un error en la propia comida.
FUZxxl
¿Por qué piensas eso? Hice varias instalaciones virtuales de 13.04, todas tenían el mismo problema. Editado el grub.cfg, sin resultados. Eso no resolvió el mensaje de 'archivo disperso no permitido' para mí. GRUB ni siquiera era visible tampoco. Después de probar la solución que proporcioné en mi publicación de hoy, funcionó de maravilla y todavía lo es.
C Schilder
Lamentablemente no funciona en 14.04 Trusty amd64
loser114491