슈퍼 블록 백업의 차이점

슈퍼 블록 백업의 차이점

최근에 실수로 EXT4 파티션을 FAT로 포맷했습니다. 나는 당황했다. 어두운 숲을 통과하는 긴 여행을 마친 후 파티션을 다시 찾을 수 있다는 희망이 사라졌고 꽤 좋아 보였습니다. 몇 개의 슈퍼 블록을 소개받은 후 sudo mke2fs -n /dev/sdx, 하나를 집어 들고 sudo e2fsck -b a_block_number /dev/sdxy빙고에 뛰어들었습니다! 내 모든 파일과 디렉터리는 "lost+found" 폴더에 있습니다.

문제는 모든 백업 슈퍼블록이 동일합니까, 아니면 하나가 다른 것보다 더 최신일까요?

두 번째 질문은 EXT4 파티션을 EXT4로 다시 포맷하면 백업 슈퍼블록을 덮어쓰게 되는지 여부입니다. (우리 사이에는 mke2fs 및 e2fsck를 시도하기 전에 FAT 파티션을 다시 EXT4로 다시 포맷했습니다)

답변1

모든 백업 슈퍼블록은 동일합니다. 이는 모두 슈퍼 블록의 복사본이며 디스크의 큰 연속 부분이 손상되는 경우 중복성을 제공하기 위해 디스크 전체에 분산되어 있습니다.

파일 시스템 유형이 동일하더라도 파티션을 포맷하면 슈퍼블록이 지워집니다. (이것은 의미가 있습니다. 포맷의 목적은 파티션에 깨끗한 슬레이트를 생성하여 모든 파일 시스템 메타데이터가 제거되는 것입니다.) 그러나 백업 슈퍼 블록은 제거할 필요가 없기 때문에 제거되지 않습니다. 이것).


편집: 귀하의 의견 질문에 답변하려면:

e2fsck포맷으로 인해 슈퍼블록이 지워지면 파티션을 어떻게 복구할 수 있나요?

첫 번째 FAT 형식은 슈퍼블록을 지웠지만 모든 파일과 디렉터리는 여전히 존재했지만 파일 시스템에서 더 이상 참조되지 않았기 때문에 사용할 수 없었습니다. (경험이 없는 사용자는 디스크를 포맷한 후에도 내용의 99%가 여전히 남아 있다는 사실에 놀라는
mke2fs -n경우 가 많습니다. 따라서 중고 디스크를 판매할 계획이라면 절대 간단한 포맷을 하지 마십시오. 모든 것을 조금씩 안전하게 삭제하십시오!) FAT로 포맷되기 전의 ext4 파일 시스템에 대한 백업 슈퍼블록의 위치입니다. 따라서 이 슈퍼블록은 "올바른" 슈퍼블록입니다. e2fsck -b해당 위치에서 찾은 슈퍼블록을 적용합니다. 이를 통해 데이터 조각을 에서 복구할 수 있습니다 /lost+found.

파일 시스템의 다른 부분(예: inode)을 지우지 않고 슈퍼블록을 지우면서 EXT4를 FAT로 포맷하는 방법은 무엇입니까?

포맷하면 슈퍼블록이 지워지지만 inode는 지워지지 않습니다. 왜냐하면 inode가 디스크 전체에 분산되어 있기 때문입니다.어디정확한 분산 정도는 파일 시스템 유형에 따라 다릅니다. 예를 들어, EXT2/EXT3 파일 시스템의 공간은 블록으로 나누어지고, 블록 그룹으로 그룹화되며, 각 블록 그룹의 데이터 블록 앞에 inode가 저장됩니다. 앞서 말했듯이 포맷하면 디스크의 상당 부분이 변경되지 않습니다.

백업 슈퍼블록은 언제 생성되나요? Justin Davies의 SUSE Linux 9 Bible에 따르면 "백업 슈퍼블록은 EXT2 또는 EXT3 파일 시스템이 생성될 때 생성됩니다." 따라서 파티션을 다시 포맷하면 백업 슈퍼블록도 다시 포맷될 것으로 예상합니다.

아니요, 메인 슈퍼블록만 지워집니다. 백업 슈퍼블록은 디스크의 다른 위치에 있으며 메타데이터(inodes...) 및 파일과 마찬가지로 앞에서 언급한 대로 형식에 의해 지워지지 않습니다. 그들을가능한그러나 새 파일 시스템의 백업 슈퍼블록이 덮어쓰게 됩니다. 이는 새 파일 시스템 유형에 따라 다릅니다.

관련 정보