eBay에서 64GB SD 카드를 구입했습니다. Arch Linux ARM 이미지를 레코딩하고 Raspberry Pi를 부팅하는 데 사용할 때 정상적으로 작동합니다.
그러나 카드의 모든 용량을 사용하기 위해 단일 ext4 파티션을 만들려고하면 오류가 발생합니다. mkfs.ext4
항상 행복하게 끝납니다. 그러나 파티션을 종료 할 수 없으며 mount
항상 오류가 발생하고 dmesg
커널 메시지에 포함됨이 표시됩니다 Cannot find journal
. Arch Linux ARM과 Ubuntu 13.04의 두 가지 플랫폼에서 이러한 경우가 발생했습니다.
반면에, 오류없이 FAT32 파티션을 생성하고 마운트 할 수 있습니다 (전체 용량 검사가 수행되지 않았습니다).
더 나쁜 가격으로 카드를 판매하기 위해 일부 나쁜 사람들이 SD 카드 인터페이스를 변경하여 OS에 잘못된 용량을보고 할 수 있습니다 (예 : 카드가 실제로 2GB이지만 64GB로보고 됨).
badblocks
SD 카드에 불량 블록이 있는지 확인할 수있는 도구가 있다는 것을 알고 있습니다. badblocks
이와 같은 문제를 감지 할 수 있습니까 ? 그렇지 않은 경우 카드를 테스트 할 수있는 다른 솔루션은 무엇입니까?
내가 속이는 것인지 아닌지를 알고 싶은 것이 이상적입니다. 결과에 불량 상품이 도착했다는 메시지가 표시되면 판매자에게만 반품 할 수 있으며 누군가 나를 속이려고한다고 eBay에 신고하는 것입니다.
최신 정보
작업 및 메시지 :
~$ sudo mkfs.ext4 /dev/sde1
mke2fs 1.42.5 (29-Jul-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
4096000 inodes, 16383996 blocks
819199 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
500 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
~$ dmesg | tail
...
[4199.749118]...
~$ sudo mount /dev/sde1 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/sde1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
~$ dmesg | tail
...
[ 4199.749118]...
[ 4460.857603] JBD2: no valid journal superblock found
[ 4460.857618] EXT4-fs (sde1): error loading journal
최신 정보
실행 badblocks /dev/sde
했지만 오류가보고되지 않습니다. 즉, 나머지 원인은 다음과 같습니다.
는 SD 자동차가 좋다지만 어떤 이유로
mke2fs
하거나mount
또는 커널 문제를 일으키는 버그가 있습니다.나는
badblocks
패배를 감지 할 수없는 방식으로 속였다 . 제badblocks
위치에서 쓰기-읽기 테스트를 수행하고 있다고 생각하기 때문에 이는 타당 합니다. 그러나 사기꾼은 아웃 바운드 영역에 대한 액세스를 일부 인바운드 블록으로 다시 연결할 수 있습니다. 이 경우 전체 쓰기 읽기 검사는 문제점을 감지 할 수 없습니다.
적절한 테스트를 수행 할 수있는 응용 프로그램이 없다면 간단한 C 프로그램을 작성하여 테스트 할 수 있다고 생각합니다.
dmesg
커널 메시지 를 보여 주며 이전과 이후에 비교하고 비교했기 때문에 오류와 동시에 나타날 것이라고 확신합니다. 메시지를 보여줄 syslog
것이라고 생각하기 때문에 확인하지 않았습니다 dmesg
.