BeagleBone Black ベースのカスタム組み込み Linux ボードがあります。Linux-3.12、256MB RAM、ext4
ファイル システムを備えた 4GB eMMC が搭載されています。
時々、ファイル システム エラーが発生します (まれですが、あり得ないわけではありません)。そのため、起動時にファイル システム エラーをチェックして修正する必要があります。
当然、fsck やその他のユーティリティによってファイル システム上のデータが破壊されることは望ましくありません。
ビジーボックスベースなのでSysVinit
動作/forcefsck
しません :( そこで、/etc/fstab
(5 番目のフィールドを 1 に設定) してから、スクリプトfsck -p
から実行しましたrcS
。
この組み合わせは、パーティション以外のパーティションにも機能しますrootfs
。それに関していくつか質問があります。
fsck
パーティション上で実行する方法はありますかrootfs
?fsck -p
パーティション上のデータを破壊できますか?- この状況に対処するためのより良い方法、つまりファイル システム エラーをチェックして修正するサービスはありますか?
答え1
SysVinit ベースのデスクトップ Linux ディストリビューションの通常の方法は、ルート ファイルシステムでエラーが検出されると、起動時にルート パスワードを要求することです。その後、これを使用してfsck
ルート ファイルシステムで実行できます。組み込みディストリビューションでこれが実行されるかどうかはわかりませんが、そのように構成することは間違いなく可能です。
起動中にエラーが検出されない場合、別のオプションとして、root としてログインし、実際に必要のないものをすべて停止し、ルート ファイルシステムを読み取り専用で再マウントしてから、fsck を実行します。
これはブロックストレージのルートファイルシステムに関するものであり、ルート. Rootfs は、起動時に使用される最小限の RAM ベースのファイルシステムであり、破損することはありません (起動カーネル イメージが破損しているか、RAM が不良でない限り)。
原則として、fsck -p
は「安全な」修復のみを行うことを目的としていますが、本当に何も悪いことが起きないようにしたい場合は、手動で実行して、各アクションごとにプロンプトが表示されるようにします。何らかの理由でルート ファイルシステムに貴重なデータがある場合 (発生するはずはありませんが、発生する可能性があります)、dd
まず を使用してバックアップを作成します。