플래시 드라이브 파일 복구

플래시 드라이브 파일 복구

16GB Lexar 플래시 드라이브에서 파일을 복구해야 합니다. PCB가 어떤 식으로든 손상된 것 같지 않으므로 복구가 완료되기를 바랍니다. USB를 Windows 시스템에 연결하면 드라이브로 인식되지만 디스크를 삽입하라는 메시지가 표시됩니다. 며칠 동안 이 기능을 작동시키려고 노력한 후 Ubuntu에서 시도해 보기로 결정했습니다.

명령 실행 lsusb:

Bus 002 Device 003: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 8086:0186 Intel Corp. WiMAX Connection 2400m
Bus 001 Device 003: ID 0bda:5801 Realtek Semiconductor Corp. 
Bus 001 Device 007: ID 058f:1234 Alcor Micro Corp. Flash Drive
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

플래시 드라이브는 Alcor Micro Corp.로 인식됩니다. 지금까지는 매우 좋습니다. 그러나 내가 실행할 때 sudo fdisk -l:

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xb43778ae

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     3074047     1536000   27  Hidden NTFS WinRE
/dev/sda2         3074048   921657343   459291648    7  HPFS/NTFS/exFAT
/dev/sda3       954587136   976773119    11092992   17  Hidden HPFS/NTFS
/dev/sda4       921659390   954587135    16463873    5  Extended
/dev/sda5       921659392   954587135    16463872   83  Linux

Partition table entries are not in disk order

드라이브가 인식되지 않습니다. 마지막으로 다음을 실행했습니다 tail -f.

==> /var/log/syslog <==
Mar 24 08:55:10 danny-Satellite-E305 kernel: [ 6791.398762] usb 1-1.2: new high-speed USB device number 9 using ehci-pci
Mar 24 08:55:10 danny-Satellite-E305 kernel: [ 6791.644599] usb 1-1.2: New USB device found, idVendor=058f, idProduct=1234
Mar 24 08:55:10 danny-Satellite-E305 kernel: [ 6791.644610] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Mar 24 08:55:10 danny-Satellite-E305 kernel: [ 6791.644616] usb 1-1.2: Product: Mass Storage Device
Mar 24 08:55:10 danny-Satellite-E305 kernel: [ 6791.644621] usb 1-1.2: Manufacturer: Alcor Micro
Mar 24 08:55:10 danny-Satellite-E305 kernel: [ 6791.645100] usb-storage 1-1.2:1.0: USB Mass Storage device detected
Mar 24 08:55:10 danny-Satellite-E305 kernel: [ 6791.645183] scsi13 : usb-storage 1-1.2:1.0
Mar 24 08:55:11 danny-Satellite-E305 kernel: [ 6792.642812] scsi 13:0:0:0: Direct-Access     Generic  USB Flash Disk   7.76 PQ: 0 ANSI: 4
Mar 24 08:55:11 danny-Satellite-E305 kernel: [ 6792.643071] sd 13:0:0:0: Attached scsi generic sg2 type 0
Mar 24 08:55:11 danny-Satellite-E305 kernel: [ 6792.647022] sd 13:0:0:0: [sdb] Attached SCSI removable disk

데이터 복구에 대한 아이디어가 있습니까? 미리 감사드립니다!

답변1

다음을 사용하여 문제가 되는 장치의 이미지를 만듭니다 ddrescue. - 저장된 데이터 양에 관계없이 전체 드라이브를 보관할 수 있는 충분한 저장 공간이 필요합니다. 이 경우 복제본을 저장하려면 16GB가 필요한 것으로 보입니다. /dev/sdb.

ddrescue는 작업을 수행할 프로그램이며 설치되지 않은 경우 이를 설치해야 합니다 sudo apt-get install gddrescue(오타가 아닙니다. g는 GNU의 약자입니다).

터미널을 열고 CtrlAltT이미지 파일을 저장할 디렉터리로 변경한 후 명령을 실행하세요.sudo ddrescue -d /dev/sdb sdb.img sdb.logfile

-d는 드라이브에 대한 직접 액세스를 지시합니다(캐싱 무시) /dev/sdb는 입력에 사용하는 장치입니다. sdb.img는 출력에 사용하는 파일입니다. sdb.logfile은 현재 위치와 결과를 추적합니다. 이다.

어떤 이유로 프로세스가 완료되기 전에 중지되면 로그 파일을 통해 중단된 부분부터 다시 시작할 수 있습니다.

이미징이 시작되고 다음과 같은 내용이 표시됩니다.

구출

