일반화하다
ext2 파일 시스템을 사용하여 64Ggb 마이크로 SD 카드를 포맷했습니다. 파일을 마운트하고 복사한 후 10,500개 파일 중 거의 400개에 달하는 파일이 손상되었습니다.
나는 또한 ext3과 ext4를 시도했습니다. 여기 많은 사람들이 ext 파일 시스템을 사용하여 SD 카드를 성공적으로 포맷한 것을 확인했습니다.
세부 사항
- fdisk를 사용하여 파티션을 삭제하고 Linux 파티션으로 다시 만들었습니다.
fdisk /dev/mmcblk0
d, 1
n, p, 1, 2048, max
w
Command (m for help): p
Disk /dev/mmcblk0: 59.46 GiB, 63847792640 bytes, 124702720 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
Disklabel type: dos
Disk identifier: 0x1fdb5227
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 2048 124702719 124700672 59.5G 83 Linux
- 파일 시스템 생성
mkfs -t ext2 -m 1 -b 2048 /dev/mmcblk0p1
tune2fs -L microsd /dev/mmcblk0p1
- 이 /etc/fstab 항목을 설치했습니다.
LABEL=microsd /mnt/data1 ext2 auto,async,rw,exec,noatime,nosuid,nodev 0 2
- /mnt/data1/에 약 10,500개의 파일을 복사했습니다.
원본파일과 복사된 파일을 비교해봤습니다. 거의 400개의 파일이 서로 다릅니다.
하드웨어 및 운영 체제
- 델 인스피론 11-3180 노트북
https://www.dell.com/support/home/en-us/product-support/product/inspiron-11-3180-laptop/docs
SD 카드: SanDisk Extreme, 64GB, MicroSD, V30, XC1, [3] A2
microSD 슬롯에 삽입하세요.
OS: MX-21.2.1_KDE_x64 Wildflower 2022년 4월 9일
커널: 5.10.0-20-amd64 #1 SMP Debian 5.10.158-2 (2022-12-13) x86_64 GNU/Linux
업데이트 1
- f2fs 파일 시스템을 사용해 보세요
mkfs -t f2fs -f /dev/mmcblk0p1
F2FS-tools: mkfs.f2fs Ver: 1.14.0 (2020-08-24)
Info: Disable heap-based policy
Info: Debug level = 0
Info: Trim is enabled
Info: Segments per section = 1
Info: Sections per zone = 1
Info: sector size = 512
Info: total sectors = 124733440 (60905 MB)
Info: zone aligned segment0 blkaddr: 512
Info: format version with
"Linux version 5.10.0-20-amd64
([email protected])
(gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, GNU ld
(GNU Binutils for Debian) 2.35.2) #1 SMP Debian 5.10.158-2 (2022-12-13)"
Info: [/dev/mmcblk0p1] Discarding device
Info: This device doesn't support BLKSECDISCARD
Info: Discarded 60905 MB
Info: Overprovision ratio = 0.810%
Info: Overprovision segments = 497 (GC reserved = 254)
- 이 /etc/fstab 항목을 사용하여 설치하십시오.
/dev/mmcblk0p1 /mnt/mxtrance.data1 f2fs auto,async,rw,exec,noatime,nosuid,nodev 0 0
- 10,500개 파일 복사 후 35개 파일이 "다름"으로 표시됨
그런 다음 35개 파일을 다시 복사했는데 차이점이 없다고 보고되었습니다. 그러나 5분 후에는 문제가 있는 20개의 파일이 표시됩니다: "입력/출력 오류"
- 이 SD 카드를 포기하겠습니다
이 특정 SD 카드는 다시 포맷할 수 없을 수도 있습니다. 다른 SD 카드 "유형"을 구입하여 다시 시도해 보겠습니다.
업데이트 2
- 다른 새로운 MicroSD 카드를 사용해 보았습니다.
SD Card: SanDisk Ultra, 64gb, MicroSD, [1], XC 1, (10) A1
140MB/s transfer speed
- fdisk를 사용하여 파티션을 삭제하고 Linux 파티션으로 다시 만들었습니다.
Before:
/dev/mmcblk0p1 32768 124735487 124702720 59.5G 7 HPFS/NTFS/exFAT
fdisk /dev/mmcblk0
d
n, p, 1, 2048, 124735487
w
After:
/dev/mmcblk0p1 2048 124735487 124733440 59.5G 83 Linux
Reboot
- f2fs 파일 시스템 생성
매뉴얼 페이지와 함께 다음이 유용합니다. https://docs.kernel.org/filesystems/f2fs.html
mkfs -t f2fs -l microsd -f /dev/mmcblk0p1
F2FS-tools: mkfs.f2fs Ver: 1.14.0 (2020-08-24)
Info: Disable heap-based policy
Info: Debug level = 0
Info: Label = microsd
Info: Trim is enabled
Info: Segments per section = 1
Info: Sections per zone = 1
Info: sector size = 512
Info: total sectors = 124733440 (60905 MB)
Info: zone aligned segment0 blkaddr: 512
Info: format version with
"Linux version 5.10.0-20-amd64 ([email protected])
(gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils
for Debian) 2.35.2) #1 SMP Debian 5.10.158-2 (2022-12-13)"
Info: [/dev/mmcblk0p1] Discarding device
Info: This device doesn't support BLKSECDISCARD
Info: Discarded 60905 MB
Info: Overprovision ratio = 0.810%
Info: Overprovision segments = 497 (GC reserved = 254)
Info: format successful
- /etc/fstab을 사용하여 마운트
LABEL=microsd /mnt/mxtrance.data1 f2fs auto,async,rw,exec,gc_merge,discard,data_flush,noatime,nosuid,nodev 0 0
10,519개의 파일을 /mnt/mxtrance.data1에 복사하고 소스와 대상을 비교합니다. 차이 없음.
약 한 시간 후, 2개의 파일을 삭제한 후 diff 결과 50개의 파일이 서로 다른, 즉 손상된 것으로 나타났습니다. 두 가지 차이점만 보아야 합니다. 바이너리만 손상된 것 같습니다(그러나 일부만).
결과: 여전히 사용할 수 없습니다.