- autorun.inf
- GRUB2 for windows
- 설정 가이드
- Windows용 설정 가이드
- Ubuntu용 설정 가이드
- CentOS용 설정 가이드
- 사용자 가이드
- 명명 규칙
- 지원 파일 시스템
- 관리자 가이드
- Windows MBR 복구
- GRUB Minimal Bash-Shell
- 참고 문헌
GNU 프로젝트의 부트로더인 GNU GRUB(GRand Unified Bootloader)를 정리 한다.
다운로드 : http://www.gnu.org/software/grub/grub-2-download.en.html
라이선스 :
플랫폼 :
autorun.inf
파일 구조
[section](section.md)
key=value
autorun.inf 샘플
[AutoRun](AutoRun.md)
icon=setup.exe,0 #--- USB의 아이콘(~.ico)
label=My Drive Label #--- USB의 레이블
open=[exepath\]exefile [param1 [...](param2]) #--- 자동 실행되는 프로그램. 보안상 USB에서는 동작 않음
UseAutoPlay=1
shellexecute=[filepath\]filename[param1, [param2]...](param2]....md)
shell=verb #--- USB의 shortcut menu를 자동으로 실행하도록 설정
shell\verb=MenuText #--- USB의 shortcut menu 이름
shell\verb\command=Filename.exe #--- USB의 shortcut menu를 선택한 경우 실행할 파일
action=@[filepath\](filepath\.md)filename,-resourceID
CustomEvent=MyContentOnArrival
참고 문헌
GRUB2 for windows
GRUB 사용시 부팅 프로세스
MBR (Master Boot Record, 512 bytes, 주파티션으로 설정할 것) 실행
/boot/grub/core.img 실행 : MBR 다음 1MB 영역 이내에 저장됨
/boot/grub/grub.cfg : GRUB 설정 파일
/boot/grub/ 폴더 구조
grub.cfg : GRUB 설정 파일
core.img :
lnxboot.img
vi /boot/grub/grub.cfg
configfile /EFI/boot/grub.cfg #--- 설정파일 지정
# path to the partition holding ISO images (using UUID) #--- 주석
probe -u $root --set=rootuuid
set imgdevpath="/dev/disk/by-uuid/$rootuuid" #--- 환경 변수 설정
vi /EFI/boot/grub.cfg
# Menu Entry Created by YUMI - (Your USB Multiboot Integrator)
insmod png #--- png GRUB 모듈을 추가
insmod part_msdos
insmod fat
insmod ntfs
insmod ext2
set root='hd0,msdos1' #--- root 디바이스 이름
set timeout=30 #--- 디폴트 부팅을 하기전 대기하는 시간(초)
#--- 0. 즉시 실행, -1. 무한 대기
if loadfont /boot/grub/fonts/unicode.pf2 ; then #--- Font 로드
set gfxmode=640x480 #--- 화면 해상도 설정 (Default. auto)
#--- width * height, width * height * depth
insmod efi_gop #--- GRUB 모듈을 추가
insmod efi_uga
insmod vbe
insmod vga
insmod gfxterm
terminal_output gfxterm #--- 출력할 터미널을 지정
fi
if background_image /boot/grub/yumi.png ; then #--- 배경 이미지 로드
set color_normal=white/black #--- 색상 지정
set color_highlight=yellow/dark-gray
set menu_color_highlight=yellow/black
set menu_color_normal=white/blue
else
set menu_color_normal=white/blue
set menu_color_highlight=yellow/black
fi
set default=1 #--- 디폴트로 선택하는 메뉴 번호 (0, 1, 2, ...)
menuentry "[Reboot](Reboot.md)" {reboot} #--- 0번 메뉴
menuentry ">Linux Distributions"{configfile /multiboot/menu/linux.cfg} #--- 1번 메뉴. 새로운 메뉴 표시
vi /multiboot/menu/linux.cfg
# Menu Entry Created by YUMI
insmod png
insmod part_msdos
insmod fat
insmod ntfs
insmod ext2
set root='hd0,msdos1'
set timeout=30
if loadfont /boot/grub/fonts/unicode.pf2 ; then
set gfxmode=640x480
insmod efi_gop
insmod efi_uga
insmod vbe
insmod vga
insmod gfxterm
terminal_output gfxterm
fi
if background_image /boot/grub/yumi.png ; then
set color_normal=white/black
set color_highlight=yellow/dark-gray
set menu_color_highlight=yellow/black
set menu_color_normal=white/blue
else
set menu_color_normal=white/blue
set menu_color_highlight=yellow/black
fi
set default=2 #--- 디폴트로 선택하는 메뉴 번호 (0, 1, 2, ...)
menuentry "[Reboot](Reboot.md)" {reboot} #--- 0번 메뉴
menuentry "< Go back to the Main Menu"{configfile /EFI/BOOT/grub.cfg}
#START LINUX DISTROS
#start CentOS-7-x86_64-Minimal-1708
menuentry "CentOS-7-x86_64-Minimal-1708" {
set gfxpayload=keep #--- keep. gfxmode를 계속 사용하도록 지정
set isofile='/multiboot/CentOS-7-x86_64-Minimal-1708/CentOS-7-x86_64-Minimal-1708.iso'
loopback loop $isofile #--- $isofile에 loop라는 디바이스 이름을 지정
#--- 이후 (loop)라는 디바이스 이름을 사용할 것
linux (loop)/isolinux/vmlinuz noeject inst.stage2=hd:LABEL=MULTIBOOT:/$isofile #--- Linux로 부팅 합니다.
echo "Loading - This may take several seconds..."
initrd (loop)/isolinux/initrd.img #--- Linux 커널 이미지로 ramdisk를 초기화 합니다.
}
#end CentOS-7-x86_64-Minimal-1708
참고 문헌
설정 가이드
Windows용 설정 가이드
Ubuntu용 설정 가이드
CentOS용 설정 가이드
grub 설치
yum -y install grub
설치 폴더 및 파일
/boot/grub/ #--- 설치 폴더
vi /boot/grub/grub.conf #--- 설정 파일
vi /boot/grub/divice.map #--- 장치
/boot/~.img #--- Booting images
/boot/grub/~.lst #--- Help files
/sbin/grub, grub-install, grub-md5-crypt, grub-terminfo, grubby
GRUB 2용 폴더
/etc/default/grub/
/etc/grub.d/
vi /boot/grub/grub.conf
#--- 첫번째 엔트리(0, 여기서는 첫번째 title)에서 부트
default=0
#--- 5초 후 자동 부팅
timeout=5
#--- 디폴트 엔트리에 문제가 있어 부팅이 되지 않을 경우
#--- 두번째 엔티리(1)에서 부트
fallback 1
#--- 부트 화면의 배경이미지, 여기서는 xpm 형태의 그림이미지 사용
splashimage=(hd0,0)/grub/splash.xpm.gz
#--- 부팅 메뉴 보이지 않기
hiddenmenu
#--- 첫번째 엔트리
title CentOS (2.6.18-164.el5)
#--- 첫번째 하드 디스크(hd0)의 첫번째 파티션(0)을 루트 디렉토리로 한다.
root (hd0,0)
#--- /vmlinuz-2.6.18-164.el5 : 커널 이미지, /boot 파티션을 따로 잡았을 경우
#--- /root/vmlinuz-2.6.18-164.el5 : 커널 이미지, /boot 파티션을 따로 잡지 않았을 경우
#--- root=/dev/VolGroup00/LogVol00 : root 파티션 명
#--- rhgb quiet : 커널에 전달하는 파라메터
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
#--- 초기화에 필요한 이미지
initrd /initrd-2.6.18-164.el5.img
#--- 두번째 엔트리
title CentOS (2.6.18-128.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-128.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18-128.el5.img
#--- 세번째 엔트리
title DOS
#--- Windows가 설치된 디바이스, 파티션
rootnoverify (hd0,0)
#--- Windows 부팅 호출
chainloader +1
사용자 가이드
명명 규칙
(hd0,4)
fd : 플로피 디스크, fd0, 첫번째 플로피 디스크 (Linux에서는 /dev/fd0)
hd : 하드 디스크, hd0. 첫번째 하드 디스크 (Linux에서는 /dev/hda)
4 : 5번째 파티션 (Linux에서는 /dev/hda4)
지원 파일 시스템
ext2, ext3, ReiserFS, JFS, FAT, minix, FFS 파일시스템을 지원
GRUB 2에서는 LVM도 지원
관리자 가이드
Windows MBR 복구
Grub 2가 하드 디스크의 MBR에 설치 되었을 경우 복구 하는 방법은 다음과 같다.
Windows XP에서 복구 방법
Windows XP CD의 복구 모드로 부팅한 후, 도스창에서 다음 명령을 실행 한다.
fixboot
fixmbr
Windows Vista 이상에서 복구 방법
Windows Vista CD의 복구 모드로 부팅한 후, 도스창에서 다음 명령을 실행 한다.
bootrec /fixboot
bootrec /fixmbr
GRUB Minimal Bash-Shell
#--- Disk 조회
ls
#--- 폴더 조회
ls (hd0,msdos1)/
#--- 파일 내용 보기
cat (hd0,msdos1)/파일명
#--- 설정값 조회
set
#--- 설정값 지정
set name=value
참고 문헌
참고 문헌
분류: 오픈소스