Rescued는 성공적으로 읽은 데이터의 양을 나타내고, errsize는 읽을 수 없는 데이터의 크기를 나타냅니다. 프로세스가 계속됨에 따라 전자는 증가하고 후자는 0에 가까워지기를 바랍니다. ddrescue는 실패한 블록을 절반으로 줄이고 다시 시도하는 데이터 조각이라는 프로세스를 사용합니다.

ddrescue는 매우 강력한 도구이며 다음에서 이에 대해 많은 것을 배울 수 있습니다.수동. 3장을 주목해주세요!!출력을 위해 잘못된 파일이나 장치를 선택하면 하루가 망가질 것입니다.

결과 이미지를 얻은 후에는 오류가 발생한 장치에 추가 스트레스를 주지 않고 테스트 및 복구 절차를 실행할 수 있습니다.

결국 ddrescue는 터미널 화면에 "Finished"를 출력합니다. errsize가 높고 조금 더 복구하고 싶은 경우 명령을 다시 실행하고 스위치를 적용하여 실패한 블록을 다시 시도하고 역방향으로 읽을 수도 있습니다(솔리드 스테이트 장치에서는 도움이 되지 않을 수 있음). by: sudo ddrescue -d --try-again --retrim --reverse /dev/sdb sdb.img sdb.logfile또는 앞서 언급한 설명서에서 도움이 될 수 있다고 생각되는 다른 스위치 조합입니다. 모든 데이터 복구 시도를 마쳤으면 이제 우리가 가지고 있는 내용을 확인할 차례입니다.

명령을 실행 fdisk -l sdb.img하거나 이미지 이름을 지정한 대로 실행하십시오. 운이 좋으면 파티션 테이블이 손상되지 않았음을 나타내는 이와 유사한 출력을 얻게 됩니다.

Disk sdb.img: 4013 MB, 4013948928 bytes
1 heads, 24 sectors/track, 326656 cylinders, total 7839744 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000174fe

  Device Boot      Start         End      Blocks   Id  System
sdb.img1   *        2048     7839743     3918848    b  W95 FAT32

"시작" 번호를 기록해 두십시오. 이는 파일 시스템이 섹터 2048에서 시작됨을 의미합니다.

이 정보와 몇 가지 기본 수학 기술 또는 계산기를 사용하면 프로세스를 시도해야 하는 오프셋에 도달할 수 있습니다. 2048개 섹터 X 당 512바이트 = 1048576

오류로 인해 이 이미지를 생성했으므로 먼저 파일 시스템 복구를 시도하겠습니다.

sudo losetup --offset 1048576 /dev/loop2 sdb.img루프 장치에 이미지를 설정하는 명령을 실행하십시오 .

그런 다음 명령을 실행sudo fsck /dev/loop2

최선을 다해 시스템을 수리한 후 마운트 지점을 생성 sudo mkdir /mnt/loop하고 이전에 설정한 루프 장치를 마운트합니다.sudo mount /dev/loop2 /mnt/loop

이제 다른 드라이브에 복사할 수 있는 일부 데이터가 생겼으면 좋겠습니다. 한번 보자:

ls /mnt/loop
autorun.inf  casper-rw  ldlinux.sys  pool                smart-fail.txt
boot         dists      md5sum.txt   preseed             syslinux
casper       install    pics         README.diskdefines  wubi.exe

좀 있는 것 같네요. 당신도 그러기를 바랍니다! 파일 복사를 마친 후 루프 장치를 마운트 해제합니다.sudo umount /dev/loop2

이 접근 방식이 성공하지 못했다면 `sudo testdisk sdb.img(또는 이미지 파일 이름을 지정한 대로) 명령을 사용하여 testdisk를 시도해 볼 수도 있습니다. Enter 키를 눌러 이미지를 선택한 다음, 파티션 유형이 감지되면 진행 방법에 대한 힌트를 제공합니다. 이는 일반적으로 플래시 드라이브의 Intel입니다.

분석을 선택하여 손실된 파티션을 검색하거나 파일 시스템 도구의 고급으로 직접 이동하여 이미 알려졌거나 복구된 파티션을 선택할 수 있습니다. 파티션을 선택하면 복사할 파일을 선택하는 방법 등에 대한 지침이 포함된 파일 목록이 표시됩니다. 이 부분은 설명이 매우 간단하며 다른 곳에서 다룰 가능성이 높으므로 확실하지 않은 부분이 있으면 여기에서 중지하겠습니다. 나에게 댓글을 남겨주시면 연락드리겠습니다.

관련 정보