サーキットブレーカを操作した後、私のRaspberry Piはカーネルパニックで起動を停止し始めました(ここ)。これはRaspbianを実行するRaspberry Piなので、ext4
SDカードのデフォルトパーティションで実行されます。以下を使用してPCから回復しようとしました。
sudo e2fsck -f -y -v /dev/sdx2
しかし、これは最終的に奇妙な出力のために失敗します。
Error writing block 137439060017 (Invalid argument) while getting next inode from scan. Ignore error? yes
Error reading block 183472412950529 (Invalid argument). Ignore error? yes
Force rewrite? yes
Error writing block 183472412950529 (Invalid argument) while getting next inode from scan. Ignore error? yes
Inode 13329, i_size is 4096, should be 549755817984. Fix? yes
Inode 13607, i_size is 69632, should be 137439023104. Fix? yes
Error reading block 36983963385857 (Invalid argument). Ignore error? yes
Force rewrite? yes
Error writing block 36983963385857 (Invalid argument) while getting next inode from scan. Ignore error? yes
Error reading block 179632729097217 (Invalid argument). Ignore error? yes
Force rewrite? yes
Error writing block 179632729097217 (Invalid argument) while getting next inode from scan. Ignore error? yes
Error reading block 17592186080054 (Invalid argument) while reading directory block. Ignore error? yes
Force rewrite? yes
Error writing block 17592186080054 (Invalid argument) while getting next inode from scan. Ignore error? yes
Error storing directory block information (inode=17449, block=0, num=134507168): Memory allocation failed
/dev/sdx2: ***** FILE SYSTEM WAS MODIFIED *****
e2fsck: aborted
/dev/sdx2: ***** FILE SYSTEM WAS MODIFIED *****
ここで心配する必要がある2つのことがあります。
- inodeサイズとブロックサイズがものすごく高いようです(16GB SDカードについて話しています)。
e2fsck
終了Memory allocation failed
- 32GB RAMを搭載したPCではほとんど無料です。実際に失敗する前に利用可能なRAMを占有します。
一時ファイルディレクトリを設定しようとしましたが、同じ結果が得られました(一部のファイルがe2fsck
そこに書き込まれ、ターゲットディレクトリが+ 250 GBの空き容量があるマウントにありました。空きRAMを占有して失敗しました)。
影響を受けたパーティションのデフォルトのファイルシステムパラメータが一部破損しているようです。それを診断して削除する方法は?
ベストアンサー1
e2fsck -fyを実行すると、最後のいくつかのエラーメッセージだけでなく、e2fsckレコード全体も保存する必要があります。おそらく、ファイルシステムが重大に破損しており、-yオプションはとにかく続行することを意味します。
ブロックグループ記述子が重大に破損しているようです。だから、inodeテーブルの場所は奇妙です。 E2fsckはおそらく問題を解決しようとしましたが、何らかの理由で問題を解決できませんでした。 「-y」は、それにもかかわらず実行され続けるという意味です。したがって、人々がバグレポートを送信するときに最後のいくつかのエラーだけでなく、e2fsckレコード全体を送信することを常にお勧めします。