Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
ext4 [Le 29/09/2010, 12:58] Vincent85 |
ext4 [Le 02/10/2023, 12:22] (Version actuelle) 90.82.195.233 [Le système de fichiers ext4] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>systeme_de_fichiers}} | + | {{tag>système partitions}} |
---- | ---- | ||
====== Le système de fichiers ext4 ====== | ====== 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 est possible de l'utiliser dans la 9.04 et est le système de fichier par défaut sous 9.10 . | + | 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 est stable et est le système de fichier par défaut sous 9.10. |
+ | |||
+ | Cette page vous permettra de passer vos systèmes de fichiers ext2 ou ext3 en ext4 sans avoir à réinstaller ni copier vos fichier autre part. | ||
Voir [[benchmark#systeme_de_fichier_ext_contre_les_autres|le benchmark des systèmes de fichier ext]]. | Voir [[benchmark#systeme_de_fichier_ext_contre_les_autres|le benchmark des systèmes de fichier ext]]. | ||
- | <note help> | + | Outre le fait qu'il puisse gérer les volumes d'une taille allant jusqu'à un exbioctet (2<sup>60</sup> octets), la fonctionnalité majeure de ext4 est l'allocation par extent qui permettent la pré-allocation d'une zone contiguë pour un fichier, pour minimiser la fragmentation. L'option extent est active par défaut depuis le noyau Linux 2.6.23 ; avant cela, elle devait être explicitement indiquée lors du montage de la partition. |
- | Si vous souhaitez tout de même l'utiliser sur une version plus ancienne, il vous faudra [[kernel_2.6.29|installer un autre kernel manuellement]] ou [[tutoriel/comment_compiler_un_kernel_de_kernel.org|compiler votre noyau vous même !]] (déconseillé pour l'utilisateur lambda) | + | Le système de fichiers ext4 a une compatibilité ascendante avec ext3. C'est-à-dire qu'une partition ext3 peut toujours être montée comme ext4 (en utilisant le type de système de fichiers « ext4 » lors du montage). L'inverse est possible, à la condition que la partition ext4 n'ait jamais utilisé l'allocation par extents pour enregistrer des fichiers, mais l'allocation binaire comprise par ext3. Cette capacité de ext4 d'utiliser les formats de ext3 existe pour faciliter la conversion des partitions ext3 vers ext4. |
- | </note> | + | |
===== Nouveautés ===== | ===== Nouveautés ===== | ||
* Ext4 a une option : **extents** qui permet de limiter grandement et automatiquement la fragmentation du système de fichiers. | * 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 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 | + | * Ext4 présente des performances en hausse par rapport à Ext3, ReiserFS 3 et XFS comme en témoigne ce [[https://www.phoronix.com/scan.php?page=article&item=ext4_benchmarks&num=1|bench de Phoronix]] |
- | ]] | + | |
* Ext4 peut se transformer en système de fichier non journalisé comme Ext2. | * Ext4 peut se transformer en système de fichier non journalisé comme Ext2. | ||
===== Prérequis pour migrer vers l'ext4 ===== | ===== Prérequis pour migrer vers l'ext4 ===== | ||
- | * Avoir le support de l'ext4 dans le noyau (Ubuntu Jaunty ou noyau compilé à la main) | + | * **Avoir fait une sauvegarde!** (C'est préférable) |
- | * 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) | * 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.// | + | > //Dans mon cas, mon disque 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 => | + | > //Mais d'après [[https://ext4.wiki.kernel.org/articles/c/o/n/Considerations_when_creating_ext3_filesystems.html|le wiki ext4]] [en], il faut une taille d'inode de 256 octets minimum pour stocker les attributs liés certaines fonctionnalités avancées de l'ext4.// |
- | + | ||
- | http://ext4.wiki.kernel.org/index.php/Considerations_when_creating_ext3_filesystems#Inode_Size | + | |
===== Convertir une partition ext3 en ext4 ===== | ===== Convertir une partition ext3 en ext4 ===== | ||
- | 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: | + | Si vous avez tout ceci de prêt, vous devez commencer par [[:tutoriel:comment_modifier_un_fichier|modifiez le fichier]] **/etc/fstab** |
- | <code>tune2fs -O extents,uninit_bg,dir_index /dev/sda1 | + | remplacez dans ce fichier **ext2** et **ext3** par **ext4** à chaque fois que vous le voyez. |
- | fsck -pf /dev/sda1</code> | + | |
+ | <note important>Il est nécessaire d'ajouter un journal à vos partitions ext2 (i.e. migration ext3) avant de pouvoir les convertir en ext4 :<code>sudo tune2fs -j "Partition à convertir"</code></note> | ||
+ | |||
+ | redémarrez ensuite votre système et ouvrez un [[terminal]] et tapez ce qui suit ( il faut mettre "sudo" en tête, sinon le résultat de la commande sous Ubuntu 12.04 retourne "tune2fs: Permission non accordée lors de la tentative d'ouverture de "Partition à convertir". Impossible de trouver un superbloc de système de fichiers valide.") : | ||
+ | |||
+ | <code>sudo tune2fs -O extent,uninit_bg,dir_index "Partition à convertir"</code> | ||
+ | |||
+ | **"Partition à convertir"** étant le nom de la partition dans **/etc/fstab** que vous voulez convertir. (par exemple /dev/sda1 ou /dev/sdb2) | ||
+ | |||
+ | Puis redémarrez à nouveau ou lancez manuellement une vérification de la partition : | ||
+ | <code>sudo fsck.ext4 -fDC0 "Partition à convertir"</code> | ||
+ | |||
+ | Si vous convertissez la partition root "/" il faudra ensuite **réinstaller grub**. \\ | ||
+ | Vérifiez d'abord si le paquet **grub2** est bien [[:tutoriel:comment_installer_un_paquet|installé]]. \\ | ||
+ | Puis ouvrez un [[terminal]] et tapez: | ||
- | 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** : | ||
<code>grub-install /dev/sda</code> | <code>grub-install /dev/sda</code> | ||
+ | sudo update-grub | ||
- | + | <note warning>Pour les **ordinateurs tatoués** et/ou qui s'[[:tutoriel:comment_amorcer_ubuntu_avec_bootmgr|amorcent en utilisant le ntldr]] : | |
- | <note warning>Pour les **ordinateurs tatoués** et/ou qui s'[[http://doc.ubuntu-fr.org/tutoriel/comment_amorcer_ubuntu_avec_ntldr|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. | Réinstaller le grub sur la partition où a été installé Ubuntu (par exemple, /dev/sda2), sinon, vous risquez de perdre le mbr. | ||
Ligne 63: | Ligne 67: | ||
==== Grub Error 13 / Grub Error 24 ==== | ==== Grub Error 13 / Grub Error 24 ==== | ||
- | |||
- | |||
Si lors d'un futur redémarrage une de ces erreurs apparaît : | Si lors d'un futur redémarrage une de ces erreurs apparaît : | ||
Ligne 74: | Ligne 76: | ||
<code>Error 24: Cannot boot without kernel loaded</code> | <code>Error 24: Cannot boot without kernel loaded</code> | ||
- | 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 : | + | Cela signifie que vous n'avez pas réinstallé grub après une conversion. Grub ne reconnaît pas votre partition ext4. Redémarrez avec un Live CD de Jaunty et entrez ces commandes : |
<code>mkdir /media/ubuntu | <code>mkdir /media/ubuntu | ||
Ligne 87: | Ligne 89: | ||
<note tip>À faire aussi si vous avez des messages d'erreur lors de l'installation du grub.</note> | <note tip>À faire aussi si vous avez des messages d'erreur lors de l'installation du grub.</note> | ||
- | |||
- | <note tip>Utilisez bien un Live CD de Jaunty, les versions de grub livrées avec les distributions antérieures ne gèrent pas l'ext4.</note> | ||
- | |||
- | ===== Jaunty et problèmes ===== | ||
- | |||
- | Dans Jaunty, (Ubuntu 9.04), le format de fichier par défaut est le ext3. Le ext4 peut être choisi lors de l'installation du système, mais il subsiste encore des bugs. Un connaisseur de 'linux' s'en sortira, mais il est déconseillé pour un utilisateur non-spécialiste de passer d'ext3 à ext4 avec les bugs mentionnés. Il est possible [[kernel_2.6.29|de passer au kernel 2.6.29 (suivre l'aide)]] pour une meilleure stabilité.( Bug : 2.6.28 Voir la [[http://www.ubuntu.com/getubuntu/releasenotes/904#Other%20known%20issues|Liste des bugs de Jaunty]], dont le [[https://bugs.launchpad.net/ubuntu/+source/linux/+bug/330824|freeze de l'interface quand suppression de plusieurs fichiers]] dans des conditions spécifiques )</note> | ||
- | |||
- | À partir de la version 9.10 d'Ubuntu, ext4 est considéré comme stable, et devient le système de fichier proposé par défaut. | ||
===== Accessibilité depuis Windows ===== | ===== Accessibilité depuis Windows ===== | ||
- | <note important>MÀJ mai 2010 : Le logiciel [[http://ext2read.blogspot.com/|ext2read]] permet maintenant de lire des fichiers de partitions ext4, mais comme il ne s’agit pas d’un driver il n’est pas intégré à l’explorateur et peut être un peu fastidieux à utiliser pour l’instant. | + | ([[tutoriel::comment_acceder_a_ses_partitions_d_ubuntu_sous_windows|Comment accéder à ses partitions d'Ubuntu sous Windows]]) |
- | + | ||
- | ([[tutoriel::comment_acceder_a_ses_partitions_d_ubuntu_sous_windows|Comment accéder à ses partitions d'Ubuntu sous Windows]])</note> | + | |
===== Désactiver la journalisation ===== | ===== Désactiver la journalisation ===== | ||
- | Ext4 peut devenir un système de fichier non journalisée comme Ext2 depuis Ubuntu 9.10 (noyau 2.6.31). | ||
Pour désactiver le journal d'Ext4 vous devez installer Ubuntu sur une partition Ext4 journalisée normal, puis une fois l'installation terminée redémarrez sur le LiveCD pour ouvrir un terminal et tapez : | Pour désactiver le journal d'Ext4 vous devez installer Ubuntu sur une partition Ext4 journalisée normal, puis une fois l'installation terminée redémarrez sur le LiveCD pour ouvrir un terminal et tapez : | ||
<code>sudo tune2fs -O^has_journal /dev/sda1 | <code>sudo tune2fs -O^has_journal /dev/sda1 | ||
sudo e2fsck -f -v -C0 /dev/sda1</code> | sudo e2fsck -f -v -C0 /dev/sda1</code> | ||
en remplaçant sda1 par votre partition. | en remplaçant sda1 par votre partition. | ||
+ | |||
+ | Il est également possible d'uniquement désactiver la mise à jour de la journalisation en modifiant la configuration de la fstab (FileSystemTable) en ajoutant des options aux partitions souhaitées : | ||
+ | [[https://lea-linux.org/documentations/Fstab|Fstab sur léa-Linux]] | ||
+ | ===== Récupérer de l'espace disque ===== | ||
+ | Par défaut une partition ext4 va se réserver 5% d'espace pour root afin d'éviter que le système ne "meure" parce qu'un utilisateur a consommé toute la place. Si votre disque est petit cela ne comporte guère d’inconvénient, mais si vous avez une partition de plusieurs To, la perte de place est tout de même importante.\\ | ||
+ | [[partitions#remedier_a_l_erreur_indiquant_qu_il_n_y_a_plus_assez_d_espace_sur_le_disque|Récupérer de l'espace disque]] | ||
===== Liens ===== | ===== Liens ===== | ||
- | * La page officielle du projet ext4: [[http://ext4.wiki.kernel.org/index.php/Main_Page]] | + | * La [[https://ext4.wiki.kernel.org/index.php/Main_Page|page officielle]] du projet ext4: |
- | * Page wikipedia: [[wpfr>ext4]] | + | * Page Wikipédia: [[wpfr>ext4]] |
+ | | ||
---- | ---- | ||
//Contributeurs: [[utilisateurs:Fabien26]] [[utilisateurs:Nicolarius]] [[utilisateurs:Vincent85]].// | //Contributeurs: [[utilisateurs:Fabien26]] [[utilisateurs:Nicolarius]] [[utilisateurs:Vincent85]].// |