파일 손실 없이 하드 드라이브를 복구하려면 어떻게 해야 합니까?

파일 손실 없이 하드 드라이브를 복구하려면 어떻게 해야 합니까?

요컨대. 하드 드라이브의 파일에 액세스하는 데 문제가 있습니다. 또한 나는 이것이 하드웨어 문제가 아니라고 가정합니다("소프트웨어 수준"에 더 가깝습니다). 하드 드라이브를 모니터링하고 문제를 감지하는 데 도움이 될 수 있는 방법(Linux 명령, Linux 도구)이 있는지 알고 싶습니다. 무슨 일이 일어났는지에 대한 자세한 설명은 다음과 같습니다.

많은 파일이 들어 있는 Verbatim 하드 드라이브가 있습니다. 오늘은 우분투에서 사용해 보았습니다. 파일 브라우저에서 Verbatim 폴더를 보고 열려고 했습니다. 결과적으로 프로세스가 실행되고 더 많은 시간이 필요함을 나타내는 시계를 보았습니다. 1분 정도 가중치를 부여하고 동일한 사진을 보고(여전히 실행 중이며 폴더가 열리지 않음) 터미널에서 동일한 작업을 시도했습니다. 저는 cdVerbatim 폴더에 들어가서 실행하는 폴더에 들어가곤 했습니다 ls -ltr. 결과적으로 나는 아무것도 얻지 못했습니다. 로 명령을 취소하려고 했으나 Ctrl C안 되서 그냥 터미널을 닫았습니다. 그런 다음 패널에서 장치를 시도했지만 eject( unmount어떻게 호출되는지 기억이 나지 않음) 우분투는 장치가 실행 중 ls(또는 이와 유사한 것) 명령을 실행 중이라고 썼습니다. 어쨌든 장치를 연결 해제했습니다.

그런 다음 Windows에서 실행되는 다른 컴퓨터를 사용하여 하드 드라이브의 파일에 액세스하려고 했습니다. Windows에서 장치를 인식했지만 오류가 감지되었으며 스캔을 수행하는 것이 좋습니다(그러나 스캔하지 않고 파일을 표시하는 옵션은 여전히 ​​있었습니다). 저는 스캔을 선택했습니다. 진행 상황이 표시되지 않는 데 시간이 너무 오래 걸려 스캔을 취소했습니다.

그런 다음 장치를 분리했다가 다시 삽입했습니다. 여전히 스캔 옵션이 있었습니다. 검사는 (1) 오류를 감지하고 자동으로 수정하는 것과 (2) 누락된 파일을 감지하고 복원하는 두 가지 옵션으로 수행할 수 있습니다. 첫 번째 옵션은 기본적으로 선택되었습니다(이런 방식으로 실행한 이전(취소된) 스캔). 이번에는 두 번째 옵션도 선택하고(두 옵션이 모두 선택됨) 스캔을 다시 시작했습니다. 이번에도 진행 상황이 표시되지 않고 너무 느려서 다시 취소했습니다.

그런 다음 첫 번째 옵션을 선택한 상태로 스캔을 시작했고(오류를 찾아 자동으로 수정함) 충분한 시간을 주었습니다. 20~30분쯤 지나니 준비가 되었습니다. 그 결과 일부 폴더에 접근할 수 없어 영구적으로 제거되었다는 메시지를 받았습니다. 그 후 나는 장치를 사용할 수 있었습니다(폴더와 하위 폴더를 입력하고 파일을 확인).

그런 다음 Ubuntu에서 장치를 다시 사용해 보았습니다. Ubuntu가 장치를 인식하는 데 약 1분 정도 걸렸습니다(너무 깁니다). 그러다가 같은 문제가 발생했습니다(하드 드라이브에 있는 폴더를 볼 수 없었습니다). 이는 하드 드라이브 폴더가 보이고 이 폴더로 이동할 수 있지만 거기에 어떤 파일이 있는지 볼 수 없다는 의미입니다.

