Limbo 유형의 가짜 USB 또는 SD 카드에서는 드라이브의 특정 위치에서 시작하는 모든 섹터를 사용할 수 없습니다(0개 또는 1개 또는 읽을 수 없는 섹터만 응답).
플래시 드라이브의 공칭 용량은 256GB일 수 있지만 실제로는 16GB에 불과합니다. 16GB 임계값 이상으로 기록된 모든 내용은 디지털 블랙홀에 들어갑니다.림보). 이 데이터에 액세스하려고 하면 다음 상황 중 하나가 발생할 수 있습니다.
- 장치가 빈 섹터를 반환합니다.00000000 (0x00)바이트만 가능합니다.
- 장치 반품 부문11111111(0xFF)바이트만 가능합니다.
- 이 장치는 섹터가 손상되었음을 컴퓨터에 알립니다.
- 장치가 무기한 정지되고 읽기 요청을 반환하지 않습니다.
- 장치가 임의의 데이터를 반환함(매우 드문 유형)
제가 소유한 악성 플래시 드라이브의 첫 번째 경우가 바로 이런 경우였습니다. 그것은 돌아온다00 00 00 00
...모든 섹터 내의 모든 512바이트 섹터에서림보실제 데이터 용량을 초과하는 영역입니다.
사용mkfs
또는gparted
테스트 목적으로 가짜 USB에 파일 시스템을 생성하면 무기한 정지됩니다.
Windows와 Android 모두 SD 카드를 전체 청구 용량으로 포맷했습니다.30분도 채 걸리지 않습니다.이는 실제 용량을 초과하여 파일 시스템 바닥글을 건드리지 않은 경우에만 가능합니다. 제목만 수정하면 됩니다.
GParted 및 mkfs는 무기한 정지되고(드라이브가 PC에서 제거될 때까지) 다음 지침에 따라 파일 시스템을 그대로 둡니다.알려지지 않은GParted를 입력하세요.
파일 시스템 헤더만 작성하면서 GParted에서 악성 플래시 드라이브를 전체 청구 용량으로 포맷하는 방법은 무엇입니까?
이렇게 하면 GParted가 무기한 정지를 유발하는 주변 영역에 도달하는 것을 방지할 수 있습니다(불량 드라이브에 나열된 네 번째 섹터 반환 유형과 혼동하지 마십시오. 이는 GParted의 반응입니다).
내가 달성하고 싶은 것:
- Linux 반응 테스트교환가짜 플래시 드라이브에 넣습니다. StackExchange에서는 이것이 너무 사소하기 때문에 직접 시도해 보기로 결정했습니다.
- Android 휴대폰(ext2, ext3, ext4, FAT16, FAT32, exFAT, f2fs, xfs, zfs, ntfs)에서 다양한 파일 시스템을 테스트합니다.안드로이드 폰의 실제 용량보다 더 많은 영상을 녹화해 어떻게 반응하는지 확인해 보고 싶습니다.
답변1
나는 이것이 효과가 있을지 조금 회의적이다. 그러나 요구 사항을 충족할 수 있는 강력한 방법이 있습니다. 이것이 작동하지 않으면 mkfs
더 나은 작업을 수행 할 수 있는 다른 옵션이 없습니다 .
- 장치와 동일한 크기의 (스파스) 파일을 기본 파일 시스템에 만듭니다. 예를 들어
truncate --reference=/dev/sdX disk.img
- 파일을 분할합니다(당신이 이것을 원한다고 가정합니다. 그렇지 않은 경우 건너뛰고
/dev/loopN
대신 사용하십시오/dev/loopNp1
). 를 실행fdisk disk.img
하거나dd if=/dev/sdX of=disk.img conv=notrunc bs=1M count=1
장치의 모든 파티션을 복사할 수 있습니다. losetup -f disk.img
- 이렇게 하면 루프 장치가 생성되고 해당 이름이 인쇄됩니다.mkfs.FOO /dev/loopNp1
- 파일 시스템 생성dd if=/dev/loopN of=/dev/sdX bs=1k count=16M conv=sparse
- 디스크 이미지의 첫 번째 15G(16*1024*1024*1024)를 장치에 복사합니다. 필요에 따라 조정할 수 있습니다.conv=sparse
모두 0이 포함된 쓰기 블록은 건너뜁니다.