ext3 및 ext4에 대해 아무것도 모르는 운영 체제(예: Linux의 고대 버전)가 ext4를 읽고 쓸 수 있으며 모든 ext4 파일 시스템을 ext2로 감지한다는 내용을 어딘가에서 읽었습니다.
Tux2에서 tux3 또는 FAT12가 동일한 작업을 수행할 수 있는지 확실하지 않습니다. (FAT64는 exFAT입니다)
도대체 어떻게 이런 일이 가능합니까?
구체적으로 어떻게 할 수 있는가?ext4를 ext2처럼 취급할 수 있나요?파일이나 메타데이터가 손상될 위험은 없나요?
답변1
이는 ext4 파일 시스템의 형식에 따라 크게 달라집니다. 일부 새로운 ext4 기능(예: extents
또는 64bit
)은 이전 ext2 드라이버에서 인식되지 않으며 커널은 파일 시스템 마운트를 거부합니다(예를 들어 다음을 참조하세요).이 게시물). 일반적으로 최신 형식을 사용 mke2fs
하고 -t ext4
기본 옵션으로 포맷된 모든 파일 시스템은아니요기존 ext2 드라이버를 통해 설치가 가능하지만, 파일 시스템을 원래 포맷한 지 오래됐다가 ext4로 업그레이드한 경우,가능한최신 ext4 특정 기능을 활성화하지 않고도 ext2를 통해 설치할 수 있습니다.
compat
rocompat
ext2/3/4 파일 시스템은 사용 중인 기능 과 incompat
기능 플래그를 추적합니다 . 이러한 기능은 일반적으로 mke2fs
시간에 따라 설정되지만 때로는 에 의해 변경될 수도 있습니다 tune2fs
. 알 수 없는 compat
함수가 발견되면 커널은 이를 설치하지만 e2fsck
뭔가 잘못될 수 있으므로 확인을 거부합니다. 알 수 없는 기능이 발견되면 rocompat
커널은 파일 시스템을 읽기 전용으로 마운트할 수 있습니다. 알 수 없는 incompat
기능이 있으면 파일 시스템이 마운트되지 않습니다( /var/log/messages
이 경우 메시지가 인쇄됩니다).
debugfs -c -R features <device>
다음과 같이 덤프 파일 시스템에서 활성화된 기능을 사용할 수 있습니다 .
# 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
compat
그러나 이것은 어느 것이 , rocompat
또는 인지 알려주지 않습니다 incompat
. 귀하의 버전이 debugfs
일부 최신 기능을 인식하지 못하는 경우 I0400
이와 유사하거나 유사한 내용이 인쇄됩니다.