SD 카드를 포맷하려고 합니다.이것가이드. 파티션 테이블을 성공적으로 생성할 수 있지만 mkfs를 사용하여 Linux 파티션을 포맷하려고 하면 다음과 같은 출력이 생성됩니다.
mke2fs 1.42.9 (4-Feb-2014)
Discarding device blocks: 4096/1900544
무기한 매달릴 것 같습니다. 한동안 프로세스를 실행해 보았지만 아무 것도 바뀌지 않았습니다. SD 카드를 꺼내면 mkfs는 예상되는 출력을 터미널에 기록합니다.
mke2fs 1.42.9 (4-Feb-2014)
Discarding device blocks: failed - Input/output error
Warning: could not erase sector 2: Attempt to write block to filesystem resulted in short write
warning: 512 blocks unused.
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
476064 inodes, 1900544 blocks
95026 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1946157056
58 block groups
32768 blocks per group, 32768 fragments per group
8208 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: done
Warning: could not read block 0: Attempt to read block from filesystem resulted in short read
Warning: could not erase sector 0: Attempt to write block to filesystem resulted in short write
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: 0/58
Warning, had trouble writing out superblocks.
mkfs가 블록을 "삭제"하고 있다고 보고하는 이유는 무엇이며 정지 원인은 무엇입니까?
편집하다
두 개의 파티션(100MB와 7.3GB)을 성공적으로 만들 수 있었습니다. 그런 다음 100MB 파티션을 FAT32로 포맷하고 마운트할 수 있었습니다. 이것이 ext4 7.3GB 파티션에서 발생한 문제였습니다.
dmesg에는 다음이 넘쳐납니다:
[ 9350.097112] mmc0: Got data interrupt 0x02000000 even though no data operation was in progress.
[ 9360.122946] mmc0: Timeout waiting for hardware interrupt.
[ 9360.125083] mmc_erase: erase error -110, status 0x0
[ 9360.125086] end_request: I/O error, dev mmcblk0, sector 3096576
편집 2
ext4로 포맷하려고 하면 문제가 발생하는 것 같습니다. 예를 들어 7.3GB 파티션을 FAT32로 포맷했는데 작업이 성공적이었습니다.
편집 2
흥미롭게도 SD 카드를 BeagleBone에 삽입하고 Mint와 똑같은 방식으로 포맷했는데 모든 것이 완벽하게 작동했습니다. SD 카드를 제거하고 다시 호스트에 삽입한 후 새로 생성되고 포맷된 파티션에 데이터를 복사했습니다.
답변1
나는 실제로 당신이 커널 3과 4에서 자주 논의되는 ext4 손상 버그로 고통받고 있다고 의심합니다. 이 스레드를 살펴보세요.
http://bugzilla.kernel.org/show_bug.cgi?id=89621
다양한 설정으로 인해 ext4 파일 시스템 손상 오류가 지속적으로 보고되고 있습니다. 많은 사람들이 포럼에 불만을 토로했습니다. 이 버그는 RAID 구성을 사용하는 더 많은 사람들에게 영향을 미치는 것으로 보입니다.
하지만 4.0.3에서는 수정되었다고 합니다.
"4.0.3은 상당한 데이터 손실을 초래할 수 있는 중요한 ext4 버그를 수정합니다."
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=785672
2015년 11월 30일 현재 수정된 버그를 포함하여 다른 ext4 버그가 있습니다.
https://lists.ubuntu.com/archives/foundations-bugs/2015-November/259035.html
ext4의 구성 옵션과 정전으로 인해 발생할 수 있는 피해에 대해 논의하는 매우 흥미로운 기사도 있습니다.
http://www.pointsoftware.ch/en/4-ext4-vs-ext3-filesystem-and-why-delayed-allocation-is-bad/
나는 ext4(아마도 ext3)가 아닌 다른 파일 시스템을 사용하여 카드를 테스트할 것입니다.
ext4의 이러한 시스템 버그는 내 작업 팜에 있는 Jessie의 데비안 백포트 저장소에서 linux-image-4.3.0-0.bpo.1-amd64를 사용하는 이유 중 하나입니다.
특히 귀하의 버전인 커널 3.13은 이 버그에 더 취약한 것 같습니다.
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1298972 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1389787
제쳐두고 싶지는 않습니다. 아마도 귀하 측의 일부 구성 및 하드웨어 조합으로 인해 평소보다 이 오류가 발생할 가능성이 더 높습니다.
SD 카드는 마모로 인해 손상될 수도 있으며, ext4fs 시스템은 저널링 파일 시스템으로 인해 SD 카드에 적합하지 않습니다. 궁금해서 Lamobo R1을 사용하고 있으며 SD 카드를 사용하여 커널과 SSD 디스크를 부팅하고 있습니다.