리눅스 부팅 순서
graph TD;
A[전원켜기]-->B[POST : Power On Self Test];
B-->C[BIOS 단계];
C-->D[부팅 장치 검색CD, USB, HDD, 네트워크 상에서 MBR 0번섹터를 찾음];
D-->E[부트 로더 실행: Grub 실행];
E-->F[실행할 커널 선택];
F-->G[커널 로드 및 PID 1번 실행];
G-->H[기타 필수 프로그램 실행: 해당 런레벨에 맞는 프로그램들 실행];
H-->I[부팅완료];
- POST(Power On Selft Test) : BIOS가 컴퓨터 주변장치를 검사하는 과정
- 부트 로더 : 시스템을 초기화하고 운영체제를 메모리에 로드
- Grub(Grnad Unified Bootloader) : 멀티부트로더
런레벨
시스템의 상태를 나타내는 값(0~6) ※ centOS 버전7에서는 사용하지 않음
1
2
who -r # 런레벨 확인
init 0 # 런레벨 설정
0 : 시스템 복구 모드, 관리자 셀을 얻음 3 : 텍스트모드, 다중 사용자모드 5 : 그래픽 모드, 다중 사용자모드 6 : 재부팅
- /boot/grub2/grub.cfg : 버전이나 멀티 부팅할때 설정파일
systemd
부팅관련 프로세스
- 해당 런레벨에 맞는 프로세스를 실행
- 서비스 관리(데몬의 시작 및 종료 등.(서버))
- 소켓 관리, 장치 관리, 마운트 포인트 관리, 자동 마운트 포인트 관리 등..
1
2
3
4
5
6
7
8
9
sytemctl [옵션] [명령] [유닛이름]
# 부팅 런레벨 변경
systemctl get-default
systemctl set-default [multi-user.target|graphical.target]
# runlevel3 : multi-user.target
# runlevel5 : graphical.target
참고자료 : 따라하면서 배우는 IT