손상된 micro sd card 우분투에서 파일 건지는 방법좀 가르쳐 주세요.

하드웨어 지원 및 드라이버 설치 등에 관한 문제 해결

Moderator: Dry8r3aD

User avatar
cklove
Posts: 1193
Joined: 2008/04/18 Fri 11:57 am
Location: 프랑스 몽펠리에

손상된 micro sd card 우분투에서 파일 건지는 방법좀 가르쳐 주세요.

Post by cklove » 2014/11/07 Fri 2:43 am

잘 아는 분이 사용하던 micro sd card가 갑자기 인식이 되지 않는다고 하네요.
제가 어떻게 해 보겠다고 받았는데, GParted로 열어보니 "할당되지 않음"이라고 뜨네요.

인터넷에서 검색해 보니 윈도우즈에서는 이렇게 저렇게 하는 방법을 찾았는데,
우분투에서는 찾지 못했습니다.
어떻게 하면 될까요?
아래는 화면캡처 한 사진입니다.

[attachment=0:ytszis8e]
-dev-mmcblk0 - GParted_001.jpg
-dev-mmcblk0 - GParted_001.jpg (73.84 KiB) Viewed 2654 times
[/attachment:ytszis8e]
누군가가 당신을 위해 기도하고 있습니다 !
HP Pavilion 15-n027tx / ubuntu 18.04

happyman
Posts: 392
Joined: 2014/07/01 Tue 5:34 pm

Re: 손상된 micro sd card 우분투에서 파일 건지는 방법좀 가르쳐 주세요.

Post by happyman » 2014/11/07 Fri 6:34 am

저런 경우, 저라면, 일단 Windowws로 부팅해서 CHKDSK를 돌려봅니다. 안되면, 다른 방법을 찾아보아야지요. 그리고, 이 방법을 권장해 드립니다. 가장 쉬우니까요. 주위에서 Windows PC를 찾아서 시도해 보세요.

굳이 우분투에서 하셔야 한다면, 다음의 글들을 참고로 링크해 드립니다. 만약의 경우를 대비해서 북마크해 두었지만, 해보지는 않았습니다. 저는 필요한 경우, CHKDSK로 해결되었거든요.

[url:1684h4qv]http://www.maketecheasier.com/check-repair-filesystem-fsck-linux/[/url:1684h4qv]

[url:1684h4qv]http://gparted.org/h2-fix-msdos-pt.php#partition-outside-disk[/url:1684h4qv]

[url:1684h4qv]http://www.rodsbooks.com/fixparts/[/url:1684h4qv]

별님
Posts: 577
Joined: 2012/01/11 Wed 9:38 pm
Contact:

Re: 손상된 micro sd card 우분투에서 파일 건지는 방법좀 가르쳐 주세요.

Post by 별님 » 2014/11/07 Fri 4:04 pm

FAT 포멧이란 가정하에서...

0. 확실한 해결법
전문업체에 맡긴다.

1. 간단한 해결법
windows를 부팅 -> 손상된 usb 드라이브 알파벳을 확인 -> [Ctrl] + [R] -> cmd -> [Enter] -> [code:290q2cop]chkdsk /R /X d:[/code:290q2cop]('d:' 대신에 손상된 드라이브 알파벳을 x: 형식으로 넣어줘야 함.) -> [Enter]

2. 위험하면서 주의가 필요한 해결법(간혹 chkdsk는 되는데, 이 방법으론 해결 안되기도 하니, chkdsk를 사용할 수 없을때만 사용하세요)
장착된 usb 디바이스 위치를 알아내기 -> [code:290q2cop]sudo apt-get update
sudo apt-get install dosfsck
sudo dosfsck -wrlavt /dev/usb???[/code:290q2cop]('/dev/usb???'를 해당 usb 위치로 변경하여 입력) -> [Enter]
(NTFS는 다른 방법으로 해야 합니다.)

User avatar
cklove
Posts: 1193
Joined: 2008/04/18 Fri 11:57 am
Location: 프랑스 몽펠리에

Re: 손상된 micro sd card 우분투에서 파일 건지는 방법좀 가르쳐 주세요.

Post by cklove » 2014/11/07 Fri 8:28 pm

모두들 도움 주셔서 감사합니다.

윈도우즈에서 chkdsk /R/X e: 라고 실행해 봤더니 ...
[code:1cdc8gdp]CHKDSK n'est pas disponible pour RAW lecteurs.[/code:1cdc8gdp]
라고 뜨네요. 프랑스어인데요, "CHKDSK는 RAW 드라이브를 사용할 수 없습니다."라는 메시지이죠.

그래서 우분투에서 다시 해 봤습니다. 그랬더니 ...
[code:1cdc8gdp]choi@myHP:~$ sudo dosfsck -wrlavt /dev/mmcblk0
fsck.fat 3.0.26 (2014-03-07)
fsck.fat 3.0.26 (2014-03-07)
Logical sector size is zero.
choi@myHP:~$
[/code:1cdc8gdp]
사이즈가 제로라네요. 헐~~~
누군가가 당신을 위해 기도하고 있습니다 !
HP Pavilion 15-n027tx / ubuntu 18.04

