Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AmministrazioneSistema/Grub/Errori/ErroreSparseFileNotAllowed"
Differenze tra le versioni 9 e 10
Versione 9 del 07/06/2021 16.41.13
Dimensione: 2856
Commento:
Versione 10 del 07/06/2021 16.43.06
Dimensione: 2853
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 25: Linea 25:
  `hd0` si riferisce al primo disco fisso. Se la partizione si trova nel secondo disco usare `hd1`, per il terzo `hd2`, ecc...<<BR>>
  `gpt1` si riferisce alla prima partizione del disco, se questo è partizionato in GPT. Se invece è partizionato in MBR, usare la forma `msdos1`. Per riferirsi alla seconda partizione usare `gpt2` o `msdos2`, per la terza `gpt3` o `msdos3`, ecc...
 <<BR>>
  `hd0` si riferisce al primo disco fisso. Se la partizione si trova nel secondo disco scrivere `hd1`, per il terzo `hd2`, ecc...<<BR>>
  `gpt1` si riferisce alla prima partizione del disco, se questo è partizionato in GPT. Se invece è partizionato in MBR, usare la forma `msdos1`. Per riferirsi alla seconda partizione scrivere `gpt2` o `msdos2`, per la terza `gpt3` o `msdos3`, ecc...

Messaggio: «error: sparse file not allowed»

Questo errore può verificarsi su file system Btrfs o ZFS quando nel file /etc/default/grub sono state specificate le seguenti opzioni:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Queste opzioni specificano che Grub deve memorizzare la voce scelta dall'utente nel menù di avvio per poi riproporla al successivo avvio come valore di default. Grub scrive questo dato nel file grubenv, un file speciale della dimensione fissa di 1024 byte la cui posizione predefinita è nel percorso /boot/grub/. Tuttavia se il file grubenv si trova in una partizione con file system Btrfs o ZFS, Grub non può modificarlo e visualizza il messaggio error: sparse file not allowed.

Per risolvere questo errore è necessario spostare il file grubenv in una partizione che rispetti i seguenti requisiti:

  • Deve risiedere in un disco GPT o MBR, non RAID, LVM o altro.

  • Deve avere un file system come ext4, FAT32, NTFS o un altro file system che non implementi il checksum a livello di blocco.

A tal scopo nei sistemi UEFI può essere sfrutta la partizione EFI, che utilizza il file system FAT32. Se nel sistema non è presente una partizione che soddisfi questi requisiti, sarà necessario crearne una e montarla.

Procedere come segue:

  1. Spostare il file grubenv nella partizione designata digitando il seguente comando nel terminale:

    sudo mv /boot/grub/grubenv <puntodimontaggio>

    Sostituire <puntodimontaggio> con il punto di montaggio della partizione. Se si intende utilizzare la partizione EFI, il suo punto di montaggio predefinito è /boot/efi/.

  2. Aprire con i privilegi di amministrazione e con un editor di testo il file /etc/grub.d/00_header.

  3. All'inizio del file, subito dopo le note di copyright e di licenza, inserire una riga di questo tipo:

    GRUBENV="(hd0,gpt1)/grubenv"
    • hd0 si riferisce al primo disco fisso. Se la partizione si trova nel secondo disco scrivere hd1, per il terzo hd2, ecc...
      gpt1 si riferisce alla prima partizione del disco, se questo è partizionato in GPT. Se invece è partizionato in MBR, usare la forma msdos1. Per riferirsi alla seconda partizione scrivere gpt2 o msdos2, per la terza gpt3 o msdos3, ecc...

    L'indice usato da Grub per identificare le partizioni (gpt1, gpt2, ecc... oppure msdos1, msdos2, ecc...) si basa sull'ordine in cui queste si trova fisicamente sul disco, pertanto potrebbe non corrispondere all'indice usato dal sistema (sda1, sda2, ecc...) che invece è in ordine cronologico, ovvero in basa a quale partizione è stata creata prima.