목차
부트 매니저(Boot Manager)
부트 매니저란 말 그대로 부팅을 도와주는 프로그램으로 특히 컴퓨터에 윈도우, 리눅스 등 여러 운영체제가 설치되어 있을 경우에 선택하여서 부팅을 할 수 있도록 해준다.
부트 매니저 프로그램은 부트 로더, BootLoader라고도 부르며, 하드 디스크의 맨 앞 쪽 영역인 MBR(Master Boot Record)에 설치된다.
1. 부트로더(Boot Loader)
- 정의: 부트로더는 운영체제를 실행하기 위해 하드웨어와 소프트웨어 사이를 연결하는 초기 프로그램이다.
- 역할: 시스템을 부팅할 때, 하드웨어 초기화 및 운영체제 커널 로딩을 수행한다.
- 예시:
- GRUB (Linux의 일반적인 부트로더)
- LILO (오래된 Linux 부트로더)
- BOOTMGR (Windows의 부트로더 역할)
2. 부트 매니저(Boot Manager)
- 정의: 여러 운영체제나 부트 옵션이 있는 경우, 사용자가 선택할 수 있도록 돕는 프로그램이다.
- 역할: 사용자가 어떤 운영체제를 부팅할지 선택하는 인터페이스를 제공하며, 이를 바탕으로 부트로더를 실행한다.
- 예시:
- GRUB (부트 매니저와 부트로더 역할을 동시에 수행)
- Windows Boot Manager
차이점
- 부트로더는 커널을 로드하여 운영체제 실행을 준비하는 데 초점을 둔다.
- 부트 매니저는 여러 부트 옵션을 관리하고 선택하는 데 주력한다.
디스크 파티션 형식 | 설명 |
MBR |
1. MBR (Master Boot Record)
|
GPT |
2. GPT (GUID Partition Table)
|
GRUB (Grand Unified BootLoader)
GRUB는 GNU 프로젝트에서 만든 부트로더로 LILO에 비교하여 다양한 파일 시스템을 지원하고, 부팅 시에 커널 인자를 조정하여 동적인 부팅을 지원한다.
위의 사진을 보면 GRUB의 부트화면이 보인다. 위 화면에서 일정 시간 아무런 입력도 없다면 자동으로 기본 모드로 실행이 된다.
그리고 밑에 설명 부분을 읽어보면 제시된 목록에서 상하 방향키로 선택한 후 [Enter] 키를 입력하면 부팅이 되며 e 나 c 키를 누루면 커널 인자값(argument) 조정을 통한 부팅 환경 수정이 가능하다.
편집 모드
Grub 목록에서 선택 후 e키를 누룰 시 설정된 항목들이 나타나면서 사용자가 직접 편집할 수 있도록 해준다.
Ctrl + X를 누루면 부팅이 시작이되며 Ctrl + C를 누루면 관련 설정을 직접 입력할 수 있는 명령 프롬프트 모드가 호출된다.
명령 프롬프트 모드
GRUB 화면에서 C를 누루면 진입되는 모드로서 상호 대화식으로 직접 명령어를 입력할 수 있어 Bash Shell과 동일한 느낌이다.
GRUB 환경 설정
GRUB는 /etc/grub.d에 있는 파일들과 /etc/default/grub 파일을 이용해서 작동한다.
GRUB에 대한 운영과 작동에 관련된 주요 설정들은 /etc/default/grub 파일에 정의한다.
1.GRUB_TIMEOUT = 5
GRUB 화면에서 대기하는 시간을 말한다. 단위는 초단위이다.
2.GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB 화면에서 각 엔트리(entry) 앞에 보여질 리눅스의 배포판 이름을 추출할 때 사용한다. /etc/system-release라는 경로에서 추출한다.
3.GRUB_DEFAULT=saved
부트화면에서 제시된 목록 중에서 부팅될 기본 모드를 선택하는 곳이다. 일반적으로 0부터 N에 해당하는 정수값을 입력하는데, 'saved'는 부팅 옵션에서 마지막으로 선택된 부팅 항목을 기본값으로 설정한다.
4.GRUB_DISABLE_SUBMENU=true
GRUB 메뉴에서 서브메뉴를 비활성화하는 설정이다. 커널 버전별로 부트 항목이 서브메뉴 형태로 표시되는 것을 방지하고, 모든 항목을 동일한 레벨로 보여준다.
5.GRUB_TERMINAL_OUTPUT="console"
GRUB 화면의 출력 방식을 설정한다. "console"로 설정하면 텍스트 기반의 출력 화면을 사용하며, 그래픽 출력이 비활성화된다.
6.GRUB_CMDLINE_LINUX="crashkernel=1G-4G:256M,4G-64G:320M,64G-:576M rd.lvm.lv=rl/root rd.lvm.lv=rl/swap rhgb quiet"
커널에 전달할 명령줄 옵션을 정의한다. 시스템 크래시 시 메모리 덤프를 위한 메모리 크기를 설정하고, LVM 볼륨 그룹 및 논리 볼륨을 지정한다. 또한 rhgb와 quiet를 사용하여 부팅 화면을 그래픽 기반으로 표시하며, 상세 부팅 메시지를 숨긴다.
7.GRUB_DISABLE_RECOVERY="true"
GRUB 메뉴에서 복구 모드(Recovery Mode) 항목을 비활성화한다. 복구 모드 옵션을 표시하지 않아 단순화 및 보안성을 강화한다.
8.GRUB_ENABLE_BLSCFG=true
GRUB이 BLS(Boot Loader Specification) 형식을 활성화하도록 설정한다. BLS는 부트 항목을 표준화된 형식으로 관리하며, 부팅 항목이 /boot/loader/entries/ 디렉토리에 저장된다. 최신 Linux 배포판에서 표준화된 부트 환경을 유지하기 위해 사용된다.
GRUB를 이용한 활용
1.root 비밀번호 재설정
2.GRUB 비밀번호 설정
3.콘솔 모드의 해상도 변경
4.네트워크 이름 변경
'리눅스' 카테고리의 다른 글
#5-2 리눅스 부팅과 셧다운 (0) | 2025.01.09 |
---|---|
#5-1 리눅스 부팅과 셧다운 (1) | 2024.12.15 |
#4 리눅스 디렉터리 (0) | 2024.12.15 |
#2 리눅스 시스템 (1) | 2024.12.13 |
#1 리눅스 (2) | 2024.12.13 |