4~5년된 노트북 HDD에서 전체 디스크 이미지를 만들었습니다.
드라이브는 끊임없이 휴대하는 노트북에 있으므로 수년에 걸쳐 어느 정도 신체적 스트레스를 받았을 가능성이 높습니다.
HDD는 그대로 유지되었지만 제가 사용한 Guymager 프로그램은 이 이미지를 캡처할 때 발생한 불량 섹터 수를 구체적으로 보여주었습니다. 불량 섹터는 19개였습니다.
어떤 LBA 번호와 파일이 19개 불량 섹터의 영향을 받습니까?
먼저 잘못된 LBA 목록을 생성한 다음 각 LBA의 각 파일을 별도의 단계로 나열하려고 합니다.
답변1
ext2/3/4에서 debugfs를 사용하세요. 먼저 블록에 따라 inode를 찾으십시오.
debugfs -D -R "icheck $sda3block4096" /dev/sda3
그런 다음 이 inode 번호를 사용하여 파일을 쿼리합니다.
debugfs -D -R "ncheck $inode" /dev/sda3
답변2
파일 시스템과 관계없이 모든 디스크의 블록을 나열하는 작업은 무엇입니까? (낮은 수준). FAT와 NTFS에는 무엇이 적용되나요?
LBA 번호와 불량 블록 감지는 파일 시스템과 완전히 독립적입니다.파일 찾기파일 시스템에 완전히 의존합니다. 하나의 도구가 모든 파일 시스템에서 작동할 것이라고 기대하지 마십시오.
불량 블록을 검색 하는 데 사용할 수 있으며 , 파티션 상대 번호 간 계산을 원하는 경우(예: LBA를 수행하는 경우 ) 하드 드라이브 펌웨어에서 감지한 불량 블록 또는 재할당된 블록의 LBA를 가져오는 badblocks
데 사용할 수 있습니다 .smartctl
fdisk
badblocks /dev/sda1
다른 답변에서 언급했듯이 ext2/ext3/ext3 에 대해 영향을 받는 파일을 찾을 수 있습니다 debugfs
.
당신은 그것을 사용할 수 있습니다fibmap 읽기 및 쓰기 제어모든 파일 시스템에서 특정 파일의 n번째 블록에 대한 LBA를 찾습니다. 그러나 특정 LBA에 대한 파일을 찾으려는 경우에는 실용적이지 않을 수 있습니다. 또한 filefrag
이 ioctl을 사용할 수도 있습니다.
블록 번호가 지정된 파일을 찾을 수 있는 FAT(및 심지어 NTFS)용 포렌식 도구가 있다고 확신하지만 이름을 바로 지정할 수는 없습니다.
편집하다
구글 검색해서 찾았습니다뚱뚱한 고양이FAT 파일 시스템에 대한 포렌식 분석: 특정 클러스터에 대한 파일을 얻을 수 있는 것으로 보입니다 -L
(LBA에서 이를 계산할 수 있음). 나는 이 프로그램에 대한 경험이 없습니다. Google을 더 많이 검색하면 이와 같은 프로그램이 더 많이 나타날 수 있습니다.
답변3
NTFS, ext3, ext4
ddrescue
다음 을 사용하여 실패한 드라이브의 데이터를 복사한 경우ddrutility
이 목적을 위해 만들어졌습니다.
ddrescue
20초 이내에 특정 매핑 파일에 대해 영향을 받는 NTFS 파일을 나열하는 데 성공했습니다.
현재 디렉터리에 로그 파일을 씁니다.
링크된 페이지에는 NTFS, ext3 및 ext4에 대한 지원이 언급되어 있습니다.
BTFS
btrfs에는 자체 내장 scrub
기능이 있습니다.