ddrescue
고장난 SSD를 내가 쓸 수 있을 거라고 상상했거나 dd
(기억이 너무 길어서). 결과 .img의 경우 설치 가능한 것으로 인식되지 않는 디스크를 구웠습니다.
디스크에서 사용한 후 e2fsck -fyvC 0
이를 마운트하고 원래 SSD에 있던 파일 중 일부(전부는 아님)를 복구할 수 있습니다.
이것이 데이터 검색을 위한 최선의 선택입니까, 아니면 더 많은 데이터를 복구할 수 있는 더 나은 도구가 있습니까?
e2fsck
위의 플래그를 사용하여 실행할 때 고아 또는 삭제된 inode에 대한 다양한 경고가 표시됩니다. 이는 수정되거나 제거되었습니다. 불행하게도 이것들은 내가 디스크에서 가장 찾고 있는 데이터와 일치하는 것 같습니다.
출력은 227,000줄입니다. 다음은 몇 가지 주요 내용입니다.
ext2fs_open2: Bad magic number in super-block
e2fsck: Superblock invalid, trying backup blocks...
Superblock has an invalid journal (inode 8).
Clear? yes
*** journal has been deleted ***
Superblock has_journal flag is clear, but a journal is present.
Clear? yes
Truncating orphaned inode 6302578 (uid=1000, gid=1000, mode=0100664, size=3600)
Pass 1: Checking inodes, blocks, and sizes
[...]
Inode 1048618 was part of the orphaned inode list. FIXED.
Inode 1048634 was part of the orphaned inode list. FIXED.
Deleted inode 1048662 has zero dtime. Fix? yes
[...]
Entry '..' in <6291748>/<9965526> (9965526) has deleted/unused inode 6291748. Clear? yes
[...]
Unattached inode 9712327
Connect to /lost+found? yes
Inode 9712327 ref count is 2, should be 1. Fix? yes
[...]
Free blocks count wrong for group #740 (32768, counted=3012).
Fix? yes
[...]
Directories count wrong for group #4593 (0, counted=114).
Fix? yes
[...]
Padding at end of inode bitmap is not set. Fix? yes
Recreate journal? yes
Creating journal (262144 blocks): Done.
*** journal has been regenerated ***
/dev/sdc: ***** FILE SYSTEM WAS MODIFIED *****
2205797 inodes used (4.52%, out of 48807936)
20864 non-contiguous files (0.9%)
1884 non-contiguous directories (0.1%)
# of inodes with ind/dind/tind blocks: 0/0/0
Extent depth histogram: 2154021/1685/13
128999150 blocks used (66.08%, out of 195210139)
0 bad blocks
18 large files
1869601 regular files
282774 directories
10 character device files
1 block device file
5 fifos
4294963048 links
53513 symbolic links (50169 fast symbolic links)
14 sockets
------------
2164179 files
여기에 데이터 복구에 대한 더 현명한 접근 방식이 있습니까? 도움을 주셔서 미리 감사드립니다.
답변1
예전에 이런 방법으로 파일을 복구한 적이 있습니다.
ddrescue
(FreeBSD에서 호출되는 유사한 프로그램 )을 사용하여 디스크 이미지를 만듭니다 recoverdisk
. 복구를 시도하기 전에 이 작업을 수행하십시오. 메시지가 표시 되면 fsck
"아니오"라고 말하고 이미지를 만드세요.
VM(VMWare 또는 스냅샷이 있는 것)을 사용하고 이 이미지를 VM에 HDD 디스크로 마운트합니다. 이렇게 하면 가지치기 문제가 방지됩니다.
- 스냅샷을 실행한 다음
fsck
저장할 수 있는 모든 파일을 실행하고 복사하세요.fsck
복구할 수 없는 파일 삭제를 요청합니다 . - 스냅샷을 복원하고 도구
fsck
사용 전후를 시도해 보세요e2undel
. - 다시 복원하고
ext4magic -M
옵션을 시도해 보세요. - 마지막으로
less -f /dev/sdb
알려진 텍스트 문자열이 복구되어 발견됩니다. 참고: 시간이 지남에 따라 이러한 내용의 여러 개정판을 찾을 수 있습니다. 이 모든 것이 수동으로 이루어집니다.