| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| ext4 [Le 07/10/2019, 00:40] – Mise forme wiki mineure L'Africain | ext4 [Le 14/04/2026, 22:59] (Version actuelle) – màj lien fstab krodelabestiole |
|---|
| {{tag>système partitions}} | {{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 est stable et est le système de fichier par défaut sous 9.10. | Le [[:système de fichiers]] **[[wpfr>ext4]]** est le système de fichiers le plus utilisé sous Linux, et le [[:système de fichiers]] par défaut d'Ubuntu. |
| |
| 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 fichiers ext]]. |
| |
| Voir [[benchmark#systeme_de_fichier_ext_contre_les_autres|le benchmark des systèmes de fichier ext]]. | 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. |
| |
| ===== Nouveautés ===== | 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, à 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**. |
| |
| * 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 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 de meilleure performances que **ext4**, **ReiserFS** et **XFS**. |
| * Ext4 présente des performances en hausse par rapport à Ext3, ReiserFS 3 et XFS comme en témoigne ce [[http://www.phoronix.com/scan.php?page=article&item=ext4_benchmarks&num=1|bench de Phoronix]] | * **ext4** peut se transformer en système de fichiers non journalisé, comme **ext2**. |
| * Ext4 peut se transformer en système de fichier non journalisé comme Ext2. | |
| |
| ===== Prérequis pour migrer vers l'ext4 ===== | ===== Accessibilité depuis Windows ===== |
| |
| * **Avoir fait une sauvegarde!** (C'est préférable) | <note>Voir le tutoriel //[[:tutoriel:|Comment accéder à ses partitions d'Ubuntu sous Windows]]//. |
| * 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 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.// | Voir aussi la page //[[:partition_d_echange_de_fichiers_entre_ubuntu_mac_et_windows|Gérer une partition d'échange de fichiers entre Ubuntu / macOS / Windows]]//.</note> |
| > //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.// | |
| |
| | ===== Désactiver la journalisation ===== |
| |
| ===== Convertir une partition ext3 en ext4 ===== | Pour désactiver le journal d'**ext4** entrez : |
| | <code>sudo tune2fs -O^has_journal /dev/sdXX |
| | sudo e2fsck -f -v -C0 /dev/sdXX</code> |
| | en remplaçant ''sdXX'' par la [[:partitions#designation_des_partitions_dans_ubuntu|partition concernée]]. |
| |
| Si vous avez tout ceci de prêt, vous devez commencer par [[:tutoriel:comment_modifier_un_fichier|modifiez le fichier]] **/etc/fstab** | Il est également possible d'uniquement désactiver la mise à jour de la journalisation en modifiant la configuration sur ''[[:fstab|/etc/fstab]]'', en ajoutant des options aux partitions : voir [[https://lea-linux.org/documentations/Fstab|Fstab]] sur Lea Linux. |
| |
| remplacez dans ce fichier **ext2** et **ext3** par **ext4** à chaque fois que vous le voyez. | ===== Récupérer de l'espace disque ===== |
| |
| <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> | Par défaut une partition **ext4** va se réserver 5% d'espace pour ''[[:utilisateur#comptes_des_usagers_compte_superutilisateur_et_comptes_systemes|root]]'' afin d'éviter que le système ne tombe en panne parce qu'un utilisateur a consommé toute la place. Si votre stockage est restreint cela ne comporte guère d'inconvénient, mais si vous avez une partition de plusieurs To, la perte de place peut être 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]] |
| |
| 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.") : | ===== Problèmes courants ===== |
| |
| <code>sudo tune2fs -O extent,uninit_bg,dir_index "Partition à convertir"</code> | ==== GRUB ==== |
| | |
| **"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: | |
| | |
| <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]] : | |
| | |
| 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 : | |
| <code>sudo dd if=/dev/sdxY of=~/grub.bs bs=512 count=1</code> | |
| où sdxY est la partition sur laquelle est installé Ubuntu. | |
| <code>mkdir /media/windows | |
| mount -t ntfs-3g /dev/sdwZ /media/windows</code> | |
| où sdwZ est la partition sur laquelle est installée Windows. | |
| <code>cp /media/windows/grub.bs /media/windows/grub.bs.bak | |
| cp ~/grub.bs /media/windows/grub.bs | |
| umount /dev/sdwZ</code> | |
| </note> | |
| | |
| ==== 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 : |
| | Error 13: Invalid or unsupported executable format |
| <code>Error 13: Invalid or unsupported executable format</code> | |
| ou | ou |
| | Error 24: Cannot boot without kernel loaded |
| |
| <code>Error 24: Cannot boot without kernel loaded</code> | Cela signifie que [[:GRUB]] ne reconnaît pas votre partition **ext4**. Redémarrez avec un //[[:live USB]]// et utilisez ''[[:chroot]]'' : |
| | |
| 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 |
| mount -t ext4 /dev/sda1 /media/ubuntu | mount -t ext4 /dev/sda1 /media/ubuntu |
| grub-install /dev/sda | grub-install /dev/sda |
| </code> | </code> |
| | en adaptant si nécessaire ''[[:partitions#designation_des_partitions_dans_ubuntu|/dev/sda]]''. |
| | ===== Voir aussi ===== |
| |
| | * **(//en//)** la [[https://docs.kernel.org/admin-guide/ext4.html|documentation officielle]] du système **ext4** |
| <note tip>À faire aussi si vous avez des messages d'erreur lors de l'installation du grub.</note> | * [[:système de fichiers]] |
| | * [[wpfr>ext4]] sur Wikipédia |
| ===== Accessibilité depuis Windows ===== | |
| | |
| ([[tutoriel::comment_acceder_a_ses_partitions_d_ubuntu_sous_windows|Comment accéder à ses partitions d'Ubuntu sous Windows]]) | |
| | |
| ===== Désactiver la journalisation ===== | |
| | |
| 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 | |
| sudo e2fsck -f -v -C0 /dev/sda1</code> | |
| 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 ===== | |
| | |
| * La [[http://ext4.wiki.kernel.org/index.php/Main_Page|page officielle]] du projet ext4: | |
| * Page Wikipédia: [[wpfr>ext4]] | |
| | |
| |
| ---- | ---- |
| //Contributeurs: [[utilisateurs:Fabien26]] [[utilisateurs:Nicolarius]] [[utilisateurs:Vincent85]].// | //Contributeurs: [[:utilisateurs:Fabien26]], [[:utilisateurs:Nicolarius]], [[:utilisateurs:Vincent85]], [[:utilisateurs:krodelabestiole]].// |