![现有的ext4分区使用了ext4的哪些“功能”?](https://linux22.com/image/507097/%E7%8E%B0%E6%9C%89%E7%9A%84ext4%E5%88%86%E5%8C%BA%E4%BD%BF%E7%94%A8%E4%BA%86ext4%E7%9A%84%E5%93%AA%E4%BA%9B%E2%80%9C%E5%8A%9F%E8%83%BD%E2%80%9D%EF%BC%9F.png)
当我创建 ext4 文件系统时,有许多“功能”可以启用和禁用 - 比如 has_journal、extent、huge_file 等等。有没有办法知道在创建 ext4 文件系统时(我的意思是在创建之后)使用了哪些选项?
我已经存在 ext4 分区(由某人创建),但甚至不知道它是否使用了日志或范围。
答案1
我想您可以使用该dumpe2fs
实用程序来获取 ext2/etx3/ext4 文件系统信息的转储。
例如,可能会发生这样的事情:
sudo dumpe2fs /dev/sda5 | more
在我的计算机上,输出的开头如下所示:
Last mounted on: /
Filesystem UUID: 848446d9-a158-4442-905c-9a9551b0eb1a
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 732960
Block count: 2929846
Reserved block count: 146492
...
答案2
您可以使用 tune2fs 列出:
$ su -c "tune2fs -l /dev/sda6" | grep features
Password:
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
$
答案3
您可以使用file -s $DEVICE
我的系统上的哪些输出:
# /dev/dm-0: Linux rev 1.0 ext4 filesystem data (needs journal recovery) (extents) (large files) (huge files)
答案4
如果你想知道这些选项的含义,它们应该在内核源代码中包含的 ext4 文档中提到。你可以在线找到文档这里。这应该适用于所有文件系统,如果您在服务器上有源,则典型的位置是/usr/src/linux-source-2.6.27/Documentation/filesystems