dd 중에 실수로 SD 카드가 물리적으로 배출됨

dd 중에 실수로 SD 카드가 물리적으로 배출됨

전체 cat /proc/partitions + lsblk + fdisk -l 출력은 다음과 같습니다. http://pastebin.com/jYCCmwsU

방금 새로운 class10 16GB SDCard를 구입했고 다음 명령을 사용하여 Raspberry의 Raspbian 시스템 복원을 시작했습니다.

sudo dd bs=4M if=~/raspbian.img of=/dev/sdb

몇 초 후에 실수로 SDCard를 눌렀다가 꺼냈습니다. 그 이후로 나는 다음과 같은 일을 경험했습니다.

  • raspbian.img의 크기는 14.9GB입니다.
  • sdb의 크기는 KDE 파티션 관리자에서 1.91GB로 표시됩니다.
  • 첫 번째 섹터: 34
  • 마지막 부서: 4 012 526
  • 섹터 수: 4 012 493

SDCard는 Kubuntu Partition Manager에서 "Unknown Medium"이지만 GPT 또는 MS-Dos 파티션 테이블을 만들 수 있지만 Partition Manager를 사용하여 파일 시스템을 만들 수는 없습니다.

"/dev/sdb"(1,91GiB, ext3)에 새 파티션 생성 작업: "/dev/sdb" 장치에 새 파티션 생성 "/dev/sdb1" 새 파티션 생성: 성공

할당: "/dev/sdb1" 파티션에 "ext3" 파일 시스템 생성 명령: mkfs.ext3 -q /dev/sdb1 "/dev/sdb1" 파티션에 "ext3" 파일 시스템 생성: 새 파티션 생성 오류 (1 , 91 "/dev/sdb"의 GiB, ext3): 오류

이후에는 파일 시스템을 다시 생성할 수 없습니다. 먼저 알 수 없는 파일 시스템을 삭제해야 합니다. 이 SD 카드를 최신 Windows 10 PC에 연결하면 정지되고 GUI가 충돌합니다.

액세스할 수 없는 섹터에 쓸 수 있는 mkfs/dd 매직이 있습니까?


업데이트 1:

나는 이것을 시도했습니다 : dd if=/dev/zero of=/dev/sdb bs=1M count=1

이제 Linux의 KDE 파티션 관리자는 1MB의 알 수 없는 장치를 sdb로 표시하며 파티션 테이블을 생성할 수도 없습니다.

이런 건 본 적이 없는데 fdisk에서 sdb가 사라지고 /dev/ram이 많이 나타난다.

sudo fdisk -l:

디스크 /dev/ram0: 64MiB, 67108864바이트, 131072섹터 단위: 1 * 512 = 512바이트 섹터 섹터 크기(논리적/물리적): 512바이트/4096바이트 I/O 크기(최소/최적): 4096바이트/ 4096바이트

전체 cat /proc/partitions + lsblk + fdisk -l 출력은 다음과 같습니다. http://pastebin.com/jYCCmwsU

raspbian.img는 14.9GB입니다: -rw-r--r-- 1 루트 루트 16009658368 sept 12 18:56 raspbian.img


업데이트 2:

여전히 16GB 카드에 14.9GB ISO를 쓸 수 없습니다. 실수로 카드를 꺼내면 dd가 여전히 중지됩니다.

zs@deneb:~$ sudo dd bs=1M if=~/raspbian.img of=/dev/sdb
dd: error writing ‘/dev/sdb’: No space left on device
1960+0 records in
1959+0 records out
2054430720 bytes (2,1 GB) copied, 34,2516 s, 60,0 MB/s
zs@deneb:~$

답변1

가장 좋은 방법은 자동 마운트가 활성화되지 않은 Linux 시스템에 다시 연결하고(GVFS 또는 유사한 시스템에서도 이 작업을 수행하려면 한 번의 클릭이 필요함) 처음부터 다시 시작하는 것입니다. 선택 과목:

dd if=/dev/zero of=/dev/sdb bs=1M count=1

이렇게 하면 가능한 모든 파티션 테이블이 삭제되므로 디스크가 Windows 충돌을 멈추기를 바랍니다. 그런 다음 원본을 반복합니다.

dd bs=4M if=~/raspbian.img of=/dev/sdb

두 명령 모두 루트로 실행해야 하므로 접두사를 추가 sudo하거나 루트 셸을 시작하세요.

관련 정보