부팅: 컴퓨터 전원을 켜고 로그인 프롬프트가 나올 때까지의 과정
시스템의 초기화 과정, 컴퓨터 전원을 켜서 시스템이 온전히 가동될 때까지의 과정
1. ROM BIOS의 펌웨어가 실행됨
- 하드웨어(키보드, 마우스 등) 검사 후, 부트 로더를 적재
- 1-1) POST (Power On Self Testing) : 부팅될때 키보드, 메모리, 모니터 등을 점검하는 셀프 테스트하는 과정
- 1-2) BIOS 펌웨어가 부트 로더를 적재
2. MBR에 있는 부트 로더가 실행됨
부트 로더가 파티션 테이블에서 부팅 가능한 파티션을 찾아 (부팅가능한게 리눅스라면 리눅스의) 부트 로더를 적재
- MBR(Master Boot Record): 디스크의 첫번째 섹터(=부트 섹터)
- MBR에 존재하는 파티션 테이블을 조사하여 부팅 가능한 파티션을 찾음
- 리눅스의 부트로더인 GRUB를 찾아 램에 적재함
GRUB: 리눅스의 기본 부트로더
(이전에는 LILO가 쓰였음)
3. GRUB가 커널이미지와 initramfs를 로드
- 커널 이미지 경로: /boot/vmlinuz-<kernel-version>
- initramfs: RAM에 있는 커널이 사용하는 임시 파일 시스템, 부팅 과정에서 root(/) 파일 시스템을 마운트하기 전까지 필요함, root(/) 파일 시스템을 마운트 시키고 사용자 디바이시를 인식하고 드라이버를 찾는 프로그램들을 갖고 있는 임시 파일 시스템.
- GRUB의 기능: 커널 이미지 적재, initramfs를 로드
4. 커널이 실행
- GRUB가 커널에게 제어를 넘긴다
5. 하드웨어 점검하고 초기화함
6. 루트(/) 파일 시스템을 마운트하고 검사
7. 커널은 /lib/sytemd/systemd 프로그램 실행시키고 제어를 넘김
- 커널이 최종적으로 초기화 데몬인 systemd 프로그램을 실행하고 제어권 넘김
(과거의 초기화 데몬: init 프로세스)
- systemd 프로세스는 시스템 운영을 위한 나머지 초기화 과정을 처리
- systemd 는 부팅이 끝난 후에도 계속 수행됨
- systemd 는 부팅 작업이 끝난 이후에도 Linux 가 운영되면 계속 수행하면서 시스템과 서비스를 관리함
- systemd 는 shutdown이 일어나면 shutdown도 처리한다.
/etc/systemd/system/default.target
default.target는 시스템이 부팅될때 기본적으로 활성화되는 target을 지정한 유닛 파일
default.target의 심볼릭 링크가 무엇으로 되어있느냐에 따라 시스템 부팅될때 어떤 환경이 자동으로 실행되게끔 초기 부팅 모드 설정할 수 있음
graphical.target : 그래픽 환경
multi-user.target : 텍스트만 지원하는 콘솔 환경 (CLI)
출처: 한국방송통신대학교 UNIX 시스템 강의 5강
'리눅스' 카테고리의 다른 글
리눅스 usb 마운트하기 (2) | 2024.09.29 |
---|---|
리눅스 초기화 데몬 systemd 프로세스란? (0) | 2024.09.29 |
VMware 가상머신에 로키 리눅스 설치하기 (0) | 2024.09.21 |
로키 리눅스 설치 방법 (2) - 부팅 USB를 사용하여 데스크탑 PC에 설치 (5) | 2024.09.15 |
로키 리눅스 설치 방법 (1) - 부팅 USB 만들기 (0) | 2024.09.15 |