Dimensione: 7369
Commento:
|
Dimensione: 7384
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 84: | Linea 84: |
sudo mount -t btrfs -o compress=zstd:1 | sudo mount -t btrfs -o compress=zstd:1 /dev/sda3 /mnt |
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.
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
Installare i pacchetti scaricati.
Uso del programma
Operazioni preliminari
Nel seguente esempio viene convertita nel filesystem btrfs la partizione /dev/sda3 con filesystem ext4.
Individuare la partizione da convertire digitando nel terminale il seguente comando:
sudo blkid
che restituirà ad esempio questo output:
/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"
Smontare la partizione da convertire:
sudo umount -t ext4 /dev/sda3
Verificare il filesystem da convertire:
sudo fsck.ext4 /dev/sda3
Conversione
Convertire il filesystem:
btrfs-convert /dev/sda3
- 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
Listare i subvolumi:
sudo btrfs subvolume list /mnt
Eliminare il subvolume di backup del vecchio filesystem:
sudo btrfs subvolume delete /mnt/ext2_save
Creare lo snapshot del subvolume genitore e rinominarlo in @ per usare i snapshot:
sudo btrfs subvolume snapshot /mnt/ /mnt/@
Creare il subvolume @Home:
sudo btrfs subvolume create /mnt/@home
Spostare i dati della vecchia Home nel subvolume @Home:
sudo mv /mnt/@/home/* /mnt/@home/
Verificare che tutte le cartelle siano al loro posto:
ls /mnt
- 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/
Opzionalmente rimuovere le cartelle originali:
find /mnt -maxdepth 1 -type d -not -path '*/@*' -not -name "." -execdir sudo rm -r "{}" \;
Accesso al sistema con Chroot
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
Montare le cartelle dev, proc, sys, run:
for i in dev proc sys run; do sudo mount --bind /$i /mnt/$i; done
Effettuare il chroot sul sistema:
sudo chroot /mnt
Annotare il nuovo UUID delle cartelle @ e @home della partizione, visibile con il seguente comando:
sudo blkid /dev/sda3
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
- 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
Reinstallare w aggiornare il bootloader Grub con i comandi:
grub-install /dev/sda
update-grub2
Installare il pacchetto btrfs-progs.
Uscire dal Chroot:
exit
Smontare tutte le cartelle:
cd ~ for i in /dev /proc /sys /run /; do sudo umount -l /mnt$i; done
Smontare la partizione convertita:
sudo umount -t btrfs -o subvol=@ /dev/sda3 /mnt
Al termine riavviare il sistema.