강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

부팅 2단계 : 부트로더(GRUB)의 실행과 역할

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

부팅 2단계 : 부트로더(GRUB)의 실행과 역할

 

 

 

 

 

 

앞에서 우리는 컴퓨터 전원이 켜지면서 ROM-BIOS에 의해서 수행되는 역할들을 크게 2가지로 나누어서 배웠다.

 

 

 

 그 역할들 가운데 가장 마지막 역할이 리눅스 부트로더인 GRUB의 실행이다.

 

 

 

 GRUB이 실행되었을 때 우리는 다음과 같은 화면을 컴퓨터에서 보게된다.

 

 

 

 

 

316fee9c12ed6bd492a864a12bb0b067_1684384114_6003.jpg
 316fee9c12ed6bd492a864a12bb0b067_1684384133_9901.jpg

 

 

 

 

 

바로 이 시점이 부팅과정의 초기단계에서 우리가 늘 보아왔던 GRUB의 부팅 초기화면이다.

 

 

 

 이 단계에서 우리는 원하는 부팅메뉴를 선택하여 원하는 커널로 부팅을 할 수 있는 것이다.

 

 

 

 , 이제 GRUB이 실행되었다면 이 GRUB은 어떤 역할을 수행하게 될까? GRUB의 역할 또한 다음과 같이 크게 2가지로 나누어 볼 수 있다.

 

 

 

 

 

첫번째 역할 : 리눅스커널(Linux Kernel) 적재(Loading)

 

두번째 역할 : 스와퍼(Swapper) 프로세스 호출

 

 

 

이것이 GRUB이 하는 가장 큰 2가지 역할이다.

 

 

 

 위의 화면에서 어떤 부팅메뉴로 부팅을 할 것인가를 결정하는 것은 /boot/grub/grub.conf파일에 정의되어 있다.

 

 

 

 즉 이 파일의 내용에 따라서 위의 화면에 나오는 메뉴들이 달라진다는 의미이다.

 

 

 

 다음은 /boot/grub/grub.conf파일의 내용이다.

 

 

 

 

 

[root@sulinux ~]#cat /boot/grub/grub.conf

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

password --md5 $1$w/FxeJ6H$EjTg1ecIOxYb4HOj1UBpR1

title SULinux Server 2.0 (2.6.18-92.SUL2.fd)

        root (hd0,0)

        kernel /vmlinuz-2.6.18-92.SUL2.fd ro root=LABEL=/ rhgb quiet vga=771

        initrd /initrd-2.6.18-92.SUL2.fd.img

[root@sulinux ~]#

 

 

 

 

앞에서 보았던 GRUB실행화면에서 우리는 어떤 커널로 로딩할 것인가를 선택할 수 있었다.

 

 

 

 이것이 GRUB의 첫번째 기능인 리눅스커널 로딩기능이다.

 

 

 

 리눅스커널이 메모리에 적재되는 바로 이 순간부터 본격적인 부팅이 진행된다.

 

 

 

 여기서 선택한 리눅스커널메뉴(부팅메뉴라고도 한다.) GRUB은 부팅을 계속해 나간다.

 

 

 

 물론 부팅을 잠시 멈추고 GRUB명령어모드로 들어가서 여러가지 작업을 할 수 있고 우리는 이런 상태를 GRUB전용명령어상태라고 하며 이 상태에서 여러 개의 GRUB전용명령어들 사용하여 각종 작업들을 할 수 있다.

 

 

 

 참고로 다음 화면이 GRUB전용 명령어상태화면이다.

 

 

 

 

 

316fee9c12ed6bd492a864a12bb0b067_1684384156_0899.jpg
 

316fee9c12ed6bd492a864a12bb0b067_1684384177_7386.jpg
 

 

 

 

 

 여기서 중요한 것은 GRUB이 리눅스커널을 로딩한다는 사실이다.

 

 

 

 GRUB /boot/grub/grub.conf파일에 정의되어있는 여러가지 리눅스커널중 선택된 리눅스커널을 메모리로 로딩(커널이미지파일 로딩)한다.

 

 

 

 이것이 리눅스커널의 로딩이고 GRUB이 하는 첫번째 중요한 역할이다.

 

 

 

 

 

리눅스커널 로딩이 끝난 후에 수행하는 GRUB의 두번째 중요한 역할은 스와퍼(Swapper)라는 좀 생소한 프로세스의 실행이다.

 

 

 

 스와퍼의 역할에 대해서는 바로 이어서 설명한다.


관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,041 명
  • 현재 강좌수 :  35,855 개
  • 현재 접속자 :  110 명