그런 다음 장치를 Windows 컴퓨터에 연결했는데 장치를 인식할 수 없습니다(전혀 표시되지 않음). 나는 Ubuntu에서 마운트 해제(또는 이와 유사한 것)를 수행했으며 여기서 하드 드라이브를 차단했다고 가정합니다(Windows 시스템에서 볼 수 없도록). 그러나 나는 이 가정에 대해 확신하지 못한다. 아마도 장치가 어떻게 든 고장난 것 같습니다.

기기에 지난 7년 동안의 모든 가족 사진이 저장되어 있기 때문에 누군가 저를 도와주실 수 있나요?

답변1

먼저 해당 드라이브에 사용된 파일 시스템 유형을 확인해야 합니다. FAT32일 가능성이 높습니다. fdisk 명령을 사용하여 이 작업을 수행할 수 있습니다.

fdisk -l

그러면 장치 목록이 반환되며 각 줄에는 파일 시스템을 표시하는 "유형"이 있습니다.

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048 219353087 219351040 104.6G 83 Linux
/dev/sda2       219355134 234440703  15085570   7.2G  5 Extended
/dev/sda5       219355136 234440703  15085568   7.2G 82 Linux swap / Solaris

결함이 있는 드라이브와 같거나 더 큰 사용 가능한 다른 드라이브가 있는 경우 내 경험상 복구를 시도하는 가장 쉬운 방법은 dd-rescue라는 도구를 사용하는 것입니다. 자세한 내용은 여기에서 확인할 수 있습니다.dd-구조

dd를 수동으로 사용하여 전체 드라이브의 이미지를 파일로 만들 수도 있습니다. 하드 드라이브가 큰 경우 시간이 매우 오래 걸릴 수 있습니다. 또한 백업 이미지를 만들려는 디스크에 디스크 공간이 충분한지 확인해야 하며 사용 중인 파일 시스템이 전체 드라이브 크기를 포함할 만큼 큰 파일을 지원하는지 확인해야 합니다.

다음은 이 작업을 수동으로 수행할 수 있는 방법의 예입니다.

dd bs=4k if=/dev/sda of=/path/to/backup.img conv=noerror,sync 

위 명령에서 /dev/sda는 손상된 디스크이고 backup.img는 백업으로 전체 디스크의 내용을 포함할 파일입니다. 이 명령에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

죽은 하드 드라이브를 사용하여 dd에서 데이터 복구

오류가 발생할 때 데이터 손실 위험을 줄이기 위해 더 작은 블록 크기 인수를 사용하는 것이 더 나을 수 있습니다. 예를 들어 "bs=1024" 그러나 이로 인해 작업이 더 오래 걸릴 수 있습니다.

하드 드라이브에 SMART와 같은 기능이 활성화되어 있지 않으면 하드 드라이브에 실제로 오류가 있는지 확인하는 것은 매우 어렵습니다. 디스크에 오류가 있는 것이 아니고 파일 시스템 손상으로 인해 문제가 발생했을 수도 있습니다.

불행하게도 저는 일반적으로 BIOS에 의해 제어되는 SMART와 같은 기능 외에 하드 디스크가 얼마나 손상되었는지 현실적으로 판단할 수 있는 좋은 방법을 모릅니다.

