Messaggio "File sparso non consentito" dopo l'installazione su un filesystem btrfs


25

Ho installato Ubuntu senza creare una partizione di swap e con /su un btrfs. # Ora ricevo il messaggio "File sparse non consentito" ad ogni avvio. Questo messaggio appare prima della schermata iniziale. C'è un modo per uccidere questo avviso?


Sul mio sistema, premere un tasto non fa nulla, è bloccato!
Michael,

1
la soluzione nel 2016 è di impostare GRUB_SAVEDEFAULT=falsein /etc/default/grub& runupdate-grub
Stuart Cardall

Risposte:


33

OK dopo aver rovistato un po 'ho trovato un modo per sbarazzarsi di questo problema almeno temporaneamente, è abbastanza semplice ma non ho il mio sistema impostato con btrfs, quindi non posso confermare questa correzione.

commentare o rimuovere questa riga:

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

in questo file

/etc/grub.d/00_header

quindi corri

update-grub

il motivo per cui non si modifica /boot/grub/grub.cfgdirettamente è che verrà sovrascritto ogni volta che grub viene aggiornato in questo caso dovresti solo "rifare" la correzione se i pacchetti comuni di grub vengono aggiornati.

Questo è il bug sul launchpad se vuoi aggiungerti al bug # 736743

Citando Colin Watson dalla segnalazione di bug

Questo è in realtà un messaggio di errore fuorviante: ciò che sta accadendo è che l'implementazione di btrfs di GRUB non implementa l'interfaccia hook di lettura dei file per riportare le block list al codice chiamante. Ho postato su grub-devel su questo e il manutentore a monte ha sottolineato che, a parte problemi multi-dispositivo, scrivere su btrfs da GRUB è fondamentalmente rischioso perché:

lo stesso blocco può essere utilizzato da più istantanee ogni albero che utilizza un determinato blocco conterrà il suo checksum e così via ricorsivamente

Tuttavia, btrfs riserva spazio all'inizio per il boot loader. Questo spazio è più di quanto GRUB abbia bisogno di incorporare se stesso, quindi potremmo usarne 1KB per un blocco di ambiente.

In ogni caso, questo non è un nuovo problema derivante dall'utilizzo dei sottovolumi, né impedisce l'avvio (si ottiene un prompt "Premi qualsiasi tasto per continuare" spurio, ma se lo si ignora si avvierà comunque). Declassamento alla lista dei desideri.

Spero che sia di aiuto


1
Riesci a trovare una spiegazione sul perché sputa questo errore per cominciare? Grazie. :)
giovedì

Nel mio file di configurazione, la riga è simile alla seguente:if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env recordfail; fi; fi
FUZxxl,

1
Vorrei commentare. Se non riesce ad avviarsi dovresti comunque essere in grado di decommentare la linea usando un disco live
Allan,

va bene. Lo proverò.
FUZxxl,

2
Bello, funziona!
FUZxxl,

1

Sto gestendo un ramo di sviluppo di Raring Ringtail.
Ho riscontrato lo stesso problema relativo a un messaggio di file non consentito non consentito. GRUB non si mostra affatto e si avvia direttamente su Ubuntu.

Stavo leggendo una rivista Linux (LXF), che conteneva alcuni articoli sul recupero e la riparazione di partizioni, file, bootloader e altre cose.

Uno degli autori dell'articolo ha menzionato un semplice strumento da utilizzare ... Boot-Repair .
Questo strumento ha funzionato per me e secondo me dovrebbe avere un posto di rilievo nei repository di Ubuntu.

Aggiungi Boot-Repair al tuo sistema:

  1. Apri una finestra del terminale e copia / incolla / digita quanto segue:

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
    
  2. Copia / incolla / digita quanto segue per installare e avviare Boot-Repair:

    sudo apt-get install -y boot-repair && boot-repair
    
  3. La GUI principale di Boot-Repair è ora visibile.

    Click on a button called 'Recommended repair'.
    

    Lascia che lo strumento faccia "magia".

  4. Quando l'incantesimo finisce,

    create a little note of the url visible. 
    
  5. Riavviare il sistema e verificare se è possibile accedere ai sistemi operativi ripristinati.

  6. Quando non c'è successo, usa l'URL mostrato alla fine della riparazione per cercare aiuto.


Non penso che sia d'aiuto poiché si tratta di un bug di grub stesso.
FUZxxl,

Perché pensi che? Ho fatto diverse installazioni virtuali di 13.04, tutte con lo stesso problema. Modificato grub.cfg, nessun risultato. Ciò non ha risolto affatto il messaggio "file sparsi non consentiti" per me. Neanche GRUB era nemmeno visibile. Dopo aver provato la soluzione che ho fornito nel mio post prima di oggi, ha funzionato come un fascino e lo è ancora.
C Schilder,

Purtroppo non funziona in 14.04 Trusty amd64
loser114491
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.