Isso depende muito de como o sistema de arquivos ext4 foi formatado. Alguns recursos ext4 mais recentes (por exemplo, extents
ou 64bit
) não podem ser compreendidos por drivers ext2 mais antigos, eo kernel se recusaria a montar o sistema de arquivos (veja, por exemplo este post ). Em geral, qualquer sistema de arquivos formatado com um mke2fs
moderno com as opções -t ext4
padrão não poderá ser montado por um antigo driver ext2, mas se o sistema de arquivos foi formatado há muito tempo, para o ext4, ele pode ainda ser montável pelo ext2 se nenhum dos novos recursos específicos do ext4 forem habilitados.
Os sistemas de arquivos ext2 / 3/4 rastreiam quais recursos estão em uso pelos sinalizadores de recurso compat
, rocompat
e incompat
. Esses recursos normalmente são definidos em mke2fs
time, mas às vezes podem ser alterados por tune2fs
. Se um recurso compat
desconhecido for encontrado, o kernel irá montá-lo, mas e2fsck
se recusará a verificá-lo porque pode fazer algo errado. Se um recurso rocompat
desconhecido for encontrado, o kernel poderá montar o sistema de arquivos somente leitura e qualquer recurso incompat
desconhecido impedirá que o sistema de arquivos seja montado (uma mensagem será impressa em /var/log/messages
neste caso) .
Você pode usar debugfs -c -R features <device>
para despejar os recursos ativados em um sistema de arquivos, por exemplo:
# debugfs -c -R features /dev/sdb1
debugfs 1.42.13.wc5 (15-Apr-2016)
/dev/sdb1: catastrophic mode - not reading inode or group bitmaps
Filesystem features: has_journal ext_attr resize_inode dir_index filetype
needs_recovery dirdata sparse_super large_file huge_file uninit_bg dir_nlink
Embora isso não diga quais são compat
, rocompat
ou incompat
. Se a sua versão de debugfs
não compreender algum recurso mais recente, ela será impressa como I0400
ou similar.