Dimensione: 9959
Commento:
|
Dimensione: 9844
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 16: | Linea 16: |
Tutte le operazioni devono essere svolte in una sessione [[Installazione/CreazioneLiveUsb/CreatoreDischiDiAvvio|Live]]. La partizione da convertire deve avere almeno il 10% di spazio disponibile. Una volta completata la procedura non sarà possibile tornare al file system precedente, a meno di non reinstallare il sistema.}}} | La partizione da convertire deve avere almeno il 10% di spazio disponibile. Una volta completata la procedura non sarà possibile tornare al file system precedente, a meno di non reinstallare il sistema.}}} |
Linea 19: | Linea 19: |
Di norma è preferibile eseguire un [[AmministrazioneSistema/BackupDelSistema|backup]] dei dati e [[Installazione/InstallareUbuntu|reinstallare]] '''Ubuntu''' scegliendo la voce '''[[Installazione/InstallareUbuntu#manu|Altro]]''' nella schermata '''[[Installazione/InstallareUbuntu#Tipo_di_installazione|Tipo di installazione]]''' e specificando '''file system btrfs con journaling''' per la partizione di root. La conversione del file system è una soluzione da valutare solo se la reinstallazione rappresenta un'opzione troppo difficoltosa o impossibile.}}} | Di norma è preferibile eseguire un [[AmministrazioneSistema/BackupDelSistema|backup]] dei dati e [[Installazione/InstallareUbuntu|reinstallare]] '''Ubuntu''' scegliendo la voce '''[[Installazione/InstallareUbuntu#manu|Altro]]''' nella schermata '''[[Installazione/InstallareUbuntu#Tipo_di_installazione|Tipo di installazione]]''' e specificando '''file system btrfs con journaling''' per la partizione di root. La conversione del file system è una soluzione non esente da rischi da valutare solo se la reinstallazione rappresenta un'opzione troppo difficoltosa o impossibile.}}} |
Linea 25: | Linea 25: |
= Installazione = | = Operazioni preliminari = |
Linea 27: | Linea 27: |
== Ubuntu 20.04 e successive == | 0. Avviare una sessione ''[[Installazione/CreazioneLiveUsb/CreatoreDischiDiAvvio|live]]'' del [[Rilasci|rilascio]] più recente di '''Ubuntu''' (minimo '''20.04'''). {{{#!wiki note Se il sistema da convertire è stato installato in modalità [[AmministrazioneSistema/Uefi|UEFI]], assicurarsi di avviare la sessione live [[AmministrazioneSistema/Uefi#Avvio_della_Live|in tale modalità]].}}} {{{#!wiki note In alternativa è possibile operare da un altro sistema '''Ubuntu''' installato in dual boot. In tal caso per operare da '''Ubuntu 20.04''' o successivo sarà necessario [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://btrfs-progs|btrfs-progs]] presente nei repository. Invece per '''Ubuntu 18.04''' scaricare ed [[AmministrazioneSistema/InstallareProgrammi/PacchettiDebian|installare manualmente]] i pacchetti [[http://ubuntu.mirror.garr.it/ubuntu/pool/main/b/btrfs-progs/btrfs-progs_5.4.1-2_amd64.deb|btrfs-progs_5.4.1-2_amd64.deb]], [[http://ubuntu.mirror.garr.it/ubuntu/pool/main/b/btrfs-progs/libbtrfs0_5.4.1-2_amd64.deb|libbtrfs0_5.4.1-2_amd64.deb]] e [[http://ubuntu.mirror.garr.it/ubuntu/pool/main/b/btrfs-progs/libbtrfsutil1_5.4.1-2_amd64.deb|libbtrfsutil1_5.4.1-2_amd64.deb]].}}} 0. [[Hardware/DispositiviPartizioni/IndividuarePartizioni|Individuare]] la partizione da convertire. {{{#!wiki note In tutte le fasi successive di questa guida, a titolo di esempio, viene convertita nel file system '''btrfs''' la partizione '''/dev/sda3''' con file system '''ext4'''.}}} 0. Verificare l'integrità del file system da convertire digitando il seguente comando nel [[RigaDiComando|terminale]]:{{{ sudo fsck.ext4 -f /dev/sda3}}} |
Linea 29: | Linea 40: |
[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://btrfs-progs|btrfs-progs]]. <<Anchor(btrfsprogs)>> == 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. 0. Scaricare da questo [[http://it.archive.ubuntu.com/ubuntu/pool/main/b/btrfs-progs|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 }}} 0. [[AmministrazioneSistema/InstallareProgrammi/PacchettiDebian|Installare]] i pacchetti scaricati. = Uso del programma = == Operazioni preliminari == Nel seguente esempio viene convertita nel file system '''btrfs''' la partizione '''/dev/sda3''' con file system '''ext4'''. 0. Individuare la partizione da convertire digitando nel [[AmministrazioneSistema/Terminale|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" }}} 0. Verificare il file system da convertire:{{{ sudo fsck.ext4 /dev/sda3 }}} == Conversione == |
= Conversione = |
Linea 133: | Linea 109: |
== Accesso al sistema con Chroot == | = Accesso al sistema con Chroot = |
Guida verificata con Ubuntu: 20.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
btrfs-convert è uno strumento che consente di convertire partizioni formattate in ext2, ext3, ext4 o reiserfs nel file system btrfs. L'operazione può richiedere molto tempo, circa 1 minuto per GB.
Questa guida spiega come utilizzare btrfs-convert per convertire in btrfs la partizione di root di Ubuntu, considerando un sistema installato in unica partizione (eccetto l'eventuale partizione EFI per i sistemi UEFI). Vengono inoltre illustrate tutte le operazioni successive necessarie per rendere il sistema avviabile, efficiente e performante.
La partizione da convertire deve avere almeno il 10% di spazio disponibile. Una volta completata la procedura non sarà possibile tornare al file system precedente, a meno di non reinstallare il sistema.
Di norma è preferibile eseguire un backup dei dati e reinstallare Ubuntu scegliendo la voce Altro nella schermata Tipo di installazione e specificando file system btrfs con journaling per la partizione di root. La conversione del file system è una soluzione non esente da rischi da valutare solo se la reinstallazione rappresenta un'opzione troppo difficoltosa o impossibile.
Operare sulle partizioni espone al rischio di perdere i dati, in conseguenza di eventuali errori o malfunzionamenti. Pertanto è fortemente raccomandato effettuare un backup dei propri dati prima di procedere.
Operazioni preliminari
Avviare una sessione live del rilascio più recente di Ubuntu (minimo 20.04).
Se il sistema da convertire è stato installato in modalità UEFI, assicurarsi di avviare la sessione live in tale modalità.
In alternativa è possibile operare da un altro sistema Ubuntu installato in dual boot. In tal caso per operare da Ubuntu 20.04 o successivo sarà necessario installare il pacchetto btrfs-progs presente nei repository. Invece per Ubuntu 18.04 scaricare ed installare manualmente i pacchetti btrfs-progs_5.4.1-2_amd64.deb, libbtrfs0_5.4.1-2_amd64.deb e libbtrfsutil1_5.4.1-2_amd64.deb.
Individuare la partizione da convertire.
In tutte le fasi successive di questa guida, a titolo di esempio, viene convertita nel file system btrfs la partizione /dev/sda3 con file system ext4.
Verificare l'integrità del file system da convertire digitando il seguente comando nel terminale:
sudo fsck.ext4 -f /dev/sda3
Conversione
Convertire il file system:
sudo btrfs-convert /dev/sda3
- Montare la partizione convertita, con uno dei seguenti comandi:
Mount con le opzioni di default, senza compressione:
sudo mount -t btrfs /dev/sda3 /mnt
Mount abilitando la compressione (consigliato):
sudo mount -t btrfs -o compress=zstd:1 /dev/sda3 /mnt
Eliminando lo snapshot ext2_saved, non si potrà più ripristinare la partizione ext4.
Eliminare il volume ext2_saved per liberare spazio
sudo btrfs subvolume delete /mnt/ext2_saved
- Questa procedura ti da la possibilità di dividere i volumi root e home, per sfruttare le funzionalità di Btrfs, ad esempio gli snapshot.
Creare lo snapshot della partizione Btrfs e rinominarlo in @:
sudo btrfs subvolume snapshot /mnt/ /mnt/@
Creare il subvolume della cartella /home:
sudo btrfs subvolume create /mnt/@home
Spostare i dati della vecchia Home nel subvolume @home:
sudo mv /mnt/@/home/* /mnt/@home/
- È fortemente consigliato deframmentare i volumi e bilanciare il file system. Il nuovo file system eredita il posizionamento dei blocchi e la frammentazione dei dati dei file. Per questo motivo si consiglia vivamente di eseguire una deframmentazione completa e un ribilanciamento completo prima dell'uso in "produzione". Non è necessario per il funzionamento generale, ma influirà sulle prestazioni. Questa procedura eliminerà la possibilità di ripristinare il file system precedente.
Prima di procedere al defrag e bilanciamento, controllare che il volume ext2_saved sia del tutto rimosso:
sudo btrfs subvolume list -d /mnt/
Se è in fase di eliminazione, si vedrà a schermo un risultato simile ID 1020 gen 4140456 top level 0 path DELETED, se è stato rimosso non restituirà nessun risultato, quindi si può procedere.
- Procedura per deframmentare senza comprimere i dati:
Deframmentare il subvolume @:
sudo btrfs filesystem defragment -rf /mnt/@
Deframmentare il volume @home:
sudo btrfs filesystem defragment -rf /mnt/@home
Procedura per deframmentare e comprimere i dati con l'algoritmo zstd livello 3:
Deframmentare il volume @:
sudo btrfs filesystem defragment -rf -czstd /mnt/@
Deframmentare il volume @home:
sudo btrfs filesystem defragment -rf -czstd /mnt/@home
Bilanciare il file system:
sudo btrfs balance start /mnt/
Aspettiamo il Timer di 10 secondi con un avviso di un full-balance che potrebbe richiedere molto tempo, in base alla dimensione del file system.
Opzionalmente rimuovere le cartelle originali (QUESTO é ROTTO E DA SISTEMARE O EVITARE):
find /mnt -maxdepth 1 -type d -not -path '*/@*' -not -name "." -execdir sudo rm -r "{}" \;
Terminato il bilanciamento, possiamo smontare la partizione:
sudo umount /mnt/
Accesso al sistema con Chroot
Eseguire un Chroot alla radice della partizione convertita, con uno dei seguenti comandi:
Senza compressione:
sudo mount -t btrfs -o subvol=@ /dev/sda3 /mnt
Con compressione (consigliato):
sudo mount -t btrfs -o compress=zstd:1,subvol=@ /dev/sda3 /mnt
Montare la partizione EFI (Solo su BIOS UEFI):
sudo mount /dev/sdaN /mnt/boot/efi
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=@ UUID=NUOVO_UUID btrfs /home noatime,autodefrag,subvol=@home
Con compressione (consigliato):
UUID=NUOVO_UUID btrfs / noatime,compress=zstd:1,autodefrag,subvol=@ UUID=NUOVO_UUID btrfs /home noatime,compress=zstd:1,autodefrag,subvol=@home
Se presente eliminare la riga dello swapfile, su Btrfs deve essere creato su un subvolume separato e con l'attributo nocow
Reinstallare e aggiornare il bootloader Grub con i comandi:
grub-install /dev/sda
update-grub2
In Ubuntu 20.04 e successive Installare direttamente il pacchetto btrfs-progs, in Ubuntu 18.04 seguire le procedure di questo paragrafo per 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.