Ceci est une ancienne révision du document !



Le système de fichiers ext4

Ext4 est une évolution du système de fichier ext3, qui est actuellement le système de fichier le plus utilisé sous Linux. Il présente de nombreux avantages et optimisations par rapport à l'ancienne version, tout en assurant une rétro-compatibilité. Ext4 vient d'être déclaré "stable", il sera possible de l'utiliser dans la 9.04 et est le système de fichier par défaut sous 9.10 .

Voir le benchmark des systèmes de fichier ext.

Si vous souhaitez tout de même l'utiliser sur une version plus ancienne, il vous faudra compiler votre noyau vous même ! (déconseillé pour l'utilisateur lambda)
  • Ext4 a une option : extents qui permet de limiter grandement et automatiquement la fragmentation du système de fichiers.
  • Ext4 défragmente les fichiers en arrière-plan en utilisant les ressources disponibles.
  • Ext4 est nativement présent depuis la distribution Fedora 9 et son utilisation est considérée comme stable depuis la version 2.6.28 du noyau Linux.
  • Ext4 présente des performances en hausse par rapport à Ext3, ReiserFS 3 et XFS comme en témoigne ce bench de Phoronix http://www.phoronix.com/scan.php?page=article&item=ext4_benchmarks&num=1
  • Avoir le support de l'ext4 dans le noyau (Ubuntu Jaunty ou noyau compilé à la main)
  • e2fsprogs 1.41.x (Ubuntu Intrepid)
  • Grub2 SVN au moins daté du 13 Juillet 2008 (à moins que votre /boot ne soit en ext3) ou le grub de Ubuntu Jaunty
  • Avoir fait une sauvegarde!
  • Avoir déjà une partition ext3 avec une taille d'inodes de 256 octets (pour vérifier utilisez la commande sudo tune2fs -l /dev/sda1|grep "Inode size" ) (pensez à remplacer sda1 par la partition ext3 correspondante le cas échéant, dans la commande précédente)

Dans mon cas, mon disk de données (/mount/disk/) avait des inodes de 128 octets, la conversion en ext4 avec la commande ci-dessous n'a pas posé de problème. Mais ⇒

http://ext4.wiki.kernel.org/index.php/Considerations_when_creating_ext3_filesystems#Inode_Size

Si vous avez tout ceci de prêt, vous pouvez lancer un LiveCD style Ubuntu, PartedMagic ou démarrer en recovery mode et choisir l'option shell root sans réseau. Ensuite tapez la commande:

# tune2fs -O extents,uninit_bg,dir_index /dev/sda1
# fsck -pf /dev/sda1

En remplaçant /dev/sda1 par votre partition ext3. N'oubliez pas de modifier le fichier /etc/fstab et de changer ext3 par ext4. Notez que vous pouvez tout à fait le faire avant de convertir votre partition, le pilote ext4 est compatible avec l'ext3. N'oubliez pas de faire des sauvegardes! On ne vous le répétera jamais assez! Une fois la partition root "/" convertie réinstaller grub :

# grub-install /dev/sda
Pour les ordinateurs tatoués et/ou qui s'amorcent en utilisant le ntldr :

Réinstaller le grub sur la partition où a été installé Ubuntu (par exemple, /dev/sda2), sinon, vous risquez de perdre le mbr.

Ne pas oublier de recopier le fichier d'amorce dans la partition windows avant de faire le reboot :

# sudo dd if=/dev/sdxY of=~/grub.bs bs=512 count=1

où sdxY est la partition sur laquelle est installé Ubuntu.

# mkdir /media/windows
# mount -t ntfs-3g /dev/sdwZ /media/windows

où sdwZ est la partition sur laquelle est installée Windows.

# cp /media/windows/grub.bs /media/windows/grub.bs.bak
# cp ~/grub.bs /media/windows/grub.bs
# umount /dev/sdwZ

Grub Error 13 / Grub Error 24

Si lors d'un futur redémarrage une de ces erreurs apparaît :

Error 13: Invalid or unsupported executable format

ou

Error 24: Cannot boot without kernel loaded

Cela signifie que vous n'avez pas réinstallé grub après une conversion, ou que vous avez installé grub depuis une installation d'Intrepid qui a été ensuite mise à jour vers Jaunty. Dans les deux cas, grub ne reconnaît pas votre partition ext4. Redémarrez avec un Live CD de Jaunty et entrez ces commandes :

# mkdir /media/ubuntu
# mount -t ext4 /dev/sda1 /media/ubuntu
# mount -t proc proc /media/ubuntu/proc
# mount -t sysfs sys /media/ubuntu/sys
# mount -o bind /dev /media/ubuntu/dev
# chroot /media/ubuntu
# grub-install /dev/sda
A faire aussi si vous avez des messages d'erreur lors de l'installation du grub.
Utilisez bien un Live CD de Jaunty, les versions de grub livrées avec les distributions antérieures ne gèrent pas l'ext4.
A noter qu'il subsiste encore des bugs concernant ext4 dans ubuntu 9.04 - Jaunty avec le kernel 2.6.28, un connaisseur de 'linux' s'en sortira, mais pour l'instant il est déconseillé pour un 'user basic' de passer d'ext3 à ext4 avec les bugs mentionnés. Il est possible de passer au kernel 2.6.29 (suivre l'aide).( Bug : 2.6.28 Voir la Liste des bugs de Jaunty, dont le freeze de l'interface quand suppression de plusieurs fichiers dans des conditions spécifiques )

Contributeurs: Fabien26 Nicolarius.

  • ext4.1257440016.txt.gz
  • Dernière modification: Le 18/04/2011, 14:41
  • (modification externe)