reiserfs 하드 드라이브 복원

reiserfs 하드 드라이브 복원

300GB 외부(외부 인클로저에) HDD의 단일 파티션을 마운트할 수 없습니다. fsck 도구는 아무것도 추가하지 않으며 파티션도 인식하지 못합니다. 심지어 ext4를 사용하고 있는지 reiserfs를 사용하고 있는지도 잊어버렸습니다. 하드 드라이브는 괜찮아 보입니다. Testdisk는 Linux 파티션을 확인했지만 추가 세부 정보는 제공하지 않았습니다.

그때까지...나는 팔로우했다ext4 슈퍼블록 복원그리고 sudo losetup -v -o $i /dev/loop1 /dev/sdc명령을 시도했습니다. 이제 testdisk는 최소한 나에게 녹색 레이블을 제공하고 이것이 reiserfs 3.6 파티션임을 알려주며 올바른 장치 레이블을 얻습니다! 나는 특히 운이 좋다 i=32768:

$ dmesg
[10147.132161] REISERFS (device loop1): found reiserfs format "3.6" with standard journal
[10147.132204] REISERFS (device loop1): using ordered data mode
[10147.132206] reiserfs: using flush barriers
[10147.132335] REISERFS (device loop1): journal params: device loop1, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
[10147.132745] REISERFS (device loop1): checking transaction log (loop1)
[10147.133630] REISERFS warning: reiserfs-5090 is_tree_node: node level 61404 does not match to the expected one 4
[10147.133638] REISERFS error (device loop1): vs-5150 search_by_key: invalid format found in block 67403788. Fsck?
[10147.133644] REISERFS (device loop1): Remounting filesystem read-only
[10147.133652] REISERFS error (device loop1): vs-13070 reiserfs_read_locked_inode: i/o failure occurred trying to find stat data of [1 2 0x0 SD]
[10147.133660] REISERFS (device loop1): Using r5 hash to sort names

당신이 보는 것처럼 설치할 수는 없지만 나에게는 거의 비슷한 것 같습니다.

$ sudo mount -t reiserfs /dev/loop1 /mnt
mount: /dev/loop1: can't read superblock

몇 바이트를 건너뛰었기 때문에 유령이 보이는 건가요? testdisk가 원시 /dev/sdc1에서 이것을 볼 수 없는 이유는 무엇입니까? 나는 주로 읽기 전용 도구를 사용하고 있지만 testdisk를 한 번(파티션 테이블에) 작성해야 할 수도 있으므로 대부분을 복구할 수 있다는 것은 의심할 여지가 없지만 일부는 손실될 수 있습니다.가장 중요한 것은 어떻게 진행해야 합니까?

원시 /dev/sdc1에서 reiserfsck를 실행할 수 있지만 오프셋이 더 잘 작동하는 이유가 있는 경우 먼저 이를 HDD에 어떻게 통합합니까?

귀하의 솔루션이 무엇을 의미하는지 적절하게 표시해 주십시오(얼마나 깨끗한지? "궁금합니다"라고 적힌 경우). 디스크에 있는 데이터(개인적인 데이터는 아님)를 제공할 수 있지만 수정하기 쉬우면 좋겠습니다. 그리고 포어모스트가 내 파일을 복구해줄 수 있을 것 같은데, 쓸 공간이 없네요.

업데이트 1: 이상하게도 Ubuntu LiveCD보다 실제 노트북에서 결과가 더 적었습니다. (아마 이것이 문제가 발생한 이유일 것입니다.) 나는 몇 가지를 시도했고 위에서 losstup을 사용한 다음 실행하면 reiserfsck에서 약간의 정보를 얻습니다 reiserfsck --check /dev/loop1. 그러나 리플레이 거래를 중단한 것으로 보입니다. 나는 얻다:

[  682.743728] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[  682.743734] ata1.00: ST-ATA: DRQ=0 without device error, dev_stat 0x50
[  682.743740] ata1.00: failed command: DEVICE CONFIGURATION OVERLAY
[  682.743747] ata1.00: cmd b1/c2:00:00:00:00/00:00:00:00:00/40 tag 0 pio 512 in
[  682.743749]          res 50/00:00:00:00:00/00:00:00:00:00/40 Emask 0x202 (HSM violation)
[  682.743753] ata1.00: status: { DRDY }
[  682.743763] ata1.00: hard resetting link
[  683.060965] ata1.01: hard resetting link
[  684.087234] ata1.01: failed to resume link (SControl 0)
[  684.243064] ata1.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[  684.243086] ata1.01: SATA link down (SStatus 0 SControl 0)
[  684.283150] ata1.00: configured for UDMA/133
[  684.283860] ata1: EH complete
[  727.846495] usb 2-1.3.1: reset high-speed USB device number 6 using ehci_hcd
[  766.757684] usb 2-1.3.1: reset high-speed USB device number 6 using ehci_hcd

드라이브 고장인가요? 처럼 보이지 않습니다.

업데이트 2: 로그 헤더를 다시 생성해야 했고, 슈퍼블록을 다시 생성해야 했으며, 이제 트리를 다시 작성하고 있습니다(그러나 적어도 뭔가를 하고 있습니다). 내 경험상 이는 일관된 방식으로 데이터를 얻을 수 없음을 의미합니다. :-). 하지만 이 모든 작업은 루프 장치에서 수행됩니다. 이것은 내 원래 질문으로 돌아갑니다.루프 장치의 작업 파티션에서 직접 액세스할 수 있는 작업 파티션(아마도 63개 실린더)으로 어떻게 돌아가나요?

업데이트 3: 나무를 다시 세웠는데 길을 잃었다가 발견해서 몇 가지 물건을 다시 가져왔습니다. 다음 날 마운트하려고 했으나 다시 마운트할 수 없었습니다. 전반적으로 무작위 동작을 나타냅니다. 하드 드라이브가 실제로 죽은 것 같아요. 스마트 데이터는 제가 처음 시도했지만 결코 접근할 수 없었습니다. 제가 틀렸습니까? - 케이스 때문인 것으로 추정됩니다. 새로운 파티션으로 포맷을 시도했지만, 그것마저도 포맷하고 나면 오래 가지 못합니다.

답변1

손상된 reiserfs 파티션을 복원하면 때때로 복원하려는 데이터가 파괴될 수 있습니다(저도 알고 있습니다).

따라서 먼저 전체 디스크의 드라이브 수준 이미지를 다른 곳으로 옮깁니다.

dd if=/dev/source of=/home/diskimage.img

디스크 이미지를 가져온 후에만 fsck 또는 기타 복구를 시도하십시오.

reiserfs를 복원하려고 할 때 도움이 되는 여러 링크가 있습니다. 내가 한 켤레 주겠다.

관련 정보