
fsck
SDカードベースのデバイスが異常終了した後、ルートファイルシステムからSDカードを取り外しました。これにより、以下が変更されました。
e2fsck 1.43.1 (08-Jun-2016)
/dev/sdc2: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Run journal anyway<y>? no
Clear journal<y>? no
e2fsck: unable to set superblock flags on /dev/sdc2
ここで私は両方とも「いいえ」と答えましたが、すぐに同じ結果につながるYES / NOシーケンスはありません。
ファイルシステムがマウントされ、通常のチェックでは問題がないことがわかりました。ルートファイルシステムであるデバイスでも正常に動作します(実際には悪いです。コメントを参照してください。修復できないほど破損したいくつかのディレクトリがあります)。
dd
パーティション(8GB)をファイルに書き込み、fsckを試しました。楽しく:
e2fsck 1.43.1 (08-Jun-2016)
plush.rootfs: recovering journal
Clearing orphaned inode 18290 (uid=0, gid=0, mode=0100644, size=34096)
Clearing orphaned inode 18270 (uid=0, gid=0, mode=0100644, size=38916)
Clearing orphaned inode 18250 (uid=0, gid=0, mode=0100644, size=1128076)
Clearing orphaned inode 11411 (uid=0, gid=0, mode=0100644, size=293108)
Setting free inodes count to 406127 (was 408580)
Setting free blocks count to 1305622 (was 1347486)
plush.rootfs: clean, 60209/466336 files, 604906/1910528 blocks (check after next mount)
その後、fsck
クリーニングを介して画像をマウントしてfsck -f
通過させることもできます。
ただし、ネイティブブロックコピーイメージが作成されたカードのファイルシステムにはまだ同じ問題があります。ただし、systemd-fsck
起動中にファイルシステムが「クリーン」として記録される場合は除外されます。ただし、正しく閉じた後にカードを取り出し、fsck
別のボックスで再試行すると、同じエラーが発生します。
ソースファイルが別のシステムにインストールされるたびに、システムログに次のものが記録されます。
kernel: EXT4-fs (sdc2): 4 orphan inodes deleted
kernel: EXT4-fs (sdc2): recovery complete
すべてがバックアップされているので、ここでは何でも試してみたいと思います。単純に忘れて修正されたように見えるイメージからパーティションを再度書き込むことができますが、fsckが奇妙にもマイナーに見える問題を解決できないと仮定するのはそれほど満足のいく解決策ではないようです。
私はこれが次のことに関連する「公式文書の要求」の問題になると思います。フラグを復元する必要があります(または単なる「これはどういう意味ですか?」という質問)ですから、これらの内容の提案をいただきありがとうございます。
答え1
ちょうど同じ問題が発生しました。メンテナンス担当者と一緒に問題をデバッグした結果、e2fsck
SDカードが破損していることがわかりました。エラーなしで書き込みを許可しますが、実際にカードにデータを書き込むことはありません。 SDカードは実際に読み取り専用です。
カードが一種のセーフモードに切り替わったようで、まだデータを読み取ることはできますが、何も書き込めません。
このe2fsck
メッセージは、unable to set superblock flags
ログを処理済みとしてマークするためにスーパーブロックを書き込もうとします。これはエラーがないことを意味しますが、スーパーブロックの再読み込み時にまだログを再生する必要があることを示します。つまり、スーパーブロックに書き込まれた変更は記憶媒体に保存されません。
私が使っているこの問題のあるカードは、Samsung Evo 16GB microSDです。このカードの一般的な問題である場合に備えて言及します。
dd
ブロック0のカードに4096バイトを書き込んでから、カードから読み直してそれをテストすることができました/dev/zero
。
これで、データを新しいカードに転送し、SDカードに10年保証を提供すると思われるサムスンから交換用カードを受け取ることができるかどうかを確認しています。
アップデート:サムスンは、同じEvoシリーズで16GBカードを32GBカードに交換したため、大いに文句を言うことはできないようです!
答え2
私はこれが古いスレッドであることを知っていますが、いくつかの洞察を提供する必要があると思いました。
これはSDカードが自然史する方法のようです。 SDカードが耐えることができる読み取り/書き込みサイクル数は、「読み取り/書き込み」と見なされる他のほとんどのメディアよりはるかに少ないです。カードが使い果たされると、カードは読み取り専用モードになりますが、通知は提供されません。多くのものがOSキャッシュなどのためカードに書いていると思いますが、何も付いていません。
SDカードをシャットダウンする良い方法は、SDカードをスワップパーティションまたは読み取り/書き込み中心パーティションとしてマウントすることです。これがどれだけ早くカードを殺すことができるか驚かれるでしょう。 SD カードや USB サムドライブで knoppix を実行するには、カードの品質と knoppix の使用強度によっては 1 か 2 か月しか持続しないことがわかりました。 (後でUSB SSDドライブでknoppixを実行することに切り替え、数年間それをやってきました。)
答え3
私は他のmicroSD-USBアダプタと一緒にカードを使用した後に問題がなくなりました。これは最初のアダプタでもうまく機能します。私の場合、接触不良が問題だったようです。
答え4
同様のmicroSD問題が2回発生し、microSDではなくSDアダプタの問題であることがわかりました。別のSDアダプタに変更すると、最初のアダプタがmicroSDと同じブランドであってもスーパーブロックフラグを書き込めず、I / Oエラーが発生する問題を修正しました。