후아~~~ 손상 정도가 예상보다 심하네요. 파티션 테이블 자체가 전혀 보이질 않는군요.
더구나 디바이스 이름도 뒤에 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를 구하실 수 있다면, 해봄직 하다고 생각합니다만… 어떻게 생각하실지…