나는 데비안 6 및 3 파티션(FAT 및 2x ext2)이 있는 팬 없는 PC(문자 그대로 수백 개)를 사용하고 있습니다. 시스템에는 전원 버튼이 없기 때문에 대부분의 사람들은 init 0(또는 이에 상응하는 것)보다는 "끄기" 위해 플러그를 뽑는 경향이 있습니다. 결과적으로 파일 시스템 오류가 빠르게 발생할 수 있습니다.
"shutdown -rF"를 사용하여 fsck를 강제로 시도했지만 작동하지 않는 것 같습니다. 마운트하기 전에 각 마운트 지점/FS를 확인하도록 시스템에 지시하는 방법이 있는지 궁금합니다.
/etc/fstab에서 fsck 매개변수를 설정해 보았습니다. 이로 인해 일반적으로 "오류 발견"이 발생합니다. fsck' 메시지를 수동으로 실행합니다.
시도해 볼 수 있는 다른 옵션이 있나요?
답변1
In /etc/init.d/checkfs.sh
줄이므로 커널 명령줄에서 제공하거나 if [ -f /forcefsck ] || grep -s -w -i "forcefsck" /proc/cmdline
종료 시 파일을 만들면 다음 재부팅 시 fsck가 발생해야 합니다.forcefsck
/forcefsck
수동 fsck가 실행되는 것을 방지하려면 fsck
다음 /etc/default/rcS 항목의 -y
주석 처리를 제거하고 no를 no로 변경하여 이 옵션에 대한 오류를 자동으로 수정해 보십시오 . 편집한 후에는 다음과 같아야 합니다.yes
# automatically repair filesystems with inconsistencies during boot
FSCKFIX=yes
한 옵션(forcefsck 또는 FSCKFIX)은 다른 옵션을 의미하지 않습니다.
답변2
fsck.mode=force
부트로더에 커널 매개변수를 추가합니다. 이 옵션을 GRUB_CMDLINE_LINUX_DEFAULT=
내부 변수 에 추가합니다 /etc/default/grub
. 루트로 새 grub 구성 파일을 생성합니다.
[root@host]# grub-mkconfig -o /boot/grub/grub.cfg
forcefsck
이 매개변수는 마운트 지점의 루트 디렉터리에 파일을 생성하는 것과 동일한 효과를 갖습니다.
스크립트를 사용한 솔루션은 checkfs.sh
Debian에서는 더 잘 작동하지만 다른 배포판에서는 작동하지 않습니다.
답변3
내 답변을 편집하고 있습니다.
명령은 다음과 같습니다:
sudo tune2fs -c 1 /dev/sdX
맨페이지 -c 매개변수에 따라 tune2fs는 파티션 마운트 인스턴스 수를 계산합니다. 따라서 1은 모든 인스턴스 설치 후에 fs를 강제로 확인합니다.