GRUB2 간단하게 시작하기

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page GRUB2 Quick Start and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎日本語 • ‎한국어 • ‎português do Brasil • ‎русский

이 글에서는 GRUB2를 가져오는 방법과 초간단 설정으로 GRUB2을 동작하는 방법을 설명합니다. 더욱 실제적인 정보를 찾아보려면 GRUB2를 참고하십시오. 기존의 GRUB 에서 GRUB2로 옮겨가는 방법을 찾아보려면 GRUB2로 옮겨가기를 보십시오.

GRUB2 프로그램 설치

sys-boot/grub 꾸러미는 각 버전을 슬롯으로 분리해두었는데 grub-0.97과 grub-2.xx를 동시에 설치할 수 있다는 의미입니다. 그러나 GRUB 두 버전을 동시에 설치할 수 있지만, 이 중 한가지 버전만 시스템 부트로더로 활성화할 수 있습니다.

GRUB2를 설치하려면 GRUB_PLATFORMS 변수를 시스템 make.conf 파일에 적당한 값을 한 가지 이상 넣어 설정하십시오. 설정하지 않으면 GRUB2가 시스템에서 사용하는 플랫폼을 알아서 찾습니다. x86/amd64 아키텍처에서는 "pc"로(MBR 방식 설치) 추측합니다.

파일 /etc/portage/make.confGRUB_PLATFORMS 예제
# Standard PC (BIOS)
GRUB_PLATFORMS="pc"
 
# UEFI on amd64
GRUB_PLATFORMS="efi-64"
 
# Both UEFI and PC
GRUB_PLATFORMS="efi-64 pc"

변수를 설정했다면, 프로그램을 이머지하십시오:

root #emerge --ask sys-boot/grub:2

GRUB2 부트 로더 활성화

가능하다면 /boot 를 마운트하십시오:

root #mount /boot

EFI 플랫폼을 사용한다면, /boot/efiEFI 시스템 파티션이 있는지(마운트했는지) 확인하십시오. 지정 마운트 지점(/boot/efi) 또는 FAT 파일 시스템으로 포맷한 /boot 분할 공간 전체가 될 수 있습니다. /boot를 큰 EFI 시스템 분할 공간으로 적절하게 쓸 수도 있습니다.

/boot/efi는 FAT이라고만 가정합니다:

root #mount /boot/efi

grub-install 유틸리티를 실행하여 /boot/grub에 관련 파일을 복사하십시오. PC 플랫폼에서는 마스터 부트 레코드(MBR)또는 파티션 부트섹터의 부트 이미지를 설치합니다.

MBR에 GRUB2를 설치하려면:

root #grub-install /dev/sda
Installation finished. No error reported.

EFI 기능 탑재 시스템에 GRUB2를 설치하려면:

root #grub-install --target=x86_64-efi
Installation finished. No error reported.
중요
EFI 기능을 지닌 시스템에 (위의 예제처럼) GRUB2를 설치할 때 문제가 있으니, /etc/portage/make.confGRUB_PLATFORMS 변수값을 제대로 설정했는지 확인하십시오

grub-install 명령은 --target 옵션으로 설치할 CPU/플랫폼을 지정합니다. 지정하지 않으면 grub-install이 알아서 추정합니다. x86/amd64에서는 기본적으로 i386-pc 값을 사용합니다.

자동 설정

GRUB2는 초기부터 grub-mkconfig 프로그램으로 설정 파일을 생성하여 설정했습니다.

grub-mkconfig/etc/grub.d의 템플릿 섹션을 기반으로 설정파일을 만듭니다. 기본 템플릿은 대부분의 일반 부팅 설정을 다루어야합니다.

user $ls /etc/grub.d
00_header  10_linux  20_linux_xen  30_os-prober  40_custom  41_custom  README

이 템플릿의 동작은 /etc/default/grub의 변수를 설정하여 통제할 수 있습니다. 더 많은 정보는 GRUB 설명서en 를 살펴보십시오.

커널 이름 형태

grub-mkconfig가 존재하는 리눅스 커널을 발견하게 하려면 커널 이름이 vmlinuz- 또는 kernel-로 시작해야합니다.

예를 들자면:

코드 GRUB2에서 발견할 수 있는 커널 이름 예제
 /boot/vmlinuz-3.4.3
 /boot/kernel-2.6.39-gentoo
 /boot/kernel-genkernel-x86_64-3.17.1-gentoo-r1

initramfsen을 사용할 때, 파일 이름은 initramfs- 또는 initrd-로 시작해야 하며 .img로 끝나야합니다. 버전은 커널 이미지와 같아야 합니다. Genkernel로 만든 이름을 붙인 파일도 동작합니다.

예를 들자면:

코드 GRUB2에서 찾을 수 있는 initramfs 명칭 예제
 /boot/initrd.img-3.4.3
 /boot/initrd-3.4.3.img
 /boot/initrd-3.4.3.gz
 /boot/initrd-3.4.3
 /boot/initramfs-3.4.3.img
 /boot/initramfs-genkernel-3.4.3-gentoo
 /boot/initramfs-genkernel-x86_64-2.6.39-gentoo

grub.cfg 파일을 만들려면 다음과 같이 grub-mkconfig 명령을 실행하십시오:

root #grub-mkconfig -o /boot/grub/grub.cfg
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.2.9
done

메시지를 출력하지 않는 커널 압축해제

부팅 도중에 압축한 커널을 조용히 풀려면, /etc/default/grub을 편집하여 GRUB_CMDLINE_LINUX_DEFAULT 변수에 quiet 값을 추가하십시오.

파일 /etc/default/grub메시지를 출력하지 않는 압축 해제처리
GRUB_CMDLINE_LINUX_DEFAULT="quiet"

Systemd

GRUB2에서 systemd로 부팅하려면 GRUB_CMDLINE_LINUX 변수를 다음과 같이 설정하십시오:

파일 /etc/default/grubSystemd 예제
GRUB_CMDLINE_LINUX="init=/usr/lib/systemd/systemd"

다른 운영체제 불러오기

grub-mkconfig다른 운영체제도 불러오는 설정을 만들 수도 있습니다. 이 경우 sys-boot/os-prober 꾸러미가 필요합니다.

윈도우로 부팅하려면 sys-fs/ntfs3g도 설치해야 합니다. grub-mkconfig 유틸리티에서 NTFS 파일 시스템을 감지할 수 있게 해줍니다.

직접 설정

사용자는 grub-mkconfig를 사용할 필요가 없습니다. 마찬가지로 grub.cfg 파일을 직접 편집할 수도 있습니다.

대부분의 사용자가 기존의 GRUB 형식을 사용했듯이 다음 예제에서는 기존의 GRUB 설정에서 가져온 정보를 기반으로 설정 파일을 작성하는 방법을 보여줍니다.

grub.conf (GRUB Legacy) grub.cfg (GRUB 2)
timeout 5


title Gentoo Linux 3.2.12
root (hd0,0)
kernel /boot/kernel-3.2.12-gentoo root=/dev/sda3

timeout=5


menuentry 'Gentoo Linux 3.2.12' {
root=hd0,1
linux /boot/kernel-3.2.12-gentoo root=/dev/sda3
}

참고
이전 GRUB 버전에서는 분할 영역 번호가 0번으로 시작하지만, GRUB2 에서는 1번으로 시작합니다. 두 부트로더에서 '드라이브'는 0번부터 시작합니다.

추가 참조

  • GRUB2 - 자세한 내용과 더 많은 자료가 있는 '완전한' GRUB2 게시글입니다