리눅스 시스템이 긴급 모드에 진입했을 때: initramfs & fsck
Source: Dev.to
initramfs란?
처음 이 단어를 보면 낯설게 느껴지죠?
initramfs는 initial RAM filesystem의 약자입니다. 부트로더가 메인 OS 파일시스템을 마운트하기 전에 RAM에 로드하는 작은 임시 파일시스템입니다. 메인 파일시스템을 마운트하는 데 필요한 도구들을 담은 툴킷이라고 생각하면 됩니다.
fsck란?
fsck는 file system integrity check의 약자입니다. 파일시스템에 문제가 발생했을 때 사용하는 도구입니다. fsck를 실행하게 되는 일반적인 이유는 다음과 같습니다:
- 비정상적인 종료
- 정전
- 디스크 오류
- 파일시스템 손상
fsck가 문제를 감지하면 자동으로 복구를 시도하거나 확인을 요청합니다.
initramfs와 fsck 예시
initramfs 셸은 다음과 같이 표시됩니다:
(initramfs) _
이 셸에서 다음과 같은 명령을 실행할 수 있습니다:
fsck /dev/sda1 # 루트 파티션 검사 및 복구
mount /dev/sda1 /root # 수동으로 마운트 시도
initramfs와 fsck가 상호 작용하는 간단한 6단계 예시:
- 시스템 부팅, 커널 로드.
- 커널이 initramfs를 RAM에 로드.
- initramfs가
/를 마운트하려고 시도하지만 실패. - initramfs 셸로 떨어짐.
fsck를 실행해 파일시스템을 복구.- 재부팅. 성공하면 시스템이 정상적으로 부팅됨.
마무리
이제 initramfs와 fsck가 무엇이며 부팅 과정에서 어떻게 함께 작동하는지 기본적인 개념을 이해하셨을 것입니다.