부팅 2단계 : 부트로더(GRUB)의 실행과 역할
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,480 조회
- 0 추천
- 목록
본문
부팅 2단계 : 부트로더(GRUB)의 실행과 역할
앞에서 우리는 컴퓨터 전원이 켜지면서 ROM-BIOS에 의해서 수행되는 역할들을 크게 2가지로 나누어서 배웠다.
그 역할들 가운데 가장 마지막 역할이 리눅스 부트로더인 GRUB의 실행이다.
GRUB이 실행되었을 때 우리는 다음과 같은 화면을 컴퓨터에서 보게된다.
바로 이 시점이 부팅과정의 초기단계에서 우리가 늘 보아왔던 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전용 명령어상태화면이다.
여기서 중요한 것은 GRUB이 리눅스커널을 로딩한다는 사실이다.
즉 GRUB은 /boot/grub/grub.conf파일에 정의되어있는 여러가지 리눅스커널중 선택된 리눅스커널을 메모리로 로딩(커널이미지파일 로딩)한다.
이것이 리눅스커널의 로딩이고 GRUB이 하는 첫번째 중요한 역할이다.
리눅스커널 로딩이 끝난 후에 수행하는 GRUB의 두번째 중요한 역할은 스와퍼(Swapper)라는 좀 생소한 프로세스의 실행이다.
스와퍼의 역할에 대해서는 바로 이어서 설명한다.
관련자료
-
이전
-
다음