Ubootブートローダを搭載したDebian 8.1は、再起動時にFSCKを実行できません。

Ubootブートローダを搭載したDebian 8.1は、再起動時にFSCKを実行できません。

私はU-bootブートローダを持つバナナPIのSDカードでDebian 8.1を実行しています。

再起動後、システムを強制的に実行しようとしましたが、fsckどうしても何も起こりませんでした。これまで私は次のことを試しました。

  • FSCKFIX=yes内部に設定/etc/defaults/rcS
  • touch /forcefsckそしてreboot
  • /proc/cmdline含めるように更新fsck.mode=forceし(これはファイルを別の場所にコピーしてからその場所にコピーすることによってfsck.repair=yes行われます)cpmount -n --bind

とにかく何も起こらないでしょう。ログファイル()を見ると/var/logs/fsck/checkfsエントリはありません。

起動時に起動する独自のファイルを作成しようとしましたが、私のログファイルを見た結果、fsckドライブfsck from util-linux 2.25.2(たとえばfsck -yf /dev/mmcblk0p2)で明示的に実行されるようにinitスクリプトを変更し、ログファイルにシステムが次のように表示されていることを示します。ドライブがマウントされているため停止します。ちなみに、この初期化スクリプトはcheckfs実行される前に実行されますcheckroot

どんな助けでも本当に感謝します!

答え1

私は最近BananaPiでこれを偶然見つけました。 Systemdを使用して起動できるので、FSCKFIX=yesSystemdに設定してください。/etc/defaults/rcS

あなたには役に立ちません。/procまた、仮想ファイルシステムそのため、再起動間の変更は消えます。

これらのカーネルオプションを設定するのに適していますsystemdが、次のものが必要です。起動パラメータに追加します。

最後に以下を/boot/boot.cmd追加します。fsck.repair=yessetenv bootargs

setenv bootargs "console=tty1 root=/dev/mmcblk0p1 rootwait rootfstype=ext4 cgroup_enable=memory swapaccount=1 sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=16 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 panic=10 consoleblank=0 enforcing=0 loglevel=${verbosity} fsck.repair=yes"

/boot/boot.cmd表示するには、次のコマンドを使用して再生成する必要があることに注意することが重要です(最後に印刷されます/boot/boot.cmd)。

mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr

再起動後に適用されたことを確認できますcat

~# cat /proc/cmdline 
console=tty1 root=/dev/mmcblk0p1 rootwait rootfstype=ext4 cgroup_enable=memory swapaccount=1 sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=16 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 panic=10 consoleblank=0 enforcing=0 loglevel=1 fsck.repair=yes

関連情報