메모리 카드는 모바일 기기, 디지털 카메라, PC 사이에서 정보를 주고받는 데 매우 유용한 도구입니다. 안드로이드나 iOS 기기에서 "손상된 메모리 카드 – 포맷해 주세요"와 같은 오류 메시지가 표시되더라도, 포맷을 거부했다면 데이터를 복구할 희망은 아직 남아 있습니다.
먼저 카드를 올바르게 분리한 후 물리적 상태를 점검하세요. 일부 SD, SDHC, SDXC 카드는 케이스 안에서 헐거워지는 경우가 있는데, 부드럽게 밀어 넣어 다시 고정할 수 있습니다. 대부분의 microSD, microSDHC, microSDXC 카드는 이런 문제가 없지만, 접점을 깨끗하게 닦아주는 것 역시 도움이 됩니다.
카드를 PC에 연결할 때는 단단하면서도 부드럽게 꽂아야 합니다. 카드가 휘어지지 않도록 주의하고, 안정적인 연결을 위해 정확하게 장착되었는지 확인하세요. 사소한 세부 사항처럼 느껴질 수 있지만, 손상된 SD 파일 시스템에서 우분투 도구로 데이터를 복구할 때 상당한 차이를 만들어냅니다.
방법 1: 우분투 기본 도구로 메모리 카드 복구하기
Dash, KDE 또는 Whisker 메뉴에서 GNOME 디스크 유틸리티를 열고 플래시 리더의 장치 파일 이름을 찾습니다. 일반적으로 "Single Flash Reader(단일 플래시 리더)"로 표시되며, 저장소 그래프 아래에 옵션이 있다면 오른쪽 화살표를 클릭해 마운트를 시도합니다. 마운트에 성공하면 파일을 바로 복사할 수 있을 가능성이 높습니다.
슬롯에 카드가 들어 있는데도 "No Media(미디어 없음)"라고 표시된다면, 카드를 분리했다가 다시 연결한 후 변화가 있는지 확인해 보세요. 그래도 해결되지 않는다면 톱니바퀴 아이콘을 클릭하고 "디스크 이미지 생성(Create Disk Image)"을 선택한 뒤 .img 파일로 저장해 볼 수 있습니다.
작업이 끝나면 카드를 분리하고 동일한 용량의 완전히 비어 있는 메모리 카드를 삽입한 후, 톱니바퀴 메뉴에서 이 디스크 이미지를 새 카드에 기록합니다. 새 파일 시스템을 마운트할 수 있지만, 복원 과정에서 새 카드의 기존 내용은 모두 삭제되므로 반드시 빈 카드인지 확인한 후 진행해야 합니다.
파티션이 마운트 해제된 상태에서 우분투가 드라이브를 감지한다면, 일관성 검사를 실행해 파일 시스템 복구를 시도할 수 있습니다. FAT12, FAT16 또는 FAT32로 포맷된 카드라면 명령줄에서 다음을 실행하세요:
sudo fsck.msdos -r /dev/sdd1
sdd1 부분은 디스크 유틸리티에 표시된 실제 파티션 이름으로 바꿔 입력합니다. 리눅스 파일 시스템용으로 카드를 포맷했다면 fsck.ext#을 사용할 수도 있으며, #에는 해당 ext 파일 시스템 번호를 넣으면 됩니다.
방법 2: 듀얼 부팅 환경에서 메모리 카드 복구하기
우분투와 마이크로소프트 윈도우를 함께 사용한다면, 윈도우 명령 프롬프트의 chkdsk 명령이 도움이 될 수 있습니다. FAT 장치 복구에서는 우분투가 더 뛰어난 지원을 제공하는 것으로 평가받지만, NTFS 장치 복구에는 윈도우가 더 효과적인 경우가 많습니다. 컴퓨터를 재부팅하고 GRUB 화면이 나타나면 키보드로 윈도우를 선택해 시작합니다. Windows 키 + E를 눌러 파일 탐색기를 연 후 윈도우가 메모리 카드에 할당한 드라이브 문자를 확인하세요. 단, 포맷하라는 메시지가 떠도 절대 포맷해서는 안 됩니다.
시작 메뉴에서 명령 프롬프트를 연 후 다음을 입력합니다(E:는 실제 드라이브 문자로 변경):
chkdsk /f E:
오류가 반환된다면 윈도우 역시 우분투처럼 메모리 카드를 복구하지 못한 것입니다.
윈도우를 사용할 수 없는 환경이라면, 우분투에서 제공하는 두 가지 유용한 도구를 활용할 수 있습니다. 먼저 sudo ntfsfix -d /dev/sdd1을 시도해 보세요. 리눅스판 chkdsk는 아니지만 일부 NTFS 불일치를 복구할 수 있습니다. 또한 ntfsclone -so dsk.img /dev/sdd1을 사용하면 디스크 유틸리티가 실패했더라도 NTFS 메모리 카드의 디스크 이미지를 생성할 수 있습니다. 이후 sudo ntfsclone -r dsk.img /dev/sdd1 명령으로 빈 카드에 복원하면 됩니다.
두 예제 모두 장치 파일 이름을 실제 값으로 교체해야 하며, 디스크 이미지를 복원하면 해당 장치의 모든 데이터가 삭제된다는 점을 유의하세요. 파일 시스템이 dirty로 표시되었다는 경고가 나타나면 -f 스위치를 추가하면 됩니다.
방법 3: Testdisk 프로그램 활용하기
우분투 기본 도구와 윈도우 프로그램 모두 실패했다면, Testdisk가 마지막 희망이 될 수 있습니다. 대부분 설치되어 있지 않으므로, 우분투 CLI 프롬프트에서 다음 명령으로 설치합니다:
sudo apt-get install testdisk
설치가 완료되면 testdisk /log /dev/sdd를 실행하되, /dev/sdd는 실제 장치 이름으로 바꿔야 합니다. 설치 환경에 따라 장치 파일에 직접 접근해야 하므로 명령 앞에 sudo를 붙여야 할 수도 있습니다.
대부분의 스마트폰, 태블릿, 디지털 카메라는 FAT16 또는 FAT32 파일 시스템을 사용하지만, Testdisk는 매킨토시 계열의 HFS·HFS+와 NTFS도 함께 검사합니다. 프로그램 실행이 끝나면 Dash 또는 KDE 메뉴에서 디스크 유틸리티로 돌아가 장치를 클릭하고, 오른쪽 화살표를 눌러 마운트합니다. 이제 파일 관리자에서 파일을 복사할 수 있을 것입니다.
방법 4: PhotoRec으로 파일 시스템 없이 파일 복구하기
리눅스가 메모리 카드를 대용량 저장 장치로는 인식하지만 파일 시스템 자체를 감지하지 못한다면, PhotoRec으로 파일을 직접 추출할 수 있습니다. 아직 설치하지 않았다면 다음 명령으로 우분투 또는 데비안 저장소에서 설치하세요:
sudo apt-get install photorec
PhotoRec은 장치에 데이터를 쓰지 않으므로 안전하게 사용할 수 있습니다. 복구된 파일이 저장될 PC의 적절한 디렉터리로 이동한 뒤, 리눅스가 메모리 카드를 /dev/sdd로 인식한다면 다음을 실행합니다(/dev/sdd는 실제 장치 이름으로 변경):
photorec /log /dev/sdd
이 명령은 작업 결과를 같은 디렉터리의 photorec.log 파일에 기록하며, 추가 정보가 필요하면 /debug 스위치를 함께 사용할 수 있습니다.
작성자 소개
Kevin Arrows
Kevin Arrows는 10년 이상의 업계 경험을 지닌 숙련된 기술 전문가입니다. Microsoft Certified Technology Specialist(MCTS) 자격증을 보유하고 있으며, 최신 기술 동향을 학습하는 데 큰 열정을 가지고 있습니다. 소프트웨어 개발, 사이버 보안, 클라우드 컴퓨팅 등 다양한 기술 주제에 걸쳐 폭넓게 집필해 왔으며, 복잡한 기술 개념을 명확하고 간결하게 설명하는 능력으로 업계 동료들에게 폭넓은 신뢰와 인정을 받고 있습니다.