Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati

Versione 9 del 30/10/2021 15.34.53

Nascondi questo messaggio


Guida verificata con Ubuntu: 20.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Btrfs-convert è uno strumento per convertire il formato di un filesystem al filesystem btrfs, utile per modificare a posteriori il tipo scelto per una partizione.

Sono convertibili i filesystem ext2, ext3, ext4 e reiserfs.

Per convertire tra filesystem semplici leggere questa pagina.

Questa procedura necessita di essere eseguita o da un sistema avviato in live, oppure da un sistema installato su un secondo disco.

Operando sulle partizioni si corre il rischio, in caso di errore, di perdere i dati presenti sul disco rigido. È fortemente raccomandato di munirsi di una copia di backup dei propri dati prima di proseguire.

Il processo di conversione richiederà almeno un minuto per ogni GB della partizione da convertire (per esempio una partizione di 10 GB richiederà almeno 10 minuti per essere convertita).

È importante che la partizione che si desidera formattare abbia uno spazio libero residuo di almeno il 10%.

Installazione

Ubuntu 20.04 e successive

Installare il pacchetto btrfs-progs.

Ubuntu 18.04

Il pacchetto btrfs-prosg presente nei repository di Ubuntu 18.04 è una versione obsoleta priva del programma btrfs-convert, necessario per eseguire la conversione, nonché di alcune funzioni e dalle prestazioni talora carenti.

Pertanto occorre scaricare e installare la versione del pacchetto presente nel repository per il rilascio 20.04, ora distribuito sotto forma di suite con più pacchetti.

  1. Scaricare da questo indirizzo i seguenti pacchetti in formato di file .deb:

    btrfs-progs_5.4.1-2_amd64.deb
    libbtrfs0_5.4.1-2_amd64.deb
    libbtrfsutil1_5.4.1-2_amd64.deb
  2. Installare i pacchetti scaricati.

Uso del programma

Operazioni preliminari

Nel seguente esempio viene convertita nel filesystem btrfs la partizione /dev/sda3 con filesystem ext4.

  1. Individuare la partizione da convertire digitando nel terminale il seguente comando:

    sudo blkid

    che restituirà un output simile al seguente:

    /dev/sda1: UUID="CA49-3B2C" TYPE="vfat"
    /dev/sda2: UUID="72C0DE8EC0DE57C5" LABEL="windows" TYPE="ntfs"
    /dev/sda3: UUID="f6e9afa7-5b2f-2c3d-af00-aff1122b6fd6" TYPE="ext4"
    /dev/sda4: UUID="8c4e69f8-5074-42c0-8134-0b2429c4c02c" TYPE="swap"
    /dev/sdb1: UUID="4848-E35A" TYPE="vfat"
  2. Smontare la partizione da convertire:

    sudo umount -t ext4 /dev/sda3
  3. Verificare il filesystem da convertire:

    sudo fsck.ext4 /dev/sda3

Conversione

  1. Convertire il filesystem:

    btrfs-convert /dev/sda3
  2. Montare la partizione convertita, con uno dei seguenti comandi:
    • Senza compressione:

      sudo mount -t btrfs /dev/sda3 /mnt
    • Abilitando la compressione (consigliato):

      sudo mount -t btrfs -o compress=zstd:1 /dev/sda3 /mnt
  3. Listare i subvolumi:

    sudo btrfs subvolume list /mnt
  4. Eliminare il subvolume di backup del vecchio filesystem:

    sudo btrfs subvolume delete /mnt/ext2_save
  5. Creare lo snapshot del subvolume genitore e rinominarlo in @ per usare i snapshot:

    sudo btrfs subvolume snapshot /mnt/ /mnt/@
  6. Creare il subvolume @Home:

    sudo btrfs subvolume create /mnt/@home
  7. Spostare i dati della vecchia Home nel subvolume @Home:

    sudo mv /mnt/@/home/* /mnt/@home/
  8. Verificare che tutte le cartelle siano al loro posto:

    ls /mnt
  9. Solo se si usa la compressione, digitare i seguenti comandi:
    • Deframmentare il volume radice:

      sudo btrfs filesystem defragment -r -v -f -czstd /mnt/@
    • Deframmentare il volume home:

      sudo btrfs filesystem defragment -r -v -f -czstd /mnt/@home
    • Bilanciare i due volumi:

      sudo btrfs balance start -m /mnt/
  10. Opzionalmente rimuovere le cartelle originali:

    find /mnt -maxdepth 1 -type d -not -path '*/@*' -not -name "." -execdir sudo rm -r "{}" \;

Accesso al sistema con Chroot

  1. Eseguire un Chroot alla radice della partizione convertita, con uno dei seguenti comandi:

    • Senza compressione:

      sudo mount -t btrfs /dev/sda3 /mnt
    • Con compressione (consigliato):

      sudo mount -t btrfs -o compress=zstd:1,subvol=@ /dev/sda3 /mnt
  2. Montare le cartelle dev, proc, sys, run:

    for i in dev proc sys run; do sudo mount --bind /$i /mnt/$i; done
  3. Effettuare il chroot sul sistema:

    sudo chroot /mnt
  4. Annotare il nuovo UUID delle cartelle @ e @home della partizione, visibile con il seguente comando:

    sudo blkid /dev/sda3
  5. Aprire con i privilegi di amministrazione e un editor di testo (si consiglia nano) il file /etc/fstab e commentare con un «#» la linea:

    UUID=f6e9afa7-5b2f-2c3d-af00-aff1122b6fd6 /               ext4    errors=remount-ro 0       1
  6. Incollare nel file le seguenti linee, scrivendo il nuovo UUID annottato in precedenza, a seconda dei casi con:
    • Senza compressione:

      UUID=NUOVO_UUID btrfs / noatime,autodefrag,subvol=@ 0 0
      UUID=NUOVO_UUID btrfs /home noatime,autodefrag,subvol=@home
    • Con compressione (consigliato):

      UUID=NUOVO_UUID btrfs / noatime,compress=zstd:1,autodefrag,subvol=@ 0 0
      UUID=NUOVO_UUID btrfs /home noatime,compress=zstd:1,autodefrag,subvol=@home
  7. Reinstallare e aggiornare il bootloader Grub con i comandi:

    grub-install /dev/sda
    update-grub2
  8. Installare il pacchetto btrfs-progs.

  9. Uscire dal Chroot:

    exit
  10. Smontare tutte le cartelle:

    cd ~
    for i in /dev /proc /sys /run /; do sudo umount -l /mnt$i; done
  11. Smontare la partizione convertita:

    sudo umount -t btrfs -o subvol=@ /dev/sda3 /mnt

Al termine riavviare il sistema.

Ulteriori risorse

CategoryAmministrazione