一般化する
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個のファイルが異なります。
ハードウェアとオペレーティングシステム
- Dell Inspiron 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にコピーし、ソースとターゲットを比較します。違いなし。
約1時間後、2つのファイルを削除した後、diffの結果、50のファイルが異なる、つまり破損していることがわかりました。 2つの違いだけを見るべきです。バイナリだけが破損しているようです(ただし一部のみ)。
結果:まだ利用できません。