해당 디스크에서 사용 중인 파일 시스템 유형을 확인한 후에는 fsck 명령을 사용하여 Linux의 Windows에서 이전에 했던 것처럼 파일 시스템 복구를 시도할 수 있습니다. (특정 파일 시스템 유형과 일치하는 fsck를 사용하고 있는지 확인하십시오.

fsck.vfat /dev/sdb1

Linux가 항상 ntfs 또는 fat 파티션을 복구하는 데 능숙한 것은 아니므로 백업을 확인할 때까지 이 작업을 시도해서는 안 됩니다. 실제로 대신 백업 이미지에 대해 복구 시도를 수행하는 것이 좋습니다. 백업 파일에 대해 fsck를 수행하는 방법에 대한 지침은 여기에서 찾을 수 있습니다.dd로 만든 원시 파티션 파일 마운트

파일 시스템이 마운트된 방법에 따라 ls 명령은 파일 또는 디렉토리 메타데이터를 변경하는 경우 실제로 파일 시스템을 손상시킬 수 있습니다. 특히 액세스 시간을 업데이트하여 가능합니다. 무엇이든 쓰는 동안 드라이브를 분리하면 파일 시스템, 특히 좋은 저널링 기능(예: FAT32)이 없는 파일 시스템에서 오류가 발생합니다. 이러한 오류는 일반적으로 fsck로 수정할 수 있습니다.

귀하가 이렇게 위태로운 처지에 놓이게 되어 매우 안타깝습니다. 귀하가 이 파일들을 복구할 수 있기를 바랍니다.

답변2

Linux 시스템으로 돌아갑니다.

루트 터미널을 열고 를 입력하여 tail -f /var/log/kern.log이 창을 최대화합니다.

하드 드라이브를 연결하십시오.

드라이브에 하드웨어 문제가 있는 경우 여기에 표시됩니다. USB 연결에 문제가 있는 경우 "장치를 열거할 수 없습니다"라는 메시지가 표시됩니다. 드라이브에 미디어 문제가 있는 경우 불량 블록에 대한 메시지가 표시됩니다.

USB 연결 오류가 발생하는 경우 하드 드라이브 인클로저에 있는 USB 케이블, 커넥터 또는 USB-SATA 어댑터에 문제가 있을 수 있습니다(핀 파손, 커넥터가 보드에서 떨어지는 등).

외장 하드 드라이브 모델의 USB 보드에 암호화 기능이 없다고 가정하면 인클로저에서 드라이브를 제거하고 PC에 직접 연결하여 내장 드라이브처럼 사용할 수 있습니다. 암호화가 있는 경우 해당 보드를 작동시켜야 하며 전자/납땜에 능숙한 사람과 함께 USB 커넥터를 교체하거나 케이블을 보드의 패드에 직접 납땜해야 합니다(찢어지지 않기를 바랍니다). ). 하드 드라이브는 다른 시스템에서도 계속 작동하지만 데이터를 가져올 수는 없습니다.

인클로저 내부에 있는 USB 보드의 예:

여기에 이미지 설명을 입력하세요

하드웨어 문제를 제거한 후에는 Testdisk를 실행하여 복구할 수 있는 항목을 확인할 수 있습니다. apt-getUbuntu의 루트 터미널에서 이를 설치하거나 다운로드하여 실행할 수 있습니다.윈도우 버전. 파일을 복사할 다른 드라이브를 준비하고다음에 데이터를 백업하세요.

행운을 빌어요.

답변3

파일 손실 위험 없이 고장난 하드 드라이브를 복구할 수 있는 방법은 없습니다. 드라이브에 있는 데이터의 가치에 따라 전문적인 데이터 복구 서비스가 최선의 선택일 수 있습니다. 나는 이러한 서비스가 약 500달러부터 시작하고 때로는 데이터를 복구하는 데 드는 노력에 따라 극적으로 올라갈 것이라고 믿습니다. 최고의 데이터 복구 서비스라도 모든 데이터를 복구할 수는 없지만 스스로 할 수 있는 어떤 것보다 복구할 가능성이 훨씬 더 높습니다.

탐험해 보시길 추천드려요Seagate 복구 서비스자세한 내용은.

나는 이것이 당신이 듣고 싶어하는 것이 아닐 것이라고 확신하지만 전문적인 데이터 복구는 드라이브를 열고 스스로 수행할 수 없는 다른 절차를 수행할 수 있습니다. 데이터 복구에는 전문 지식, 전문 소프트웨어 및 도구, 하드 드라이브 부품이 필요하며 클린룸에서 수행되어야 합니다. 집에서는 할 수 없습니다.

답변4

Windows에서 수동으로 전체 디스크 검사를 시도해 보셨나요?

cmd를 열고 chkdsk /?를 입력하면 가능한 모든 옵션이 표시됩니다.

NTFS 파티션의 경우 가장 완벽한 검사를 수행하는 chkdsk /F /R /B /X를 수행할 수 있습니다. FAT32의 경우 /B를 생략합니다.

하드 드라이브에 따라 시간이 많이 걸릴 수 있습니다. 그러나 일부 데이터를 구출할 가능성이 있을 수 있습니다.

관련 정보