재부팅 시 fsck.ext4를 강제 실행하지만 실제로는 "강제적"입니다.

재부팅 시 fsck.ext4를 강제 실행하지만 실제로는 "강제적"입니다.

내 Ubuntu 10.04 서버 중 하나가 문제를 일으키고 있습니다. 실행하면 fsck.ext4 -n /dev/sda5사용 가능한 inode 수, 사용 가능한 블록 수 등에 오류가 있다는 메시지가 표시됩니다.

나는 시도했다:

touch /forcefsck

또한 시도했습니다:

shutdown -rF now

그래도 재부팅 후에도 오류가 표시됩니다.

방금 eeePC 넷북인 Ubuntu 10.10을 확인했는데 같은 문제가 발생했습니다!

재부팅 시 "/" 파일 시스템의 "강제" "강제" "내 파일 시스템 수정" fsck를 강제로 실행하려면 어떻게 해야 합니까?

설명:fsck.ext4 -n마운트된 파일 시스템이기 때문에 오류가 있는지 확인하기 위해 실행합니다 . 이것은 존재한다는 것을 말해줍니다. 부팅 과정에서 30번 마운트마다 자동으로 fsck를 수행하는 것은 다음과 같다고 생각했습니다.정확하게루트 파일 시스템의 오류를 처리합니다. 하지만 내 경우에는 그렇지 않습니다. LiveCD로 재부팅하고 오류를 수정한 다음 다시 재부팅할 수 있지만 이는 라이브 서버에 심각한 다운타임을 초래합니다. 재부팅하고 자동 fsck를 수행한 다음 계속 부팅하는 것이 라이브 서버에서 훨씬 더 지속 가능하며 올바른 동작이어야 한다고 생각합니다.

추가 정보:출력은 다음과 같습니다. autofsck가 고칠 것 같지 않습니까?

root@server:~# fsck.ext4 -n /dev/sda5
e2fsck 1.41.11 (14-Mar-2010)
Warning!  /dev/sda5 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/sda5 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (1849368, counted=1948909).
Fix? no

Free inodes count wrong (545504, counted=552134).
Fix? no


/dev/sda5: ********** WARNING: Filesystem still has errors **********

/dev/sda5: 116752/662256 files (0.2% non-contiguous), 795324/2644692 blocks

답변1

이것이 정말 오래된 스레드라는 것을 알고 있지만 최근에 이 문제를 해결해야 했기 때문에 OS가 부팅 중 fsck에서 발견된 문제를 강제로 수정하도록 하는 방법(12.04의 경우)을 게시하고 싶었습니다.

명령을 실행해야 합니다 sudo touch /forcefsck. 그러면 다음 부팅 시 fsck가 수행됩니다. /var/log/boot.log에서 fsck 결과를 볼 수 있습니다.

그러나 fsck가 발견한 내용을 수정한다는 보장은 없습니다. 이렇게 하려면 /etc/default/rcS 파일을 편집해야 합니다. 해당 파일 끝에 다음 줄이 있습니다.

FSCKFIX=no

이를 다음과 같이 변경해야 합니다.

FSCKFIX=yes

이는 가능한 모든 수정 사항을 강제로 구현하고 사용자 상호 작용을 요청하지 않는 -y 옵션을 사용하여 fsck를 실행하는 것과 동일한 효과를 갖습니다.

이렇게 하면 특히 원격 시스템에 있는 경우 항상 가능하지 않은 라이브 디스크에서 부팅하지 않고도 OP가 요청한 것처럼 fsck를 실행할 수 있습니다.

답변2

sudo touch /forcefsck
sudo reboot

오타가 있습니다. /forcefcsk를 터치하고 계십니다. "c"와 "s"가 바뀌었습니다. fsck는 FileSystemChecK의 약자입니다.

답변3

e2fsck 매뉴얼 페이지에서:

"일반적으로 마운트된 파일 시스템에서 e2fsck를 실행하는 것은 안전하지 않습니다. 유일한 예외는 -n 옵션이 지정되고 -c, -l 또는 -L 옵션이 지정되지 않은 경우입니다. 그러나 안전하더라도 그렇게 하려면 파일 시스템이 마운트된 경우 e2fsck에 의해 인쇄된 결과가 유효하지 않습니다. e2fsck가 마운트된 파일 시스템을 확인해야 하는지 묻는 경우 유일한 정답은 '아니오'입니다. 그들은 이 질문에 다른 방식으로 대답하는 것을 고려해야 합니다."

따라서 -n 옵션을 사용하더라도 fsck로 마운트된 FS를 검사하면 결과가 전혀 유효하지 않을 수 있습니다. 마운트된 파일 시스템을 확인하지 마십시오. Live-CD/Live-USB를 사용하십시오.

마운트된 동안 파일 시스템을 확인하지 않으면 왜 사용해야 하는지 이해할 수 없습니다. touch /forcefsck마운트를 해제하고 수정하면 됩니다. 그러나 수정 후에도 FS에 여전히 오류가 있는 경우 다음 사용을 고려할 수 있습니다.

e2fsck -cy /dev/sda5

이렇게 하면 불량 블록이라는 하드 드라이브 관련 문제가 해결됩니다(오랜 시간이 소요됨).

마운트된 파일시스템을 확인하고 싶다면 어떻게 진행해야 할지 모르겠지만 질문을 하나 더 작성해야 할 것 같습니다.

답변4

다음과 같은 방법으로 자동으로 수정을 수행할 수 있습니다.

Tune2fs -c 5 -i 10 / dev / sda1

-c는 실행 전 최대 마운트 수 fsck이고 -i는 실행 전 최대 일수입니다 fsck.

이 경우 마운트는 5회마다 또는 10일마다 중 먼저 도래하는 기준으로 수행됩니다.

저는 두 대의 컴퓨터를 가지고 있습니다. 하나는 Linux SuSE 13.2이고 다른 하나는 Linux Mint 18.0이며 둘 다 완벽하게 작동합니다.

관련 정보