탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1 시스템 부트 및 종료 Oracle Solaris 11.1 Information Library (한국어) |
2. x86: GRand Unified Bootloader 관리(작업)
x86: GRUB 2 분할 영역 및 장치 이름 지정 체계
x86: GRUB 2를 지원하는 릴리스로 GRUB 레거시 시스템 업그레이드
x86: GRUB 2를 지원하는 릴리스로 GRUB 레거시 시스템을 업그레이드하는 방법
x86: GRUB 레거시 메뉴 항목을 GRUB 2로 마이그레이션하는 방법
x86: 동일한 시스템에서 GRUB 2 및 GRUB 레거시 부트 환경 유지 관리
x86: 부트 시 GRUB 메뉴를 편집하여 커널 인수 추가
x86: GRUB 메뉴를 편집하여 부트 시 -B prop=val 커널 인수 추가
x86: bootadm install-bootloader 명령을 사용하여 GRUB 2 설치
x86: 기본 위치 이외의 다른 위치에서 GRUB를 설치하는 방법
x86: GRUB 2가 설치된 시스템에 GRUB 레거시 설치
이 절에서는 다음 절차가 제공됩니다.
GRUB 레거시를 지원하는 시스템에서는 주로 menu.lst 파일을 편집하여 GRUB 구성 및 GRUB 메뉴를 관리합니다. GRUB 2를 지원하는 시스템에서는 grub.cfg 파일이 사용됩니다. 하지만 이 파일은 수동으로 편집할 수 없습니다. 파일을 관리하려면 부트 관리 인터페이스 bootadm을 사용하십시오. bootadm 명령을 사용하여 이전에 menu.lst 파일을 편집하여 수행하던 대부분의 작업을 관리할 수 있습니다. 부트 로더 설정, GRUB 메뉴 및 특정 부트 항목의 개별 속성 관리가 이러한 작업에 해당합니다.
주 - bootadm 명령 또는 beam 명령을 사용하여 부트 로더를 변경할 때마다 통지 없이 grub.cfg 파일을 덮어쓸 수 있으므로 이 파일은 직접 편집하지 않아야 합니다.
GRUB 2 구성 관리를 지원할 수 있도록 다음과 같은 bootadm 하위 명령이 수정되었습니다.
GRUB 메뉴의 현재 부트 항목을 표시합니다.
새 -P 옵션은 지정된 루트 풀에 대한 부트 항목을 표시할 수 있도록 지원합니다.
다음과 같이 이름 또는 항목 번호별로 개별 메뉴 항목을 확인합니다.
# bootadm list-menu -i 0 the location of the boot loader configuration files is: /rpool/boot/grub title: Oracle Solaris 11 FCS kernel: /platform/i86pc/kernel/$ISADIR/unix kernel arguments: -B $ZFS-BOOTFS -v boot archive: /platform/i86pc/$ISADIR/boot_archive ZFS root pool: rpool
GRUB 메뉴를 유지 관리합니다. 이 하위 명령은 특정 GRUB 메뉴 항목을 기본값으로 설정하고 기타 메뉴 옵션 및 부트 로더 옵션을 설정하는 데 사용됩니다.
다음과 같은 bootadm 하위 항목이 새로 소개되었습니다.
시스템 부트 로더를 설치합니다. 이 하위 명령은 x86 플랫폼과 SPARC 플랫폼에 모두 적용됩니다.
주 - SPARC 플랫폼에서는 GRUB를 사용하지 않으므로 bootadm 명령을 사용하여 관리해야 할 부트 메뉴가 없습니다. 하지만 SPARC 기반 시스템에서 bootadm 명령을 사용하여 부트 아카이브의 컨텐츠를 나열하고 수동으로 부트 아카이브를 업데이트하며 부트 로더를 설치할 수 있습니다. Oracle Solaris 부트 아카이브 관리를 참조하십시오.
다음 절차에서는 bootadm 명령을 사용하여 GRUB 구성 및 GRUB 메뉴를 관리하는 방법에 대해 설명합니다. 자세한 내용은 bootadm(1M) 매뉴얼 페이지를 참조하십시오.
bootadm 명령의 list-menu 하위 명령을 사용하여 현재 시스템에 있는 GRUB 메뉴 항목을 나열할 수 있습니다. 이 정보는 grub.cfg 파일을 통해 제공됩니다. 또한 명령 출력에는 부트 로더 구성 파일의 위치, 기본 부트 항목 번호, autoboot-timeout 값 및 각 부트 항목의 이름이 포함됩니다.
$ bootadm list-menu
예를 들어, 다음과 같습니다.
$ bootadm list-menu the location of the boot loader configuration files is: /rpool/boot/grub default 0 console graphics timeout 30 0 Oracle Solaris 11 FCS 1 Oracle Solaris backup-1 2 Oracle Solaris 11 11.1
명령을 실행할 때 항목 이름 또는 항목 번호를 지정할 경우 해당 정보도 표시됩니다.
$ bootadm list-menu -i entry-number
예를 들어, 다음과 같습니다.
$ bootadm list-menu -i 0 the location of the boot loader configuration files is: /rpool/boot/grub title: Oracle Solaris 11 FCS kernel: /platform/i86pc/kernel/$ISADIR/unix kernel arguments: -B $ZFS-BOOTFS -v boot archive: /platform/i86pc/$ISADIR/boot_archive ZFS root pool: rpool
bootadm generate-menu 명령을 사용하여 수동으로 현재 시스템에 설치된 OS 인스턴스를 포함하는 grub.cfg 파일을 재생성할 수 있습니다.
/usr/lib/grub2/bios/etc/default/grub 또는 /usr/lib/grub2/uefi64/etc/default/grub 파일의 정보와 GRUB 메타 구성 파일 rpool/boot/grub/menu.conf 의 정보를 결합하여 최종 grub.cfg 파일을 생성할 수 있습니다.
# bootadm generate-menu
# bootadm generate-menu -f
# bootadm generate-menu -P pool-name
# bootadm list-menu
주 - 변경 사항이 표시되지 않으면 grub.cfg 파일에서 변경 사항이 적용되었는지 확인하십시오.
bootadm 명령의 set-menu 하위 명령을 사용하여 GRUB 메뉴를 유지 관리할 수 있습니다. 예를 들어, 이 명령을 사용하여 GRUB 메뉴의 기본 부트 항목 및 메뉴 시간 초과를 명령할 수 있습니다.
# bootadm list-menu
# bootadm set-menu [-P pool] [-R altroot [-p platform]] key=value
set-menu 하위 명령을 사용하여 지정할 수 있는 각 값에 대한 자세한 내용은 bootadm(1M) 매뉴얼 페이지를 참조하십시오. set-menu 하위 명령을 사용할 수 있는 일반적인 방법에 대한 예가 이 절차 뒤에 설명됩니다.
# bootadm list-menu
주 - 변경 사항이 표시되지 않으면 grub.cfg 파일에서 변경 사항이 적용되었는지 확인하십시오.
예 2-1 GRUB 메뉴의 기본 부트 항목 변경
적합한 key=value 옵션과 함께 bootadm set-menu 명령을 사용하여 GRUB 메뉴에서 기본 항목 번호(예: 0, 1 또는 2)를 설정할 수 있습니다. 이 번호에 따라 타이머 만료 시 부트되는 운영 체제가 지정됩니다.
예를 들어, 다음 bootadm list-menu 명령의 출력은 기본 부트 항목이 2(Oracle Solaris 11_test)임을 보여 줍니다.
# bootadm list-menu The location of the boot loader configuration file is /rpool/boot/grub default 2 console graphics timeout 30 0 Oracle Solaris 11/11 1 Oracle Solaris 11.1 2 Oracle Solaris 11_test
이 예에서는 콘솔이 graphics 모드로 설정됩니다. text 및 serial을 포함하도록 기타 모드를 설정할 수 있습니다.
다음과 같이 기본 부트 항목을 1로 설정할 수 있습니다.
# bootadm set-menu default=1 # bootadm list-menu The location of the boot loader configuration file is /rpool/boot/grub default 1 console graphics timeout 30 0 Oracle Solaris 11/11 1 Oracle Solaris 11.1 2 GRUB2
이 예에서는 기본 메뉴 항목이 1입니다. 시스템이 재부트되면 기본 타이머가 만료된 후 자동으로 새 Oracle Solaris 항목이 부트됩니다.
또한 change-entry 하위 명령을 사용하여 GRUB 메뉴의 기본 항목을 설정할 수 있습니다. x86: GRUB 메뉴의 지정된 부트 항목 속성을 설정하는 방법을 참조하십시오.
예 2-2 GRUB 메뉴의 메뉴 시간 초과 값 변경
적합한 key=value 옵션과 함께 bootadm set-menu 명령을 사용하여 메뉴 시간 초과 값을 설정할 수 있습니다.
다음 예에서 bootadm list-menu 명령의 출력은 기본 시간 초과 값 30초가 45초로 변경되었음을 보여 줍니다. 다음 번에 시스템이 부트되면 변경 사항이 적용됩니다.
# bootadm list-menu The location of the boot loader configuration file is /rpool/boot/grub default 2 console graphics timeout 30 0 Oracle Solaris 11/11 1 Oracle Solaris 11.1 2 Oracle Solaris 11_test # bootadm set-menu timeout=45 # bootadm list-menu The location of the boot loader configuration file is /rpool/boot/grub default 2 console graphics timeout 45 0 Oracle Solaris 11/11 1 Oracle Solaris 11.1 2 Oracle Solaris 11_test
예 2-3 GRUB 콘솔 유형 설정
bootadm 명령의 set-menu 하위 명령을 사용하여 콘솔 유형 값을 설정할 수 있습니다. 이 방법으로 콘솔 유형을 변경하면 시스템을 재부트해도 지속됩니다.
예를 들어, 다음과 같이 grub.cfg 파일에서 콘솔 유형을 serial로 설정합니다.
# bootadm set-menu console=serial
일반 텍스트 콘솔의 경우 콘솔 유형을 text로 설정할 수도 있습니다. BIOS 직렬 재지정을 사용 중인 경우 이 옵션을 선택하십시오. 또는 콘솔 유형을 graphics로 설정할 수 있습니다. 이 옵션은 향상된 그래픽 메뉴를 제공하며 배경 이미지가 사용됩니다.
콘솔 유형을 serial로 설정할 경우 부트 시 직렬 포트를 초기화할 때 GRUB 2에서 사용되는 직렬 매개변수를 구성할 수 있습니다. serial_params 값을 지정하지 않을 경우 기본적으로 직렬 포트 0(COM1/ttya)이 사용되며 속도가 지정되지 않습니다. 속도를 지정하지 않고 포트만 지정할 경우(예: serial_params=0) 사용되는 속도가 정의되지 않고 GRUB가 실행되기 전에 직렬 포트가 초기화된 속도가 사용됩니다. 특정 속도가 사용되도록 하려면 serial_params와 함께 명시적으로 속도를 설정해야 합니다.
다음과 같이 bootadm 명령줄에 serial_params 키 값을 추가하십시오.
# bootadm set-menu console=serial serial_params=port[,speed[,data bits[,parity[,stop bits]]]]
포트 번호입니다. 0-3의 숫자(일반적으로 0은 ttya 또는 COM1에 사용됨)를 사용하여 포트 ttya-ttyd 또는 COM1-COM4를 각각 지정할 수 있습니다.
직렬 포트에 사용되는 속도입니다. 이 값을 생략할 경우 GRUB 2에서는 직렬 포트가 초기화된 속도를 사용합니다. 직렬 포트가 초기화되지 않은 경우 속도가 지정되지 않아 예측할 수 없는 결과가 나타날 수 있습니다. 직렬 포트 초기화 여부가 확실하지 않고 BIOS 콘솔 재지정을 사용하고 있지 않을 경우 속도 값을 지정하는 것이 좋습니다.
값이 7 또는 8로 지정됩니다.
e, o, n(짝수, 홀수 또는 없음)으로 각각 지정됩니다.
값이 0 또는 1로 지정됩니다.
port 매개변수를 제외한 모든 직렬 매개변수는 선택적 매개변수입니다.
bootadm 명령의 change-entry 하위 명령을 사용하여 GRUB에서 지정된 부트 항목 또는 쉼표로 구분된 항목 목록에 대한 특정 부트 속성을 설정할 수 있습니다. 항목은 항목 이름 또는 항목 번호로 지정됩니다. 여러 항목의 이름이 동일하면 모든 항목이 영향을 받습니다.
주 - 특수 등록 정보 set-default는 타이머 만료 시 부트할 기본 항목을 설정합니다. 이 하위 명령은 set-menu default=value 하위 명령과 동일하게 작동합니다. 예 2-1을 참조하십시오.
부트 시 GRUB 메뉴를 편집하여 특정 부트 항목에 대한 속성을 설정하는 방법은 x86: 부트 시 GRUB 메뉴를 편집하여 커널 인수 추가를 참조하십시오.
# bootadm list-menu
# bootadm change-entry [-P pool] {[entry-title[,entry-title...]}] | -i entry-number[,entry-number]...]} { key=value [ key=value ...] | set-default }
공백이 있는 값을 지정할 때는 작은따옴표 또는 큰따옴표로 값을 묶어야 합니다.
change-entry 하위 명령을 사용하여 지정할 수 있는 각 값에 대한 자세한 내용은 bootadm(1M) 매뉴얼 페이지를 참조하십시오. 일반적인 change-entry 하위 명령 사용 방법에 대한 예가 이 절차 뒤에 설명됩니다.
# bootadm list-menu
주 - 변경 사항이 표시되지 않으면 grub.cfg 파일에서 변경 사항이 적용되었는지 확인하십시오.
예 2-4 GRUB 메뉴의 지정된 부트 항목에 대한 이름 설정
bootadm 명령의 change-entry 하위 명령을 사용하여 지정된 부트 항목에 대한 이름을 설정할 수 있습니다. 이름을 설정할 때 항목 번호 또는 항목 이름을 지정할 수 있습니다. 다음 예에서는 지정된 부트 항목에 대한 이름을 설정하는 두 가지 방법을 보여 줍니다. 여러 항목의 이름이 동일하면 모든 항목이 영향을 받습니다.
다음과 같이 항목 번호를 지정하여 부트 항목에 대한 이름을 설정합니다.
# bootadm list-menu The location of the boot loader configuration file is /rpool/boot/grub default 1 console graphics timeout 30 0 Oracle Solaris 11/11 1 Oracle Solaris 11.1 2 Oracle Solaris 11_test # bootadm change-entry -i 2 title="Oracle Solaris 11-backup1" # bootadm list-menu The location of the boot loader configuration file is /rpool/boot/grub default 2 console graphics timeout 45 0 Oracle Solaris 11/11 1 Oracle Solaris 11.1 2 Oracle Solaris 11-backup1
다음과 같이 이름을 지정하여 부트 항목에 대한 이름을 설정합니다.
# bootadm list-menu The location of the boot loader configuration file is /rpool/boot/grub default 1 console graphics timeout 30 0 Oracle Solaris 11/11 1 Oracle Solaris 11.1 2 Oracle Solaris 11_test # bootadm change-entry "Oracle Solaris 11_test" title="Oracle Solaris 11-backup1" # bootadm list-menu The location of the boot loader configuration file is /rpool/boot/grub default 2 console graphics timeout 45 0 Oracle Solaris 11/11 1 Oracle Solaris 11.1 2 Oracle Solaris 11-backup1
예 2-5 커널 인수를 지정하여 부트 항목 변경
다음 예에서는 bootadm 명령의 change-entry 하위 명령을 사용하여 지정된 부트 항목에 대한 커널 부트 인수를 설정하는 방법을 보여 줍니다.
이 예에서는 단일 사용자 모드에서 부트하도록 부트 항목 번호 1이 설정됩니다.
# bootadm list-menu The location of the boot loader configuration file is /rpool/boot/grub default 1 console graphics timeout 30 0 Oracle Solaris 11/11 1 Oracle Solaris 11.1 2 Oracle Solaris 11_test # bootadm change-entry -i 1 kargs=-s # bootadm list-menu -i 1 The location of the boot loader configuration files is: /rpool/boot/grub title: Oracle Solaris 11.1 kernel: /platform/i86pc/kernel/$ISADIR/unix kernel arguments: -s boot archive: /platform/i86pc/$ISADIR/boot_archive ZFS root pool: rpool
이 예에서는 부트 항목 번호 2에 대해 여러 커널 인수가 지정됩니다.
# bootadm change-entry -i 2 kargs="-v -s" # bootadm list-menu -i 2 The location of the boot loader configuration files is: /rpool/boot/grub title: Oracle Solaris 11_test kernel: /platform/i86pc/kernel/$ISADIR/unix kernel arguments: -v -s boot archive: /platform/i86pc/$ISADIR/boot_archive bootfs: rpool/ROOT/snv_160-nightly-1
이 예에서는 -v 및 -s 옵션이 지정되어 상세 정보 표시 모드에서 단일 사용자 상태로 시스템이 부트됩니다.
공백이 있는 속성(또는 여러 속성)을 설정할 때는 작은따옴표 또는 큰따옴표로 값을 묶어야 합니다.
예 2-6 -B 옵션으로 커널 인수를 지정하여 부트 항목 변경
다음 예에서는 -B 옵션을 사용하여 특정 부트 항목에 대한 커널 인수를 설정할 수 있는 몇 가지 방법을 보여 줍니다.
다음과 같이 e1000g 네트워크 드라이버를 사용 안함으로 설정하고 부트 시 커널 디버거를 로드합니다.
# bootadm change-entry -i 0 kargs="-B disable-e1000g=true -k"
bootadm change-entry 명령을 사용하여 여러 -B 옵션을 지정할 수 있습니다. 예를 들어, 다음 명령 중 하나를 사용하여 e1000g 드라이버 및 ACPI를 동시에 사용 안함으로 설정합니다.
# bootadm change-entry -i 0 kargs="-B disable-e1000g=true -B acpi-user-options=2"
# bootadm change-entry -i 0 kargs="-B disable-e1000g=true,acpi-user-options=2"
또한 -B 옵션을 통해 지정된 부트 항목을 편집하여 부트 시 특정 부트 속성을 설정할 수 있습니다. 지침은 x86: 부트 시 GRUB 메뉴를 편집하여 커널 인수 추가를 참조하십시오.
예 2-7 부트 항목에서 이전에 추가된 커널 인수 제거
다음 예에서는 특정 부트 항목에서 커널 인수(-s)가 제거됩니다.
# bootadm list-menu -i 1 the location of the boot loader configuration files is: /rpool/boot/grub title: s11.1.backup kernel: /platform/i86pc/kernel/amd64/unix kernel arguments: -s boot archive: /platform/i86pc/amd64/boot_archive bootfs: rpool/ROOT/s11.1.backup # bootadm change-entry -i 1 kargs= # bootadm list-menu -i 1 the location of the boot loader configuration files is: /rpool/boot/grub title: s11.1.backup kernel: /platform/i86pc/kernel/amd64/unix kernel arguments: boot archive: /platform/i86pc/amd64/boot_archive bootfs: rpool/ROOT/s11.1.backup
bootadm 명령의 add-entry 하위 명령을 사용하여 지정된 항목 이름으로 GRUB 메뉴에 새 항목을 추가할 수 있습니다. 항목 번호를 지정할 경우 GRUB 메뉴의 지정된 위치에 새 항목이 삽입됩니다. 또는 항목 번호가 메뉴의 현재 항목 수보다 큰 경우 항목이 메뉴의 마지막 항목으로 추가됩니다.
# bootadm list-menu
# bootadm add-entry -P pool -i [entry-number] entry-title
# bootadm change-entry -i new-entry-number bootfs='pool-name/ROOT/be-name'
이 단계를 수행하면 새로 추가된 부트 항목이 루트 풀에서 설정되어 bootfs pool-level 등록 정보에 지정된 기본 bootfs 값을 사용하지 않습니다.
# bootadm list-menu
주 - 변경 사항이 표시되지 않으면 grub.cfg 파일에서 변경 사항이 적용되었는지 확인하십시오.
예 2-8 x86: GRUB 메뉴에 부트 항목 추가
다음 예에서는 bootadm add-entry 명령을 사용하여 GRUB 메뉴에 메뉴 항목을 추가하는 방법을 보여 줍니다. 이 예에서는 항목 번호 2가 추가됩니다.
# bootadm list-menu The location of the boot loader configuration file is /rpool/boot/grub default 2 console graphics timeout 30 0 Oracle Solaris 11/11 1 Oracle Solaris 11.1 # bootadm add-entry -i 2 Oracle Solaris 11_test # bootadm change-entry -i 2 bootfs='rpool/ROOT/test' # bootadm list-menu The location of the boot loader configuration file is /rpool/boot/grub default 2 console graphics timeout 30 0 Oracle Solaris 11/11 1 Oracle Solaris 11.1 2 Oracle Solaris 11_test
다음과 같이 항목 번호를 지정하여 새 메뉴 항목의 컨텐츠를 확인합니다.
# bootadm list-menu -i 2 the location of the boot loader configuration files is: /rpool/boot/grub title: Oracle Solaris 11_test kernel: /platform/i86pc/kernel/amd64/unix kernel arguments: -B $ZFS-BOOTFS boot archive: /platform/i86pc/amd64/boot_archive ZFS root pool: rpool
bootadm 명령의 remove-entry 하위 명령을 사용하여 GRUB 메뉴에서 지정된 항목 또는 쉼표로 구분된 항목 목록을 제거할 수 있습니다. 이름이 동일한 여러 항목을 지정할 경우 해당 이름을 사용하는 모든 항목이 제거됩니다.
# bootadm list-menu
# bootadm remove-entry [-P pool] [{entry-title [,entry-title...] | -i entry-number[,entry-number...]}
# bootadm list-menu
주 - 변경 사항이 표시되지 않으면 grub.cfg 파일에서 변경 사항이 적용되었는지 확인하십시오.
예 2-9 x86: GRUB 메뉴에서 부트 항목 제거
다음 예에서는 GRUB 메뉴에서 항목 번호 2를 제거하는 과정을 보여 줍니다.
# bootadm list-menu The location of the boot loader configuration file is /rpool/boot/grub default 2 console graphics timeout 30 0 Oracle Solaris 11/11 1 Oracle Solaris 11.1 2 Oracle Solaris 11_test bootadm remove-entry -i 2 1 entry removed # bootadm list-menu The location of the boot loader configuration file is /rpool/boot/grub default 2 console graphics timeout 30 0 Oracle Solaris 11/11 1 Oracle Solaris 11.1