SDカードを取り付けたいです。 dmesg ログを挿入すると、以下が表示されます。
[Thu Oct 25 10:59:44 2018] sd 0:0:0:0: [sdb] 30318592 512-byte logical blocks: (15.5 GB/14.5 GiB)
[Thu Oct 25 10:59:44 2018] sdb: sdb1
よさそうですが、インストールしようとしたときにコマンドを使用すると失敗しますsudo mount /dev/sdb1 /mnt/sdcard
。 dmesg 出力は次のようになります。
[Thu Oct 25 10:59:55 2018] FAT-fs (sdb1): error, invalid access to FAT (entry 0x00038a03)
[Thu Oct 25 10:59:55 2018] FAT-fs (sdb1): Filesystem has been set read-only
誰でも何が間違っているのか教えてもらえますか?すべてのデータが失われるため、カードをフォーマットしたくありません。
ベストアンサー1
Linuxカーネルのソースコードを読むと、<source code root>/fs/fat/fatent.c
メッセージの表現が少し間違っていることがわかります。これは、実際にアクセス中のFATエントリが検証に失敗したことを意味します。
カードのマウントを解除してから、fsck.fat -n /dev/sdb1
カードのファイルシステムの状態を評価し、可能であれば実行してfsck.fat -aw /dev/sdb1
回復を試みることができます。
ファイルシステムを回復する前に、カード内のファイルが重要な場合は、カードの内容のイメージを作成できます。dd if=/dev/sdb1 of=/some/place/with/plenty/of/space/sdcard.img bs=16k