Hoje é possível trocar o sistema de arquivos EXT4 para BTRFS sem precisar formatar o sistema do zero, pra isso usamos o utilitário de conversão btrfs-convert.
Usando o btrfs-convert além de você trocar o formato EXT4 para BTRFS você ainda pode reverter a conversão caso não tenha gostado, porque o utilitário cria um backup do sistema de arquivos antigo para uma pasta chamada ext2_saved.
No meu caso, eu acabei perdendo essa pasta, portanto eu perdi a possibilidade de reverter a conversão do sistema de arquivos, e agora?
Existem muitos tutoriais que ensinam a converter EXT4 para BTRFS sem perder dados e sem precisar reformatar o PC, mas converter BTRFS pra EXT4 é diferente, parece que não existe um utilitário pra isso igual aquele btrfs-convert.
Muitos sites simplesmente recomendam formatar o HD e reinstalar o sistema, mas eu procurei meios de trocar o sistema de arquivos sem precisar pelo menos reinstalar o sistema, hoje estou aqui para compartilhar um método para trocar o sistema de arquivos BTRFS de volta para EXT4 sem precisar reinstalar o sistema.
Conteúdo
- Backup
- Live CD do sistema
- Formatar o HD do sistema
- Monte a partição formatada
- Restaure o backup dos arquivos
- Reconfigurar o fstab
- Reconfigurar o grub do sistema
- Usando o Chroot para acessar o sistema
- Referencias
1. Backup
Primeiro nós precisaremos fazer o backup dos arquivos que estão no HD onde o sistema está instalado.
Há várias opções para se fazer isso, mas vamos usar o comando rsync que vai fazer isso de maneira simples.
Precisamos abrir o terminal e usar esse comando:
$ sudo rsync -aAXv / –exclude={“/dev/“,”/proc/“,”/sys/“,”/tmp/“,”/run/“,”/mnt/“,”/media/“,”/lost+found”} <destino>
troque pelo endereço do diretório onde vamos salvar esse backup.
Por exemplo: /media/marcos/HD/bkp_ssd_linux/ (uma pasta que está em outro HD/partição)
No meu caso o comando vai ficar assim:
$ sudo rsync -aAXv / –exclude={“/dev/“,”/proc/“,”/sys/“,”/tmp/“,”/run/“,”/mnt/“,”/media/“,”/lost+found”} /media/marcos/HD/bkp_ssd_linux/
2. Live CD do sistema
Depois de fazer o backup, vamos precisar usar uma LiveCD de alguma distro, com ela vamos formatar a partição do sistema, restaurar os arquivos e reconfigurar o GRUB, etc.
Enfim, baixe alguma LiveCD ou use a ISO do sistema que você instalou no PC, no meu caso será o KDE Neon 22.04
3. Formatar o HD do sistema.
Depois de dar boot no LiveCD do sistema, vamos ter que usar alguma ferramenta para formatar o HD, eu costumo usar o gparted. O objetivo aqui é simples, vamos apagar a partição do sistema que está em BTRFS e criar uma outra em EXT4.
No meu caso, a partição do sistema fica em /dev/sdb2.
4. Monte a partição formatada
Depois que de criar a partição com o formato EXT4, basta fazer a montagem.
No terminal use o comando:
$ sudo mount /dev/sdb2 /mnt
A partição do sistema (/dev/sdb2) vai ser montada no diretório /mnt
5. Restaure o backup dos arquivos
Agora que a partição do sistema está montada, vamos restaurar os arquivos do sistema.
Abra o terminal e use o comando:
$ sudo rsync -aAXv <origem_backup> <destino>
é o local de backup dos diretórios do sistema (/bin /etc /lib… entre outros).
será o diretório onde a partição do sistema está montada (/mnt)
Veja como fica no meu caso:
$ sudo rsync -aAXv /media/marcos/HD/bkp_ssd_linux/ /mnt
Aguarde a conclusão do processo.
6. Reconfigurar o fstab
Depois de restaurar os arquivos do sistema na partição do sistema, que agora está em EXT4, vamos precisar editar o arquivo /etc/fstab e atualizar as informações referente a partição do sistema, principalmente o UUID e o sistema de arquivos.
Edite o arquivo fstab com o comando:
$ sudo nano /mnt/etc/fstab
Procure por algo assim:
UUID=6bb86066–5a14–42b2-b2cb-c5d2ae4303d0 / btrfs defaults 0 0
Aqui vamos precisar trocar o UUID e substituir o btrfs por ext4, ficando assim:
UUID=30bb1f16-f4c7–4807-bfa5-ed8b872304b5 / ext4 defaults 0 0
Para descobrir o atual UUID basta usar o comando:
$ sudo blkid /dev/sdb2
/dev/sdb2 é um exemplo
Depois de fazer as alterações, aperte Ctrl + X e depois Y ou S para salvar.
7. Reconfigurar o grub do sistema
Depois de editar o arquivo fstab só falta reconfigurar o grub do sistema.
Abra o terminal e digite:
$ kate /mnt/boot/grub/grub.cfg
kate é o nome do editor de texto que eu uso no KDE, se você usa GNOME então o é gedit, no MATE é o xed, etc.
Ao abrir o arquivo, basta substituir todos os “insmod btrfs” por “insmod ext2” (é ext2 mesmo)
Depois salve o arquivo.
8. Usando o Chroot para acessar o sistema
Agora só falta acessar o sistema da partição restaurada para reconfigurar o boot.
Use os comandos abaixo:
# touch /mnt/.autorelabel
# mount -t proc none /mnt/proc && mount -t sysfs none /mnt/sys && mount -o bind /dev /mnt/dev && mount -o bind /dev/pts /mnt/dev/pts
# chroot /mnt bash
Com isso estamos acessando o bash do sistema do sistema restaurado, agora podemos atualizar o boot do sistema.
Use o comando abaixo:
Para BIOS Legacy/CSM:
# grub-install --target=i386-pc /dev/sdb1 (exemplo)
(/dev/sdb1 partição de boot, costuma estar em FAT32 e sua capacidade é 8Mb, pode variar dependendo do sistema)
Para UEFI:
# mount /boot/efi
# grub-install --efi-directory=/boot/efi
# grub-mkconfig -o /boot/grub/grub.cfg
Reinicie o PC
Com isso está terminado, seu sistema está em uma partição EXT4 e deverá dar boot normalmente.
Pode ser necessário reconfigurar a Memória SWAP, recomendo seguir os procedimentos no artigo do Diolinux, tal artigo serviu como referencia para este tutorial.
Como converter EXT4 para BTRFS sem perder dados