dontdieych
Posts: 68
Joined: 2014/02/04 Tue 10:11 pm

Re: 손상된 micro sd card 우분투에서 파일 건지는 방법좀 가르쳐 주세요.

Post by dontdieych » 2014/11/08 Sat 7:56 pm

testdisk - 파티션 복구
photorec - 파일 복구

User avatar
cklove
Posts: 1193
Joined: 2008/04/18 Fri 11:57 am
Location: 프랑스 몽펠리에

Re: 손상된 micro sd card 우분투에서 파일 건지는 방법좀 가르쳐 주세요.

Post by cklove » 2014/11/08 Sat 9:27 pm

[quote="dontdieych":2xmqnjq6]testdisk - 파티션 복구
photorec - 파일 복구[/quote:2xmqnjq6]
앗! 좀 더 자세히 알려 주세요. 몬 아라드러요^^

...

잠시 후 ...

...
아 ... testdisk 를 설치하여 실행하는 거였군요.
저는 설치가 되어 있지 않았더군요.
지금 testdisk를 실행 중입니다. 좋은 결과 있기를 ...
누군가가 당신을 위해 기도하고 있습니다 !
HP Pavilion 15-n027tx / ubuntu 18.04

User avatar
cklove
Posts: 1193
Joined: 2008/04/18 Fri 11:57 am
Location: 프랑스 몽펠리에

Re: 손상된 micro sd card 우분투에서 파일 건지는 방법좀 가르쳐 주세요.

Post by cklove » 2014/11/09 Sun 8:05 am

여전히 쉽지 않네요.

[attachment=1:ear6wxam]
004.jpg
004.jpg (81.36 KiB) Viewed 2455 times
[/attachment:ear6wxam]

[attachment=0:ear6wxam]
009.jpg
009.jpg (97.42 KiB) Viewed 2455 times
[/attachment:ear6wxam]

FAT 16, FAT32, NTFS로 다 해 봤는데 왜 안될까요?
이거 확 포맷시켜 버릴까요?
아... 그러자니 속의 데이터가 다 날아가니 문제고...
이거 어쩌죠?
누군가가 당신을 위해 기도하고 있습니다 !
HP Pavilion 15-n027tx / ubuntu 18.04

happyman
Posts: 392
Joined: 2014/07/01 Tue 5:34 pm

Re: 손상된 micro sd card 우분투에서 파일 건지는 방법좀 가르쳐 주세요.

Post by happyman » 2014/11/09 Sun 8:23 am

댓글들을 쭉 보니, NFTS 파티션이고 MBR disk인 것으로 짐작됩니다. 그리고 자동 도구들은 이제 해보실 만큼 해보신 것 같고, 자동 도구로는 안되는 것으로 생각되네요.

그리고 파티션 테이블이 깨진 것이 거의 틀림없어 보이고, 파티션 테이블을 복구하면 될지 그것은 해봐야 알겠지요.

이왕 "확 포맷해 버릴까" 하는 생각이시라면, 제가 위에 링크해 드린 글 중에서 다음의 글이 도움이 되실지도 모릅니다. 이 기회에 공부해 보시는 것이 어떠실까요? 이건 어차피 전공과 관련이 없거든요. ㅎㅎㅎ 그냥 다음의 사항만 알고 계시면 됩니다.

(1) 디스크는 제조되면, 제조사가 low level format을 해서 판매한다. low level format은 사용자가 건드리기 어려운 부분이다. 이게 잘못되었다면 전문가만 가능할 것입니다.
(2) 사용자는 디스크에 파티션을 만들어 사용한다. 이를 위하여 파티션 테이블을 만든다. 파티션 테이블은 디스크에 있는 파티션들의 시작점과 끝나는 점의 위치를 기록한 테이블이다. 파티션 테이블은 디스크의 맨 앞에 위치하며, 그 뒤에 이어서 파티션들이 차례대로 위치한다.
(3) 만들어진 각 파티션을 포맷 (high level format)하여 파일 시스템 (FAT, NTFS, ext4 등)을 만든다. 그러고 나면, 이제 사용 가능 상태가 된다.

다음 글은 MBR 디스크 (msdos 디스크)의 파티션 테이블을 손으로 직접 고치는 방법을 설명하고 있습니다. 아마도 데이터 용으로 사용하셨을테니 파티션은 딱 1개만 있는 것이 거의 틀림없을 겁니다. 즉, 디스크의 맨 앞에 파티션 테이블이 있고, 그 뒤에 데이터 파티션이 딱 1개 있는 구조일 확률이 거의 100%라고 생각됩니다. 그러니, 1개의 파티션만 있다는 전제하에서 시도해 보시면, 뜻밖의 성과가 있을지도 모르겠습니다. 물론 실패 확률이 훨씬 크겠죠.

[url:166hwh7l]http://gparted.org/h2-fix-msdos-pt.php[/url:166hwh7l]

User avatar
cklove
Posts: 1193
Joined: 2008/04/18 Fri 11:57 am
Location: 프랑스 몽펠리에

