탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
x86 플랫폼에서 Oracle Solaris 부트 및 종료 Oracle Solaris 11 Information Library (한국어) |
6. x86 기반 시스템에서 부트 매개변수 수정(작업)
eeprom 명령을 사용하여 부트 매개변수 표시 및 설정
eeprom 명령을 사용하여 부트 매개변수를 수정하는 방법
menu.lst 파일을 편집하여 부트 항목 및 매개변수 수정
Oracle Solaris 설치 후 GRUB 메뉴에 Linux 항목을 추가하는 방법
bootadm 명령을 사용하여 부트 항목에 대한 매개변수 표시 및 설정
7. x86 플랫폼에서 ZFS 부트 환경 만들기, 관리 및 ZFS 부트 환경에서 부트(작업)
x86 기반 시스템에서 부트 매개변수를 수정하는 기본 방법은 다음과 같습니다.
eeprom 명령 사용
eeprom 명령은 표준 매개변수 집합에 다른 값을 할당하는 데 사용됩니다. SPARC OpenBoot PROM NVRAM 변수와 동등한 이러한 값은 /boot/solaris/bootenv.rc 파일 또는 menu.lst 파일에 저장됩니다. eeprom 명령을 사용하여 부트 매개변수에 적용된 변경 사항은 각 시스템 재부트 시 지속되며 소프트웨어 업그레이드 중에도 지속됩니다. 자세한 내용은 eeprom(1M) 매뉴얼 페이지를 참조하십시오.
주의 - menu.lst 파일을 직접 편집한 경우, eeprom 명령을 사용하여 특정 부트 매개변수(boot-file, boot-arguments 및 console)를 나중에 변경할 수 없습니다. |
부트 시 GRUB 메뉴 편집
부트 시 기본 커널 사용을 수정하여 적용되는 변경 사항은 eeprom 명령을 사용하여 설정된 옵션을 대체합니다. 하지만 이러한 변경 사항은 다음에 시스템을 부트할 때까지만 그대로 유지됩니다. 자세한 내용은 kernel(1M) 매뉴얼 페이지를 참조하십시오.
GRUB 구성 파일 편집
특정 부트 매개변수의 기본값을 확인하려면 다음과 같이 eeprom 명령을 사용하십시오.
$ eeprom parameter
예를 들어 boot-device 매개변수의 기본값을 표시하려면 다음과 같이 입력하십시오.
$ eeprom boot-device
주 - 부트 매개변수를 표시하는 데 root 사용자일 필요는 없습니다. 그러나 eeprom 명령을 사용하여 부트 매개변수 또는 다른 매개변수를 변경하려면 root 사용자여야 합니다.
# eeprom parameter=new-value
# eeprom parameter
결과에는 지정된 매개변수에 대한 새 eeprom 값이 표시됩니다.
예 6-1 eeprom 명령을 사용하여 auto-boot 매개변수 설정
다음 예는 auto-boot 부트 매개변수를 true로 설정하는 방법을 보여 줍니다.
# eeprom auto-boot?=true
eeprom 명령이 사용자 모드에서 실행되는 경우 끝에 물음표(?)가 붙는 매개변수는 큰 따옴표로 묶어야 셸이 물음표를 해석하지 않습니다. 물음표 앞에 이스케이프 문자(\)를 추가해도 셸이 물음표를 해석하지 않습니다. 예를 들면 다음과 같습니다.
# eeprom "auto-boot?"=true
시스템을 단일 사용자 상태로 부트하거나 커널 디버거를 사용으로 설정한 상태로 부트하는 등 부트 시 시스템의 부트 동작을 수정하려면 GRUB 메뉴가 표시될 때 e를 입력하여 GRUB 메뉴에서 부트 항목을 편집하는 방식으로 부트 프로세스를 중단하십시오.
다음 목록에서는 부트 시 GRUB 메뉴를 편집하여 지정할 수 있는 부트 인수 및 옵션에 대해 설명합니다.
부트할 커널을 지정합니다.
사용자에게 구성 정보에 대한 프롬프트를 표시합니다.
시스템을 단일 사용자 상태로 부트합니다.
재구성 부트를 지정합니다.
시스템이 연결된 모든 하드웨어 장치를 탐색한 후 실제로 찾은 장치만 나타내도록 파일 시스템에서 노드를 할당합니다.
세부 메시지를 사용으로 설정한 상태로 시스템을 부트합니다.
시스템이 클러스터화된 모드로 부트되지 않습니다.
커널 디버거를 사용으로 설정한 상태로 시스템 부트
SMF(Service Management Facility)의 부트 동작 제어
복구 옵션 및 메시지 옵션의 두 가지 옵션 범주가 있습니다.
대체 실행 파일을 원시 프로세스로 지정합니다. altinit는 실행 파일에 대한 유효한 경로입니다.
커널 부트 매개변수를 지정합니다.
다음은 -B prop=val 옵션을 사용하여 GRUB 메뉴에서 부트 매개변수를 수정할 수 있는 여러 가지 방법입니다.
장치의 ACPI(Advanced Configuration and Power Interface) 열거를 사용 안함으로 설정합니다.
ACPI를 완전히 사용 안함으로 설정합니다.
부트 시 VGA 텍스트 모드를 사용하도록 지정합니다. 비트맵 콘솔 지원을 참조하십시오.
고해상도 상태가 가능하도록 부트 시 콘솔에 그래픽 모드가 사용되도록 지정합니다.
고해상도 상태가 가능하도록 부트 시 콘솔에 텍스트 모드가 사용되도록 지정합니다.
프레임 버퍼 콘솔의 행과 열 수를 지정합니다. 선택한 행 또는 열 수에 가장 적합한 글꼴이 자동으로 감지됩니다. 이 옵션은 프레임 버퍼 콘솔 크기를 최적화하는 데 사용됩니다. 비트맵 콘솔 지원을 참조하십시오.
콘솔을 ttya로 재지정합니다.
콘솔을 ttya로 재지정하고 장치의 ACPI 열거를 사용 안함으로 설정합니다.
주 - eeprom 명령 및 GRUB 명령줄을 사용하여 매개변수를 지정한 경우 GRUB 명령줄이 우선 적용됩니다.
부트 시 GRUB 메뉴를 편집하여 기본 커널 사용을 수정할 경우 변경 사항은 시스템 재부트 시 지속되지 않습니다. 기본 부트 매개변수는 다음에 시스템을 부트할 때 복원됩니다.
부트 시퀀스가 시작되면 GRUB 주 메뉴가 표시됩니다.
주 - Esc 키를 누르면 변경 내용을 저장하지 않고 GRUB 주 메뉴로 돌아갑니다.
변경 사항은 시스템이 부트될 때 적용됩니다.
Oracle Solaris 11은 x86 기반 시스템에서 이전 VGA(Video Graphics Array) 640-480 16색 콘솔보다 더 높은 해상도와 색상 깊이를 지원합니다. 이 지원은 기존의 BIOS 및 VESA(Video Electronics Standards Association) 옵션 ROM(Read-only Memory)을 사용하는 시스템에 제공됩니다. 또한 그래픽 카드 또는 프레임 버퍼가 물리적 또는 가상 콘솔로 사용되는 경우에만 지원됩니다. 직렬 콘솔의 동작에는 영향을 미치지 않습니다.
이 기능을 지원하기 위해 두 개의 명령줄 -B 옵션 =val 매개변수가 제공됩니다.
부트 시 VGA 텍스트 모드를 사용하도록 지정합니다.
프레임 버퍼 콘솔의 행과 열 수를 지정합니다. 선택한 행 또는 열 수에 가장 적합한 글꼴이 자동으로 감지됩니다. 이 옵션은 프레임 버퍼 콘솔 크기를 최적화하는 데 사용됩니다.
기본적으로 GRUB는 설치된 비디오 카드 및 모니터에서 작동하는 해상도와 색상 깊이를 감지합니다. 그러나 다른 해상도(예: 더 높은 해상 해상도) 및 다른 색상 깊이를 지정할 수 있습니다.
GRUB는 다음 두 가지의 비디오 모드 지정 방법을 지원합니다.
원하는 VESA 모드의 16진수 코드를 지정합니다. 카드 및 모니터에서 지원하는 모든 모드 목록을 확인하려면 GRUB 명령 프롬프트에서 vbeprobe 명령을 사용하십시오. 그러면 다음과 유사한 목록이 표시됩니다.
0x117: Direct Color, 1024x768x16 0x118: Direct Color, 1024x768x32 0x11a: Direct Color, 1280x1024x16 0x11b: Direct Color, 1280x1024x32 [...]
1024x768x32 구성을 지정하는 vbeset 항목은 다음과 같이 표시됩니다.
vbset 0x118
vbeset 항목은 GRUB 메뉴에서 kernel$ 및 module$ 항목 뒤에 지정해야 합니다.
GRUB에서 지정된 구성(예: 1024x768x32)을 검색하도록 합니다. 발견될 경우 GRUB에서 지정된 구성을 설정합니다.
vbeset 항목 대신 사용할 경우 1024x768x32 구성에 대한 vbematch 항목은 다음과 같습니다.
vbematch 1024 768 32
vbematch 항목은 GRUB 메뉴에서 kernel$ 및 module$ 항목 뒤에 지정해야 합니다.
예 6-2 x86: 콘솔에 대해 텍스트 모드 부트 매개변수 구성
텍스트 모드의 경우 콘솔 출력은 프레임 버퍼로 전송되고 입력은 키보드에서 수신됩니다. 텍스트 모드의 변형인 그래픽 모드에서는 키를 누르거나 콘솔 login, sulogin 또는 kmdb 명령으로 콘솔 상호 작용이 필요할 때까지 애니메이션 이미지가 표시됩니다. 새 텍스트 등록 정보인 force-text는 시스템에서 VGA 어댑터를 비트맵 장치로 사용하지 않도록 지정하고 어댑터를 VGA 텍스트 모드로 설정합니다.
이 등록 정보가 없을 경우 콘솔 장치가 input-device 및 output-device 등록 정보 쌍으로 지정된 장치로 되돌려집니다. 콘솔 등록 정보도 없고 input-device 및 output-device 등록 정보 쌍도 없는 경우 콘솔은 기본적으로 프레임 버퍼 및 키보드로 설정됩니다.
다음 예는 부트 시 커널 명령줄에서 -B console=force-text 등록 정보를 지정하는 방법을 보여 줍니다.
-B console=force-text
예 6-3 x86: 그래픽 표시 사용 및 콘솔 텍스트 모드 매개변수 구성
기본적으로 콘솔 텍스트 모드는 80개 열 x 24개 행입니다. 이 매개변수를 재구성하려면 -B 옵션을 screen-#columns =value 및 screen-#rows= value 매개변수와 함께 사용하십시오.
예를 들어 다음 매개변수를 커널 명령줄에 지정하여 그래픽 표시를 사용으로 설정하고 100개 열 x 60개 행의 콘솔 터미널을 할당할 수 있습니다.
-B console=graphics, screen-#columns=100,screen-#rows=60
console=graphics 옵션을 사용하여 시스템을 부트했으며 Xorg 서버에 의해 종료가 트리거된 경우, 종료 프로세스 중 진행 상태 표시기가 표시됩니다. 진행 상태 표시기가 표시되지 않도록 하려면 다음과 같이 svc:/system/boot-config SMF 서비스의 새 splash-shutdown 등록 정보를 false로 설정하십시오.
# svccfg -s svc:/system/boot-config:default setprop config/splash_shutdown = false # svcadm refresh svc:/system/boot-config:default
menu.lst 구성 파일에 있는 항목을 기반으로 하는 GRUB 메뉴를 사용자 정의할 수 있습니다. Solaris에서는 Oracle Solaris BE(부트 환경)의 GRUB menu.lst 항목을 자동으로 관리합니다. 시스템을 패키징하거나 명시적으로 beadm 명령을 사용하여 부트 환경이 생성되면 GRUB 항목이 menu.lst 파일에 추가됩니다. beadm destroy 명령을 destroy 하위 명령과 함께 사용하여 부트 환경이 제거되면 해당 항목도 GRUB menu.lst 파일에서 제거됩니다. Oracle Solaris에서는 시스템에 설치된 다른 운영 체제의 menu.lst 항목을 자동으로 추가하지 않습니다. 이러한 운영 체제의 메뉴 항목은 수동으로 추가해야 합니다. 자세한 내용은 Oracle Solaris 설치 후 GRUB 메뉴에 Linux 항목을 추가하는 방법을 참조하십시오.
Oracle Solaris 11의 일반 menu.lst 파일에는 다음과 같은 정보가 포함될 수 있습니다.
#---------- ADDED BY BOOTADM - DO NOT EDIT ---------- title Oracle Solaris 11 1 findroot (pool_rpool,0,a) 2 bootfs rpool/ROOT/solaris 3 kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS,console=graphics 4 module$ /platform/i86pc/$ISADIR/boot_archive 5 #---------------------END BOOTADM--------------------
메뉴 항목에 대한 운영 체제 제목을 지정합니다.
SIGNATURE 파일 이름의 모든 분할 영역을 검색합니다. 이 예에서 파일 이름은 pool_rpool입니다.
GRUB는 /boot/grub/bootsign 디렉토리에서만 파일 이름을 검색한 다음 파일의 첫번째 인스턴스가 발견되는 즉시 중지됩니다. 서명 파일의 이름은 모든 분할 영역에서 고유해야 유용합니다. 서명 파일을 찾은 후 GRUB는 해당 분할 영역에서 root 명령을 호출합니다. 검색을 최적화하기 위해 선택적 분할 영역 및 슬라이스를 지정할 수 있습니다.
현재 ZFS 부트 파일 시스템을 지정된 값으로 설정합니다. menu.lst 파일의 이 예에서는 등록 정보가 현재 ZFS 부트 파일 시스템을 rpool/ROOT/solaris로 설정합니다.
지정된 경로에서 기본 부트 이미지를 로드합니다. 이 라인의 나머지 부분에서는 verbatim이 커널 명령줄로 전달됩니다. 달러 기호($)는 $ISADIR 항목의 확장입니다.
제공된 커널의 부트 아카이브를 로드합니다. 달러 기호($)는 $ISADIR 항목의 확장입니다.
주 - 특정 GRUB 명령에 대해 학습하려면 명령줄에서 help command를 입력하십시오.
구성 가능한 시간 초과를 사용하여 기본 운영 체제를 부트할 수 있습니다. 부트되는 기본 항목은 default 명령을 통해 구성할 수 있습니다. 설치 소프트웨어는 일반적으로 유효한 부트 항목 중 하나를 부트하도록 이 명령을 설정합니다. 다른 버전의 Oracle Solaris(해당하는 경우)를 부트하거나 Oracle Solaris 이외의 다른 운영 체제를 부트하려면 화살표 키를 사용하여 부트 항목을 선택한 다음 Enter 키를 눌러 해당 운영 체제를 부트하십시오. default 명령이 설정되지 않은 경우 GRUB 메뉴의 첫번째 부트 항목이 부트됩니다.
활성 menu.lst 파일만 시스템을 부트하는 데 사용됩니다. 시스템을 부트할 때 표시되는 GRUB 메뉴를 수정하려면 활성 GRUB menu.lst 파일을 편집합니다. 다른 menu.lst 파일을 변경하면 시스템을 부트할 때 표시되는 메뉴에 영향을 주지 않습니다. 활성 menu.lst 파일의 위치를 확인하려면 bootadm 명령의 list-menu 하위 명령을 사용하십시오.
한 분할 영역에 Linux를 먼저 설치한 다음 다른 분할 영역에 Oracle Solaris를 설치하는 방식으로 부트 환경을 설정하려는 경우 새로운 설치에서 GRUB 메뉴 정보가 이전 설치의 GRUB 메뉴 정보를 지우지 않도록 특별한 지침을 수행해야 합니다. 다음 절차에서는 menu.lst 파일을 수동으로 업데이트하여 이전 설치의 Linux 항목을 포함하는 방법에 대해 설명합니다. 이러한 지침은 이미 시스템에 Linux를 설치한 다음 Oracle Solaris를 설치했다고 가정합니다.
일반적으로 이 파일은 /boot/grub/menu.lst입니다.
# bootadm list-menu
$ su root Password:
예를 들면 다음과 같습니다.
# vi /pool-name/boot/grub/menu.lst
여기서 pool-name은 ZFS 저장소 풀의 이름입니다.
예를 들어 Ubuntu 설치의 menu.lst 파일은 다음과 유사하게 나타납니다.
title Ubuntu 8.04, kernel 2.6.24-18-generic root (hd0,4) kernel /vmlinuz-2.6.24-18-generic \ root=UUID=1ed7fa17-6d77-4b49-be1a-22481310fd1b ro quiet splash initrd /initrd.img-2.6.24-18-generic quiet title Ubuntu 8.04, kernel 2.6.24-18-generic (recovery mode) root (hd0,4) kernel /vmlinuz-2.6.24-18-generic \ root=UUID=1ed7fa17-6d77-4b49-be1a-22481310fd1b ro single initrd /initrd.img-2.6.24-18-generic
주의 - menu.lst 파일의 원래 내용을 직접 편집하지 마십시오. 항상 파일의 끝에 새 정보를 추가하거나, 기존 내용을 복제하여 변경한 다음 해당 내용을 수정해야 합니다. |
시스템이 재부트되면 GRUB 메뉴에 Linux와 Oracle Solaris 운영 체제에 대한 항목이 모두 포함되어야 합니다.
이 절차는 활성 GRUB 메뉴의 위치를 확인하고 현재 GRUB 메뉴 항목을 나열하는 데 사용됩니다.
# bootadm list-menu
활성 GRUB 메뉴 및 현재 GRUB 메뉴 항목의 위치를 나열합니다. autoboot-timeout 기본 항목 번호 및 각 항목의 제목에 대한 정보가 출력에 포함되어 있습니다.
예 6-4 활성 GRUB 메뉴의 위치 및 현재 GRUB 메뉴 항목의 위치 나열
# bootadm list-menu The location for the active GRUB menu is: /stubboot/boot/grub/menu.lst default=0 timeout=30 0 2010-12-10-be 1 Oracle Solaris 11 2 Linux
# bootadm set-menu menu-entry
GRUB 메뉴를 유지 관리합니다. 활성 GRUB 메뉴의 위치는 boot/grub/menu.lst입니다.
기본값으로 설정할 GRUB 메뉴 항목을 지정합니다.
# bootadm list-menu
새 기본 메뉴 항목이 표시되어야 합니다.
예 6-5 GRUB 기본 메뉴 항목 전환
이 예는 기본 GRUB 메뉴를 이전 예에 표시된 메뉴 항목 중 하나로 전환하는 방법을 보여줍니다. 선택되는 메뉴 항목은 Linux, 메뉴 항목 2입니다.
# bootadm set-menu default=2