
マウントされたファイルシステムを回復するには、再起動時に強制的にファイルシステムチェックを実行する必要があります。私が見つけたすべてのコマンド/方法はFreeBSD10では廃止されました。
[\u@vader:/root] # tune2fs -c 1 /dev/vtbd0p2
tune2fs: not found
[\u@vader:/root] # pkg install tune2fs
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
pkg: No packages available to install matching 'tune2fs' have been found in the repositories
ファイルシステムのチェックを強制し、次回の再起動時にエラーを一度に修正するにはどうすればよいですか?
答え1
これを処理する最善の方法は、システムをシングルユーザーモードで再起動して手動で実行することですfsck
。何らかの理由でこの方法がうまくいかない場合、それを処理する次善策はいくつかのrc.conf
ハンドルを回すことです。具体的には次のようになります。
background_fsck="NO"
fsck_y_enable="YES"
fsck_y_flags="-f"
再起動すると、rc
サブシステムはそれを処理します。rc.early
これは廃止FreeBSDは2007年から使用されました。
答え2
私のために、
background_fsck="NO"
fsck_y_enable="YES"
fsck_y_flags="-f"
この方法も機能しません(他の10.xバージョン)。だから私はこの「汚い」ハッキングを使います/etc/rc.d/root
。
--- /tmp/root.orig 2018-06-09 00:56:23.089825000 +0200
+++ /etc/rc.d/root 2018-06-09 00:56:03.831574000 +0200
@@ -22,6 +22,9 @@
[Nn][Oo] | '')
;;
*)
+ # Uncomment the below line to run FORCED fsck on ALL mounts in /etc/fstab during boot:
+ /sbin/fsck -fy || /sbin/fsck -fy
+
if ! mount -uw /; then
echo 'Mounting root filesystem rw failed, startup aborted'
stop_boot true
これは間違いなく動作します。 警告する:このコマンドを実行した後、/sbin/fsck... 行を再度コメントアウトします。時間がかかり、fsck を実行する必要がある作業ではない場合は危険です。
答え3
答え4
FreeBSDには強制削除機能があるため、実際に起動時にこれを行う必要はありません。 (リモートで)ログインし、rootfsを読み取り専用で再マウントし(mount -fur /
)、fsckを手動で(fsck -y /
)、コンピュータを再起動します。