Comment convertir une partition Ext3 vers Ext4
Oyé oyé, l’ext3, célèbre système de fichiers utilisé dans toutes les distributions linux classiques va se voir remplacer prochainement par son successeur, l’ext4 !
En developpement depuis juin 2006 et arrivé à terme le 21 Octobre 2008, le support de l’ext4 a été intégré au kernel 2.6.28… et intégré à Ubuntu 9.04. Ext4 n’est qu’une évolution intermédiaire en attendant Btrfs mais on ne va pas cracher dans la soupe…
On va donc passer en revue les nouveautés puis après je vous expliquerai comment convertir vos partitions ext3 vers ext4… (pour les aventuriers).
Les nouveautés majeures de l’ext4 sont :
- Un support de volume allant jusqu’à 16 EB (exabytes, ou exaoctet, ce qui représente 1 024 pétaoctets ou 1 152 921 504 606 846 976 octets)
- L’ajout de la date de suppression (dtime) et de la date de création (crtime)
- Le support de la nanoseconde dans l’enregistrement des dates
- Support des dates jusqu’au 25 avril 2514 (préparez vous pour le bug d’avril 2514 !!)
- Le nombre maximum de fichiers est passé à 4 milliards (je n’ai pas les chiffres pour l’ext3)
- Et le nombre de sous-repertoires possibles est passé de 32 000 à 64 000
- Le support de gros fichiers jusqu’à 16 TB
- …etc
Intéressé ?
Sachez qu’une fois que vous aurez exécuté ces commandes, votre système de fichier ne sera plus “montable” en ext3. Ext4 en est à ses début, et il n’est surement pas sans bug… Bref, conservez quand même votre /boot sur une partition ext3 et sauvegardez vos données avant de faire une maxi boulette !!
Je vous déconseille vivement de faire les manips ci-dessous sur votre machine mais par contre, vous pouvez toujours vous amuser dans une machine virtuelle !!
Pour commencer, vous devez avoir le support d’Ext4 dans votre kernel. Recompilez votre noyau avec le patch ext4 ou si vous êtes sur Ubuntu, Fedora, Debian ou Ark Linux, allez voir là. Une fois que votre kernel est ext4 compatible, on va convertir le système de fichier ext3 existant en ext4. Par exemple, pour convertir ma partition /dev/sdb1 en ext4 :
cd /
umount /dev/sdb1
tune2fs -O extents,uninit_bg,dir_index /dev/sdb1
fsck -pf /dev/sdb1
Ensuite pour monter cette nouvelle partition, c’est très simple :
mount -t ext4 /dev/sdb1 /votre_chemin
ce qui donne :
mount -t ext4 /dev/sdb1 /partage
ou encore :
mount -t ext4 /dev/disk/by-uuid/VOTRE-PARTITION-UUID /partage
Et maintenant, le truc le plus risqué, booter sur un système ext4 (/boot). Ouvrez le fichier /boot/grub/menu.lst et rajoutez le paramètre rootfstype=ext4 à la fin de la ligne relative à votre kernel.
Exemple :
title Ubuntu 8.10, kernel 2.6.28.1-vmware-guest-server root (hd0,1) kernel /boot/vmlinuz-2.6.28.1-vmware-guest-server root=UUID=8c2da865-13f4-47a2-9c92-2f31738469e8 ro quiet splash rootfstype=ext4 initrd /boot/initrd.img-2.6.28.1-vmware-guest-server quiet
Sauvegardez et fermez le fichier puis tapez la commande :
sudo update-grub
afin de mettre à jour votre grub.
Ensuite, il faut mettre à jour votre /etc/fstab afin de monter votre partition en ext4 au démarrage :
UUID=41c22818-fbad-4da6-8196-c816df0b7aa8 /partage ext4 defaults,errors=remount-ro,relatime 0 1
et pour finir, rebootez !!
sudo reboot
Croisez les doigts et si tout s’est bien passé, vous serez sur un système de fichier ext4 !! Félicitations :-)
[photo]