2장. GRUB 부트로더 관리하기
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
부트 로더는 컴퓨터 전원을 켠 후 운영 체제를 로드하는 소프트웨어입니다. GRUB(그랜드 통합 부트 로더) 부트 로더는 Linux에서 가장 일반적으로 사용되는 부트 로더입니다.
GRUB은 단일 PC에서 여러 운영 체제 부팅, 실시간 구성 편집, 테마 설정이 가능한 인터페이스, 복구 모드 등 여러 가지 유용한 기능을 지원합니다. 이 장에서는 이 모든 기능에 대해 알아보세요.
GRUB 대 GRUB 2
두 가지 주요 GRUB 릴리스, 즉 레거시 GRUB과 GRUB 2가 있습니다. GRUB 2는 버전 1.99 이상입니다. 레거시 GRUB은 2005년에 0.97 버전으로 종료되었습니다. 많은 GRUB 사용법에서 여전히 레거시 GRUB을 참조하고 GRUB 2와 비교합니다. 이 장에서는 레거시 GRUB에 대해서는 이야기하지 않겠습니다. 오랫동안 사용되지 않았고 GRUB 2 사용과 거의 관련이 없기 때문에 이 장에서는 GRUB 2에만 초점을 맞출 것입니다.
일부 Linux 배포판은 일반 GRUB 이름을 사용하고, 일부는 GRUB 2를 사용합니다. 예를 들어 Ubuntu에는 /boot/grub/ 디렉토리와 grub-mkconfig 명령이 있고, Fedora는 /boot/grub2/ 및 grub2-mkconfig라고 합니다. 파일 경로와 이름을 확인합니다. 이 장에서는 배포판별 예제를 제외하고 Ubuntu 명명 체계를 사용합니다.
컴퓨터는 지난 밀레니엄 시대인 1940년대에 UNIVAC이 처음 만들어진 이래로 크게 변하지 않았습니다. 컴퓨터를 시작하는 것을 "스스로 부트스트랩으로 끌어올리는 것"이라는 뜻의 부트스트랩( Bootstrap)이라고 하는데, 이는 불가능합니다. 프로그래밍 가능한 컴퓨터의 어려움은 무엇을 해야 하는지 알려주는 소프트웨어 지침이 필요하지만 운영 체제가 로드되기 전에 그 지침이 어디에서 오는가 하는 것입니다.
최신 x86_64 PC 아키텍처의 해결책은 초기 시작 지침을 마더보드의 칩에 저장하고 이 지침의 주소로 CPU를 프로그래밍하는 것입니다. CPU가 시작 지침을 수신하도록 하드 와이어되어 있다고 할 수 있습니다. 이 주소는 모든 x86_64 컴퓨터에서 동일하므로 마더보드와 CPU를 혼합하여 사용할 수 있습니다. (이 주소를 리셋 벡터라고 하는데 에서 검색해 보세요.)
이 모든 것이 어떻게 작동하는지에 대한 간단한 설명입니다:
첫 번째 단계는 시스템 전원이 켜지면 시작됩니다. CPU는 BIOS/UEFI 펌웨어에서 지침을 가져온 다음 CPU 캐시와 시스템 메모리를 초기화합니다. 시스템 메모리가 초기화되면 전원 켜기 자체 테스트(POST)가 실행되어 메모리를 테스트하고 키보드, 마우스, 디스플레이 및 디스크 드라이브와 같은 다른 하드웨어와의 연결을 테스트합니다. 키보드와 마우스의 LED가 켜지고 디스크 드라이브가 검사되는 동안 컴퓨터 케이스 내부에서 소음이 들린 ...