Linux 시스템이 부팅되지 않는 문제가 있는 경우 일반적으로 다음 메시지가 표시됩니다.
kernel panic - not syncing: [Error Message]
그런데 "동기화되지 않음"은 무엇을 의미합니까? 정확히 무엇이 동기화되지 않았나요?
내가 이전에 동기화를 본 유일한 곳은sync
버퍼 캐시를 디스크에 커밋하는 시스템 호출
답변1
맞습니다. 동기화된 디스크를 의미합니다. 커널 패닉이 발생하면 파일 시스템 코드의 소프트웨어 버그를 포함하여 다양한 이유가 있을 수 있습니다.
동기식 디스크는 손상된 데이터를 디스크에 기록할 수 있습니다. 예를 들어 Ext4의 버그로 인해 패닉이 발생한 경우 커널은 주의를 기울여 오류를 일으키고 더 이상 데이터가 더 이상 유효하지 않다고 판단하므로 디스크에 아무것도 플러시하지 않습니다.
또한 하드웨어 문제(예: RAM 손상)로 인해 긴급 상황이 발생하는 경우 동기화 디스크는 메모리에서 디스크로 손상된 데이터를 쓸 수도 있습니다. 결과적으로 파일 시스템이 손상되면 재부팅 후 시스템이 부팅을 거부하거나 fsck가 필요할 수 있습니다.
일반적인 아이디어는 커널 자체가 충돌하면 더 이상 아무것도 신뢰하지 말고 시스템을 중지하는 것입니다.