부팅 과정: 부트 로더
100%

시스템 부팅 · 레슨 3

부팅 과정: 부트 로더

부트 로더가 리눅스 부팅 결과물을 선택하고 커널 명령줄을 구성한 뒤 제어권을 넘기는 방법을 알아봅니다.

부트 로더는 펌웨어 검색과 커널 실행을 연결합니다. 리눅스 PC에서는 GRUB이 흔하지만 systemd-boot, U-Boot, EFI 스텁 커널을 직접 불러오는 펌웨어 및 다른 설계가 이 역할의 서로 다른 부분을 구현합니다.

부팅 결과물 선택하기

로더 항목은 다음을 식별할 수 있습니다.

  • 리눅스 커널 이미지
  • 선택적인 initramfs 또는 레거시 initrd 이미지
  • 커널 명령줄
  • 플랫폼별 메타데이터 또는 다른 운영체제의 로더

GRUB은 여러 커널과 복구 항목을 표시할 수 있습니다. 대체 커널은 그에 맞는 모듈과 initramfs가 남아 있고 테스트된 경우에만 유용합니다. 로더는 지원되는 저장 장치 및 파일 시스템 모듈을 통해 파일을 읽으며 아직 실행되지 않은 리눅스 VFS에 의존하지 않습니다.

리눅스 부트 로더는 일반적으로 어디로 제어권을 넘깁니까?

커널 명령줄 매개변수

로더는 커널과 초기 사용자 공간이 해석하는 텍스트 명령줄을 전달합니다. 일반적인 예는 다음과 같습니다.

  • root=...: 의도한 루트 파일 시스템 또는 초기 사용자 공간 소스 사양을 식별
  • ro 또는 rw: 초기 루트 마운트 모드를 요청
  • quiet: 커널 콘솔 메시지를 줄임
  • init=...: 특수 복구를 위해 다른 첫 사용자 공간 프로그램을 요청
  • 배포판별 initramfs 도구가 해석하는 rd.* 매개변수

initrd는 일반적으로 이미지 이름을 지정하는 로더 지시문이며 범용 커널 매개변수가 아닙니다. 일부 GRUB 설정이 만든 명령줄에 BOOT_IMAGE=가 나타날 수 있지만 이것이 커널을 불러오는 메커니즘은 아닙니다.

현재 부팅에 사용된 명령줄을 검사합니다.

$ cat /proc/cmdline

root= 커널 명령줄 매개변수의 목적은 무엇입니까?

quiet 매개변수는 일반적으로 무엇을 요청합니까?

임시 편집과 복구

GRUB은 일반적으로 권한이 있는 콘솔 사용자가 메뉴에 표시된 편집 키 등을 이용해 한 번의 부팅에 사용할 항목을 편집할 수 있게 합니다. quiet를 제거하거나, 복구 매개변수를 선택하거나, 잘못된 루트 식별자를 고칠 때 유용합니다. 특히 보안 부팅과 암호로 보호된 GRUB 설정에서는 인터페이스와 권한 부여 방식이 다릅니다.

명령줄 매개변수의 민감한 텍스트는 /proc/cmdline, 부팅 로그 및 크래시 보고서에 노출될 수 있습니다. 보안을 약화시키거나 시스템을 부팅 불가 상태로 만들 수도 있습니다. 비밀 정보를 넣지 말고 정상 작동이 확인된 항목과 콘솔 복구 경로를 보존하십시오.

한 번의 부팅을 위해 GRUB 메뉴 항목을 대화형으로 편집할 때의 일반적인 특징은 무엇입니까?

영구 GRUB 설정

배포판은 일반적으로 템플릿, 기본값, 스크립트 및 검색된 커널에서 최종 GRUB 설정을 생성합니다. 배포판에서 그 작업 흐름을 명시적으로 문서화하지 않았다면 생성된 grub.cfg를 직접 편집하지 마십시오. 다시 생성하면 변경을 덮어쓸 수 있습니다.

범위가 좁은 원본 변경을 수행하고 배포판이 문서화한 재생성 명령을 실행하며 출력을 검사하십시오. 정상 작동이 확인된 이전 항목과 부팅 가능한 복구 미디어를 유지한 상태에서 테스트합니다. 명령과 출력 경로는 데비안, 페도라, UEFI 및 BIOS 설치에 따라 다릅니다.

생성된 grub.cfg를 직접 편집하는 방식이 일반적으로 신뢰하기 어려운 이유는 무엇입니까?

레슨 완료

부팅 과정: 부트 로더 완료

이제 로더 지시문과 커널 명령줄 매개변수를 구분할 수 있습니다.

  • 커널, initramfs, 명령줄 및 대체 항목을 식별합니다.

  • root=, ro 및 quiet를 실제 역할에 맞게 사용합니다.

  • /proc/cmdline에서 실행 중인 부팅의 매개변수를 검사합니다.

  • 대화형 편집을 임시적이고 보안에 민감한 작업으로 취급합니다.

  • 배포판 작업 흐름을 통해 영구 생성 설정을 변경합니다.

학습 진행 상황 저장

무료 계정을 만들어 이 레슨을 저장하고 어떤 기기에서든 계속 학습하세요.

무료 계정 만들기
다음 수업
시스템 부팅(으)로 돌아가기