Translation(s): English - Italiano
Contents
Ext4 is an improved FileSystem for Linux, introduced in kernel 2.6.28. Previous kernels had development implementation (i.e. experimental). For more information about Ext4, follow the links in the See Also section.
Compatibility:
- As of Jessie the default file system of Debian
Old Debian releases don't support Ext4 (i.e. Lenny and earlier).
- Ext3 filesystems can be upgraded to Ext4 (but not the other way around).
It is not possible to mount Ext4 with Ext3 (with some exception. read this article).
Things you need to know
ext4 is a journaling file system, meaning it maintains a journal of operations not yet committed to disk, and is able to prevent some amount of data loss after a system crash or power failure. If an ext4 filesystem is determined "unclean" on boot (traces of remaining operations in the journal), the system will run fsck and attempt to repair the filesystem, and write uncommited blocks to the lost+found/ directory. At the very least, the filesystem will be restored to a working state.
file system check fsck.ext4
As of systemd the old 'touch /forcefsck ' no longer works instead you have to edit /etc/default/grub and add a "fsck.mode=force" to your kernel command line (you may have other bits - just add it between the quote marks)
GRUB_CMDLINE_LINUX="fsck.mode=force"
Then do an update-grub and reboot.
Afterward remove the fsck bit and update-grub again.
( This really needs to be made easier -- worth a bug report).
De-fragmenting
$ e4defrag /dev/sd?
Status
Ext4 in stretch, jessie, Squeeze, testing and Unstable
- Ext4 is currently in Debian Installer as the default.
Ext4 in Lenny
Debian Lenny doesn't support Ext4 (kernel 2.6.26) because it was still an experimental feature during the development of Lenny. Still, Lenny's 2.6.26 kernel provides the development module ext4dev. (see the FAQ)
The ext4 wiki Debian entry says in reference to Lenny 'you should mount ext4dev filesystems using -o nodelalloc and only use freshly created filesystems using "mke2fs -t ext4dev"' . Making ext4dev appears to set the test_fs flag, but the nodelalloc option doesn't work: EXT4-fs: Unrecognized mount option "nodelalloc" or missing value.
FAQ
- How to mount an Ext4 filesystem under Lenny
Lenny doesn't really/officially support Ext4 (because it's experimental in its kernel version). Still, you can try to mount an Ext4 filesystem in read-only mode... and see what you see !
tune2fs -E test_fs /dev/XXX mount -t ext4dev -o ro /dev/XXX /mnt/ZZZ
- How to convert Ext3 to Ext4
See https://ext4.wiki.kernel.org/index.php/Ext4_Howto#Converting_an_ext3_filesystem_to_ext4
See also
- Documentations:
/usr/share/doc/linux-doc-2.6.XX/Documentation/filesystems/ext4.txt.gz, also available online for 2.6.29
Manpages: mkfs.ext4(8) (or mkfs.ext4dev(8)), tune2fs(8 and resize2fs(8).
Linux's Ext4 ?HowTo
https://ext4.wiki.kernel.org/index.php/Ext4_Howto- Introductions:
KernelNewbies' Introduction to Ext4
http://kernelnewbies.org/Ext4Wikipedia's article about Ext4
WikiPedia: Ext4
CategoryKernel | ?CategoryFileSystem | CategorySystemAdministration