Re: 손상된 micro sd card 우분투에서 파일 건지는 방법좀 가르쳐 주세요.

Post by cklove » 2014/11/10 Mon 1:58 am

happyman님의 말씀대로 사이트에 들어가서 스텝 바이 스텝으로 실행해 보니 아래와 같이 뜨네요.

[code:fwn56avu]choi@myHP:~$ sudo parted /dev/mmcblk0 unit s print
[sudo] password for choi:
Error: /dev/mmcblk0: unrecognised disk label
choi@myHP:~$ sudo fdisk -l -u /dev/mmcblk0

Disk /dev/mmcblk0: 32.4 GB, 32380026880 bytes
4 heads, 16 sectors/track, 988160 cylinders, total 63242240 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: 0x00000000

Disk /dev/mmcblk0 doesn't contain a valid partition table
choi@myHP:~$ [/code:fwn56avu]
누군가가 당신을 위해 기도하고 있습니다 !
HP Pavilion 15-n027tx / ubuntu 18.04

happyman
Posts: 392
Joined: 2014/07/01 Tue 5:34 pm

Re: 손상된 micro sd card 우분투에서 파일 건지는 방법좀 가르쳐 주세요.

Post by happyman » 2014/11/10 Mon 6:42 am

후아~~~ 손상 정도가 예상보다 심하네요. 파티션 테이블 자체가 전혀 보이질 않는군요.

더구나 디바이스 이름도 뒤에 0이 붙으니, 파티션의 이름은 01이 되어야 하나, 어쩌나... 이것, 정말 잘 아시는 분이나 가능할 것 같습니다. 현 상황에서 sfdisk 등을 사용하는 것은 무리라는 생각이 듭니다. 이제, 저같은 아마추어는 항복입니다.

다만, 항복하기 전에, 한가지 제 수준에서 권장드릴 수 있는 사항은 있는데요. 역시 sd card의 data를 잃어버리셔도 책임지지 않으셔도 된다는 가정 하에서 말씀드립니다. 전문가에게 가져갈 것이라면 건드리지 않는 것이 좋겠죠.

혹시 정상 동작하는 sd card를 하나 구할 수 있으세요? 당연한 말이지만, 망가진 것과 같을수록 좋겠죠. 같은 제조사, 같은 용량, 같은 방식으로 포맷한 것... 제조사는 다르더라도, 같은 용량, 같은 방식으로 포맷한 것이면 좋겠는데요. 정확하게 같은 용량이 안된다면, 망가진 것 보다 조금 작은 것이 좋습니다. 큰 것은 파티션의 마지막 부분이 망가진 것의 크기 한계를 넘어갈 가능성이 있으니까요. 그 sd card 주인에게 대체로 사용할 것 하나 사라고 하세요. ㅎㅎㅎ 정상적으로 동작하는 sd card에서 첫번째 partition 이전 부분을 베껴다가 망가진 sd card에 복사해 보자는 것이죠.
[code:zapnpffi]Disk /dev/sdb: 4131 MB, 4131389440 bytes
255 heads, 63 sectors/track, 502 cylinders, total 8069120 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: 0x00000000

Device Boot Start End Blocks Id System
/dev/sdb1 * 128 8069119 4034496 c W95 FAT32 (LBA)
[/code:zapnpffi]
위 내용은 4GB USB 메모리 스틱에 대하여 "sudo fdisk -l"로 본 것입니다. 맨 마지막에 보면, partition /dev/sdb1이 sector 128 에서 시작해서 마지막 sector까지 가고 있죠? 그리고, 맨 앞의 sector 0~127 까지의 128개 sector는 위 table에 없습니다. 여기가 partition table 등이 들어있는 MBR과 다른 data가 들어 있는 영역인데요. (MBR 외에 어떤 것이 있는지는 저는 모릅니다.) 이 size는 제 hard disk의 경우는 2048 이더라구요. 그래서 이 size도 제각각인 듯합니다. 그래서 같은 방식으로 포맷한 다른 정상적인 sd card를 보았으면 하는 것입니다.

아무튼 같은 방식으로 포맷한 정상적인 sd card를 넣고 "sudo fdisk -l"에서 나온 저 시작 숫자가 128이고 sector size가 512라면, 다음과 같이 해서 베끼는 것이죠.
[code:zapnpffi]
dd if=/dev/mmcblk0 of=sdcard_start.img bs=512 count=128
[/code:zapnpffi]
그리고는, 망가진 sd card를 넣고 나서
[code:zapnpffi]
dd if=sdcard_start.img of=/dev/mmcblk0 bs=512 count=128
[/code:zapnpffi]

이렇게 베껴도 안될지도 모르죠. 이것은 partition table만 복구될 가능성이 있는 것이고, 처음 block들에 bad sector가 생겨서 read/write가 안되는 상황일 수도 있고, 포맷한 file system 자체가 심하게 깨져 있을 수도 있고요. 그러나, 거의 같은 sd card를 구하실 수 있다면, 해봄직 하다고 생각합니다만... 어떻게 생각하실지....

Post Reply