News - Logiciels Libres

Passer de EXT4 à BTRFS sur sa partition racine : Test sur Manjaro

| | Logiciels Libres | 8 Commentaires | 1153
Passer de EXT4 à BTRFS sur sa partition racine : Test sur Manjaro
Salut à tous,

Suite à la récente vidéo de mon ami Scott Viger et de mes tests sur les systèmes de fichiers, il s'est révélé que BTRFS était le plus rapide sur HDD.
Un internaute m'a interpellé me demandant de l'aide pour passer sa partition racine d'Arch Linux de EXT4 à BTRFS.
Par souci de simplicité, j'ai fait le test avec Manjaro.
Attention, une fois en BTRFS la marche arrière n'est pas possible !

Ma partition racine est /dev/sda1, en EXT4 évidemment.
La migration se fait avec la commande btrfs-convert mais doit se faire système de fichiers démonté.

Donc voici le mode d'emploi.

Premièrement, SAUVEGARDEZ BIEN VOS DONNÉES L’OPÉRATION N’EST PAS SANS RISQUES !!!!!
Deuxième étape, démarrez sur le DVD de votre distribution Linux installée.
Exécutez la commande
btrfs-convert /dev/sda1

Une fois le processus terminé, il faudra chrooter votre système. Pour les détails des manipulations je vous recommande mon excellent article : Chrooter un système Linux :siffle:

Une fois dans le chroot, relevez le nouveau UUID de la partition :
Code BASH :
blkid


Éditez ensuite le fichier fstab en complétant le nouvel UUID et changez le type ext4 en btrfs :

Exemple avant :
Code BASH :
UUID=aaaaaa-aaaaaa-aaaaaa-aaaaaa       /       ext4    defaults,noatime 0 1


Exemple après :
Code BASH :
UUID=bbbbbbb-bbbbbb-bbbbbb-bbbbb       /       btrfs    defaults,noatime 0 1


Une fois terminé, regénérez le fichier initramfs si vous en avez un (ou réinstallez le kernel, le script de post-install régénérera le fichier aussi).
Manjaro avec un kernel 4.4:
Code BASH :
mkinitcpio -p linux44


Ensuite, il faut refabriquer le grub.cfg qui contient des UUID aussi :
Code BASH :
grub-mkconfig -o /boot/grub/grub.cfg

ou
Code BASH :
update-grub


N'oubliez pas de réinstaller GRUB sur le disque :
Code BASH :
grub-install /dev/sda


Rebootez et constatez !

Si vous avez comme moi l'erreur sparse file not allowed, éditez votre fichier /etc/default/grub, et changez cette ligne
Code BASH :
GRUB_SAVEDEFAULT=true

en
Code BASH :
GRUB_SAVEDEFAULT=false


Ensuite, il faut refabriquer le grub.cfg qui contient des UUID aussi :
Code BASH :
grub-mkconfig -o /boot/grub/grub.cfg

ou
Code BASH :
update-grub


En effet GRUB2 a du mal à écrire sa dernière config sur BTRFS (soucis d'écriture).

Rebootez et constatez que ça fonctionne !!!

Allé dernier rappel si vous voulez vous lancer SAUVEGARDEZ BIEN VOS DONNÉES L’OPÉRATION N’EST PAS SANS RISQUES !!!!!

Voici le tout en action et en vidéo :

N'hésitez pas à sélectionner la qualité HD en 720p ou 1080p !