私はU-bootブートローダを持つバナナPIのSDカードでDebian 8.1を実行しています。
再起動後、システムを強制的に実行しようとしましたが、fsck
どうしても何も起こりませんでした。これまで私は次のことを試しました。
FSCKFIX=yes
内部に設定/etc/defaults/rcS
touch /forcefsck
そしてreboot
/proc/cmdline
含めるように更新fsck.mode=force
し(これはファイルを別の場所にコピーしてからその場所にコピーすることによってfsck.repair=yes
行われます)cp
mount -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=yes
Systemdに設定してください。/etc/defaults/rcS
あなたには役に立ちません。/proc
また、仮想ファイルシステムそのため、再起動間の変更は消えます。
これらのカーネルオプションを設定するのに適していますsystemd
が、次のものが必要です。起動パラメータに追加します。。
最後に以下を/boot/boot.cmd
追加します。fsck.repair=yes
setenv 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