OS/Linux 기초

18. boot loader

yeommm 2019. 9. 5. 17:14

 

부트 로더란 초기 적재 프로그램으로 운영체제가 시동되기 이전에 미리 실행되면서 kernel이 올바르게 동작하기 위해 필요한 사전 작업을 마무리하고, 최종적으로 운영체제를 시동시켜주기 위한 목적을 가진 프로그램이다.

 

(1)GRUB(Grand Unified Boot Loader)

GNU에서 만든 멀티부팅 리눅스 부트로더

 

*grub 설정 파일

/boot/grub2/grub.cfg : 원본

/etc/grub2.cfg : 링크

->편집금지: 관리자도 해당 파일을 직접적으로 편집하지 않는다.

-> 설정 변경 시에는 /etc/grub.d/ 경로의 파일들, /etc/default/grub 파일을 편집해서 변경을 진행한다.

-> 변경 사항을 원본 설정 파일에 적용 시에는 grub2-mkconfig 형식으로 설정 재적용을 해야한다.

 

*/etc/default/grub(부팅 화면 옵션)

1. 화면이 나오고 부팅되는 시간, 초단위로 표시

  -> -1: 사용자가 앤트리 선택할 때까지 대기

2. 부팅화면 앤트리 앞에 붙을 배포판 이름

3. 앤트리 선택 여부

  -> saved: 이전에 선택한 앤트리를 기본으로 선택

  -> 0: 첫 번째 앤트리 선택

  -> 1: 두 번째 앤트리 선택

4. 서브메뉴 사용 여부

  -> true: 사용 안함

5. grub화면을 표시할 장치

  -> console: 모니터 출력을 의미

6. 부팅 시 kernel에 전달할 파라미터 정의

7. 복구와 관련된 것들의 표시 여부

  -> true: 비활성

 

*grub 접근 보안 설정

리눅스 초기 보안 설정 작업 중 하나로 설정 시 /etc/grub.d/00_header 파일에 라인을 작성한다.

ex)

  cd /etc/grub.d
  vi 00_header -> 
  cat < set superusers="grubadmin"
  password grubadmin 1111
  EOF
  맨 밑에 이 4줄 입력 후 저장
  설정 후 원본 파일에 재적용 작업 필요 -> grub2-mkconfig -o /boot/grub2/grub.cfg

 

 

(2)LILO(Linux Loader)

단순하지만 안정적인 리눅스 부트로더로 특정한 파일 시스템에 의지하지 않으며, 설정파일은 /etc/lilo.conf 이다.

리눅스의 기본 부트로더로 자리 잡았으나 현재는 grub에 밀려나는 추세이다.