Ext4 (Français)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tango-preferences-desktop-locale.pngCet article ou section a besoin d'être traduit(e).Tango-preferences-desktop-locale.png

Notes: Cet article ne respecte pas la structure de sa version anglophone, merci de le réécrire en conséquence. Vous pouvez aussi ajouter à la version anglophone les informations à-jour et dignes d’intérêt qui ne seraient portées que par la version francophone. Voir Archwiki:Translation_Team_(Français) (Discuss in Talk:Ext4 (Français)#)

Ext4 est un « système de fichiers », c'est-à-dire une méthode de gestion (de stockage et d'accès aux données) propre à une partition de disque. Ext4 représentait en 2008 un progrès par rapport aux systèmes de fichiers Linux antérieurs, Ext2 et Ext3. Ext3 consistait principalement à journaliser les accès fichiers d'Ext2, alors que Ext4 modifie en profondeur la structure de données, avec des temps d'accès réduits et une meilleure fiabilité.

Création d'une partition etx4 à partir de rien.

  1. Mise à jour de votre système : pacman -Syu ;
  2. Formatage de la partition : mkfs.ext4 /dev/sdxY ;
  3. Monter la partition (mount) ;
  4. Ajouter l’entrée dans /etc/fstab , en utilisant le « type » ext4.

Migration d’une partition ext3 vers ext4.

Il y a deux façon de migrer une partition de ext3 vers ext4 :

  • Monter la partition ext3 comme une ext4 sans convertir (compatibilité) ;
  • Convertir la partition ext3 vers une ext4 (performance).

Ces approches sont décritent ci-dessous.

Monter une partition ext3 comme une ext4 sans conversion

Raisons :

Un bon compromis entre convertir pleinement en une partition ext4 et simplement rester avec une partition ext3 est de monter la partition ext3 existante comme une ext4.
Cela permet de garder la compatibilité car le système de fichier peut continuer à être monté comme une ext3. Ce qui permet à l’utilisateur de continuer à lire les fichiers à partir d’une autre distribution/OS que ne prendraient pas en charge l’ext4 (exemple Windows avec le pilote ext3).

Astuce: L’intérêt reste qu’il y a tout de même une augmentation des performances, mais pas autant qu’une pleine conversion en ext4.

Procédure :

  1. Éditer /etc/fstab et changer le « type » ext3 en ext4 pour toutes les partitions que vous voulez monter en ext4 ;
  2. Remonter (mount) les partitions affectées.

Et c'est tout.

Conversion d’une partition ext3 en ext4.

Pour une pleine expérience des joies de l’ext4, un procédé de conversion irréversible doit être fait augmentant ainsi les performances.

Attention: Cependant, la partition ne pourra être lue avec le pilote ext3 (notez qu’il n'y a pas de pilote ext4 disponible sous Windows). La partition ne pourra pas par la suite être « rétrogradée » en ext3.

Prérequis :

  • kernel26 >= 2.6.28
  • e2fsprogs >= 1.41

Si la version en ext4 concerne une partition /boot :

  • grub >= 0.97 (avec le patch ext4)
Attention: Le patch ext4 est inclus par défaut dans le paquet GRUB d’Arch pour démarrer directement sur une partition ext4.

GRUB2 permet le démarrage sur une partition ext4 de manière native.

Attention, toutefois ! Démarrer à partir d’une partition ext4 n'est pas officiellement pris en charge par GRUB et GRUB2 est encore en développement. Tant que GRUB restera en vigueur, le plus sûr est de démarrer à partir d'une partition /boot ext2 ou ext3

Si la conversion en ext4 concerne une partition racine (/) :

  • mkinitcpio >= 0.5.20

Le paquet suivant peut être utile sur un support amorçable (CD/USB) pour la migration de la partition racine :

  • e2fsprogs >= 1.41

Procédure :

  • Mise à jour du système : pour être sûr que les paquets requis soit à jour : pacman -Syu
  • Sauvegarde : faîre une sauvegarde des données importantes de la partition concernés, bien qu’ext4 soit considéré comme stable pour des usages courant, ça reste un procédé relativement jeune.
  • Éditer /etc/fstab et changer le type ext3 en ext4 pour toute partition à convertir.
Attention: À partir de la prochaine étape, il n’y a pas de retour arrière possible, le procédé est irréversible. Faire attention aussi si la partition est partagée avec un autre OS qui ne lit pas encore ext4, notamment Windows mais aussi d’autres distributions GNU/Linux.

Le procédé de conversion avec e2fsprogs doit être effectué lorsque la partition n’est pas montée. Si cela concerne la racine (/), le plus simple est de le faire à partir d’une session live comme décris dans la section Prérequis.

  • Démarrez sur le live (si nécessaire).
  • Assurez vous que la partition n'est pas montée.
  • Effectuer :
tune2fs -O extent,uninit_bg,dir_index /dev/la_partition

(avec /dev/la_partition remplacé par le chemin de la partition souhaité, par exemple : /dev/sda1)

  • Effectuer :
fsck -fp /dev/the_partition
Attention: vous devez effectuer un « fsck » sur la partition sinon celle-ci sera illisible !

Ce fsck est nécessaire pour remettre les fichiers dans un état « cohérant ». Il trouvera des checksum errors mais il ne faut pas s’inquiéter de ça, c’est normal.

Le paramètre }f demande au fsck de forcer la vérification même si le système de fichier semble correct. Le paramètre -p demande une réparation automatique sinon il demandera confirmation à chaques erreurs rencontrées.
  • Redémarrer Archlinux
Attention: Si il s’agit d’une conversion de la racine (/) un kernel panic peut survenir lors du redémarrage. Si cela arrive, il faut simplement redémarrer en mode fallback puis recréer le ramdisk par défaut : mkinitcpio -p kernel26

Dépannage

GRUB Error 13

Suite à une mise à jour du noyau, on peut être confronté à une erreur GRUB lorsque celui-ci s’apprête à démarrer sur une partition /boot de type ext4 :

 Error 13: Invalid or unsupported executable format

La solution est de démarrer à partir d’un liveCD ou liveUSB et de faire un chroot sur l’installation ArchLinux :

 mkdir /mnt/arch
 mount -t ext4 /dev/sda1 /mnt/arch
 mount -t proc proc /mnt/arch/proc
 mount -t sysfs sys /mnt/arch/sys
 mount -o bind /dev /mnt/arch/dev
 chroot /mnt/arch /bin/bash

Si /boot est sur une partition séparée, celle-ci doit aussi être montée :

 mount -t ext4 /dev/sda2 /boot

Ensuite, la command suivant doit résoudre le problème :

 grub-install --recheck /dev/sda