Après une migration vers Wheezy j’ai modifié le fichier /etc/fstab en remplaçant ext3 par ext4.
Je consulte /etc/mtab et là le /home est bien monté avec ext4 mais pas / qui est toujours monté avec ext3.
Je précise que je n’ai pas encore converti mes systèmes de fichiers (/home ou /) ext3 en ext4.
Juste pour savoir si vous avez le même comportement.
Je doute que le fait de modifier le système de fichiers seulement dans fstab soit suffisant ?
Non, en effet. En montant un système de fichiers ext2 ou ext3 en tant qu’ext4, on profite juste de certaines améliorations de performances du pilote ext4. D’autre part le système de fichiers racine est déjà monté en ext3 lors de la lecture de fstab, or on peut modifier les options d’un système de fichiers déjà monté mais je doute qu’on puisse modifier son type. Il faut par exemple ajouter l’option rootfstype=ext4 dans la ligne de commande passée au noyau passée par le chargeur d’amorçage (grub ou lilo).
Pour convertir le système de fichiers lui-même, il faut utiliser tune2fs, lorsque la partition n’est pas montée. Je ne détaille pas, on trouve facilement la procédure sur le web. Par contre les fichiers existants ne profiteront pas des nouvelles fonctionnalités d’ext4 comme les extents.
Si /boot est sur la racine il faudra aussi réinstaller le chargeur d’amorçage (avec grub-install, pour grub) afin que celui-ci installe le pilote approprié.
Éditer /etc/fstab en remplaçant ext3 par ext4 si tu n’as pas converti ou formaté les partitions est une opération vaine. L’édition de /etc/fstab n’ a pas pour effet de convertir ou formater les partitions.
Réussir à monter une partition ext3 bien que définie en tant qu’ext4 est normal.
$ cat /usr/src/linux-3*/fs/ext4/Kconfig
[code] config EXT4_FS
tristate "The Extended 4 (ext4) filesystem"
select JBD2
select CRC16
select CRYPTO
select CRYPTO_CRC32C
help
This is the next generation of the ext3 filesystem.
Unlike the change from ext2 filesystem to ext3 filesystem,
the on-disk format of ext4 is not forwards compatible with
ext3; it is based on extent maps and it supports 48-bit
physical block numbers. The ext4 filesystem also supports delayed
allocation, persistent preallocation, high resolution time stamps,
and a number of other features to improve performance and speed
up fsck time. For more information, please see the web pages at
http://ext4.wiki.kernel.org.
The ext4 filesystem will support mounting an ext3
filesystem; while there will be some performance gains from
the delayed allocation and inode table readahead, the best
performance gains will require enabling ext4 features in the
filesystem, or formatting a new filesystem as an ext4
filesystem initially.
To compile this file system support as a module, choose M here. The
module will be called ext4.
If unsure, say N.
[/code]
Remarquons aussi l’option du noyau EXT4_USE_FOR_EXT23 qui permet de compiler le seul support du système de fichiers ext4 pour ext/ext3/ext4 au lieu de compiler le support d’ext2/ext3/ext4 séparément. Grâce à cette option, ext2/ext3/ext4 sont regroupés sous la coupe d’ext4.
config EXT4_USE_FOR_EXT23
bool "Use ext4 for ext2/ext3 file systems"
depends on EXT4_FS
depends on EXT3_FS=n || EXT2_FS=n
default y
help
Allow the ext4 file system driver code to be used for ext2 or
ext3 file system mounts. This allows users to reduce their
compiled kernel size by using one file system driver for
ext2, ext3, and ext4 file systems.
Merci pour vos réponses. Je ne savais pas qu’une fois le système converti (extents, …) il fallait réinstaller grub.