Solaris 10 설치 설명서: 사용자 정의 JumpStart 및 고급 설치

4장 x86: Solaris 설치를 위한 GRUB 기반 부트

이 장에서는 Solaris 설치와 관련된 x86 기반 시스템의 GRUB 기반 부트에 대해 설명합니다. 이 장은 다음 내용으로 구성되어 있습니다.

x86: GRUB 기반 부트(개요)

Solaris 10 1/06 릴리스부터 오픈 소스 부트 로더인 GRUB를 Solaris OS의 기본 부트 로더로 사용합니다.


주 –

GRUB 기반 부트는 SPARC 기반 시스템에서 사용할 수 없습니다.


부트 로더는 시스템 전원을 켠 후에 처음으로 실행되는 소프트웨어 프로그램입니다. x86 기반 시스템의 전원을 켜면 BIOS(Basic Input/Output System)가 CPU, 메모리, 플랫폼 하드웨어를 초기화합니다. 초기화 단계가 완료되면 BIOS는 구성된 부트 장치에서 부트 로더를 로드한 다음 시스템 제어를 부트 로더로 전송합니다.

GRUB는 구성 파일에 미리 지정된 부트 옵션을 포함한 단순 메뉴 인터페이스가 있는 오픈 소스 부트 로더입니다. GRUB에는 메뉴 인터페이스에서 액세스하여 다양한 부트 명령을 수행할 수 있는 명령줄 인터페이스도 있습니다. Solaris OS에서 GRUB 구현은 멀티부트 사양과 호환됩니다. 사양에 대한 자세한 설명은 http://www.gnu.org/software/grub/grub.html에 있습니다.

Solaris 커널은 멀티부트 사양과 완전히 호환되기 때문에 GRUB를 사용하여 Solaris x86 기반 시스템을 부트할 수 있습니다. GRUB를 사용하면 다양한 운영 체제를 좀더 쉽게 부트 및 설치할 수 있습니다. 예를 들어 한 시스템에서 다음 운영 체제를 개별적으로 부트할 수 있습니다.

GRUB의 주요 장점 중 하나는 파일 시스템과 커널 실행 파일 형식이 직관적이기 때문에 디스크 상의 물리적 커널 위치를 기록하지 않고도 운영 체제를 로드할 수 있다는 것입니다. GRUB 기반 부트에서는 커널의 파일 이름, 드라이브, 커널이 있는 분할 영역을 지정하여 커널을 로드합니다. GRUB 기반 부트는 Solaris Device Configuration Assistant를 대체하며 GRUB 메뉴로 부트 프로세스를 단순화합니다.

x86: GRUB 기반 부트 방법

GRUB에서 시스템을 제어하기 시작하면 콘솔에 메뉴가 표시됩니다. GRUB 메뉴에서는 다음을 수행할 수 있습니다.

구성 가능 시간 초과를 사용하여 기본 OS 항목을 부트할 수 있습니다. 임의의 키를 누르면 기본 OS 항목 부트가 중단됩니다.

GRUB 메뉴의 예를 보려면 GRUB 주 메뉴 설명을 참조하십시오.

x86: GRUB 장치 이름 지정 규약

GRUB에서 사용하는 장치 이름 지정 규약은 이전 Solaris OS 버전과 약간 다릅니다. GRUB 장치 이름 지정 규약을 이해하면 시스템에서 GRUB를 구성할 때 드라이브 및 분할 영역을 제대로 지정하는 데 도움이 됩니다.

다음 표는 GRUB 장치 이름 지정 규약을 설명합니다.

표 4–1 GRUB 장치의 이름 지정 규약

장치 이름 

설명 

(fd0), (fd1)

첫 번째 디스켓, 두 번째 디스켓 

(nd)

네트워크 장치 

(hd0,0), (hd0,1)

첫 번째 bios 디스크의 첫 번째 및 두 번째 fdisk 분할 영역

(hd0,0,a), (hd0,0,b)

첫 번째 bios 디스크의 첫 번째 fdisk 분할 영역에 있는 Solaris/BSD 슬라이스 0 및 1


주 –

모든 GRUB 장치 이름은 괄호 안에 넣어야 합니다. 분할 영역 번호는 1이 아닌 0(영)부터 계산합니다.


fdisk 분할 영역에 대한 자세한 내용은 System Administration Guide: Devices and File SystemsGuidelines for Creating an fdisk Partition을 참조하십시오.

x86: GRUB 기반 설치에 관한 정보의 위치

변경 사항에 대한 자세한 내용은 다음 참조를 참조하십시오.

표 4–2 GRUB 기반 설치에 관한 정보의 위치

주제 

GRUB 메뉴 작업 

자세한 내용 

설치 

Solaris OS CD 또는 DVD 매체에서 설치 

Solaris 10 설치 설명서: 기본 설치.

네트워크 설치 이미지에서 설치 

Solaris 10 설치 설명서: 네트워크 기반 설치의 파트 II, LAN(Local Area Network)을 통한 설치

 

네트워크 설치를 위한 DHCP 서버 구성 

Solaris 10 설치 설명서: 네트워크 기반 설치DHCP 서비스를 사용하여 시스템 구성 정보를 미리 구성(작업)

 

사용자 정의 JumpStart 프로그램을 사용하여 설치 

x86: 사용자 정의 JumpStart 설치 수행

 

Solaris Live Upgrade를 사용하여 활성화 또는 부트 환경으로 폴백 

시스템 관리 

GRUB 및 관리 작업에 대한 자세한 정보 

System Administration Guide: Basic Administration의 11 장, GRUB Based Booting (Tasks)

x86: GRUB 기반 부트(계획)

이 절에서는 GRUB 기반 부트의 기본 사항과 GRUB 메뉴에 대해 설명합니다.

Solaris OS를 설치할 때 시스템에는 기본적으로 두 개의 GRUB 메뉴 항목이 설치됩니다. 첫 번째 항목은 Solaris OS 항목입니다. 두 번째 항목은 시스템 복구에 사용되는 비상 안전 부트 아카이브입니다. Solaris GRUB 메뉴 항목은 Solaris 소프트웨어 설치 및 업그레이드 프로세스의 일부로서 자동으로 설치 및 업데이트됩니다. 이 항목은 OS에서 직접 관리되며 수동으로 편집하면 안 됩니다.

표준 Solaris OS 설치 중에, GRUB는 시스템 BIOS 설정을 수정하지 않고 Solaris fdisk 분할 영역에 설치됩니다. OS가 BIOS 부트 디스크에 있지 않은 경우에는 다음 중 하나를 수행해야 합니다.

선호되는 방법은 부트 디스크에 Solaris OS를 설치하는 것입니다. 시스템에 여러 운영 체제가 설치되어 있는 경우에는 menu.lst 파일에 항목을 추가할 수 있습니다. 그러면 이 항목은 다음에 시스템을 부트할 때 GRUB 메뉴에 표시됩니다.

여러 운영 체제에 대한 추가 정보는 System Administration Guide: Basic AdministrationHow Multiple Operating Systems Are Supported in the GRUB Boot Environment를 참조하십시오.

x86: 네트워크에서 GRUB 기반 설치 수행

GRUB 기반 네트워크 부트를 수행하려면 PXE 클라이언트용으로 구성된 DHCP 서버와 tftp 서비스를 제공하는 설치 서버가 필요합니다. DHCP 서버는 DHCP 클래스 PXEClientGRUBClient에 응답할 수 있어야 합니다. DHCP 응답에는 다음 정보가 포함되어 있어야 합니다.


주 –

서버측에서 네트워크 부트를 수행할 때 보통 요구 사항에 포함되는 rpc.bootparamd는 GRUB 기반 네트워크 부트에 필요하지 않습니다.


PXE 또는 DHCP 서버를 사용할 수 없으면 CD-ROM 또는 로컬 디스크에서 GRUB를 로드할 수 있습니다. 그런 다음 GRUB에서 네트워크를 수동으로 구성하고 파일 서버에서 멀티부트 프로그램과 부트 아카이브를 다운로드할 수 있습니다.

자세한 내용은 Solaris 10 설치 설명서: 네트워크 기반 설치PXE를 사용하여 네트워크를 통해 부팅 및 설치 개요를 참조하십시오.

GRUB 주 메뉴 설명

x86 기반 시스템을 부트하면 GRUB 메뉴가 표시됩니다. 이 메뉴에는 선택할 수 있는 부트 항목 목록이 있습니다. 부트 항목은 시스템에 설치된 OS 인스턴스입니다. GRUB 메뉴는 구성 파일인 menu.lst 파일을 기반으로 합니다. menu.lst 파일은 Solaris 설치 프로그램에서 만들어지며 설치 후에 수정할 수 있습니다. menu.lst 파일은 GRUB 메뉴에 표시되는 OS 인스턴스의 목록을 결정합니다.


예 4–1 GRUB 주 메뉴

다음 예에서 GRUB 주 메뉴에는 Solaris 및 Microsoft Windows 운영 체제가 표시됩니다. 이름이 second_disk인 Solaris Live Upgrade 부트 환경도 목록에 표시됩니다. 각 메뉴 항목에 대한 설명은 다음을 참조하십시오.


GNU GRUB version 0.95 (616K lower / 4127168K upper memory)
+-------------------------------------------------------------------+
|Solaris                                                            |
|Solaris failsafe                                                   |
|second_disk                                                        |
|second_disk failsafe                                               |
|Windows                                                            |
+-------------------------------------------------------------------+
Use the ^ and v keys to select which entry is highlighted. Press
enter to boot the selected OS, 'e' to edit the commands before
booting, or 'c' for a command-line.
Solaris

Solaris OS를 지정합니다.

Solaris failsafe

Solaris OS가 손상된 경우 복구에 사용할 수 있는 부트 아카이브를 지정합니다.

second_disk

Solaris Live Upgrade 부트 환경을 지정합니다. second_disk 부트 환경은 Solaris OS의 복사본으로 만들어집니다. 이 환경은 luactivate 명령을 사용하여 업그레이드 및 활성화할 수 있습니다. 부트 환경은 부트에 사용할 수 있습니다.

Windows

Microsoft Windows OS를 지정합니다. GRUB에서는 이 분할 영역을 감지하지만 OS를 부트할 수 있는지 확인하지는 않습니다.


GRUB menu.lst 파일 설명

GRUB menu.lst 파일에는 GRUB 주 메뉴의 내용이 나열됩니다. GRUB 주 메뉴는 Solaris Live Upgrade 부트 환경을 포함하여 시스템에 설치된 모든 OS 인스턴스의 부트 항목이 나열됩니다. Solaris 소프트웨어 업그레이드 프로세스는 이 파일에서 변경하는 내용을 모두 보존합니다.

menu.lst 파일의 수정 내용은 Solaris Live Upgrade 항목과 함께 모두 GRUB 주 메뉴에 표시됩니다. 파일의 변경 내용은 다음에 시스템을 다시 부트할 때 적용됩니다. 다음과 같은 목적으로 이 파일을 수정할 수 있습니다.


주의 – 주의 –

GRUB menu.lst 파일을 사용하여 Solaris Live Upgrade 항목을 수정하지 마십시오. 수정하면 Solaris Live Upgrade가 실패할 수 있습니다.


menu.lst 파일을 사용하여 커널 디버거를 이용한 부트 등의 부트 동작을 사용자 정의할 수 있지만, 사용자 정의에 선호되는 방법은 eeprom 명령을 사용하는 것입니다. menu.lst 파일을 사용하여 사용자 정의하는 경우 소프트웨어 업그레이드 중에 Solaris OS 항목을 수정할 수 있습니다. 그러면 파일의 변경 사항이 손실됩니다.

eeprom 명령의 사용 방법에 대한 자세한 내용은 System Administration Guide: Basic AdministrationHow to Set Solaris Boot Parameters by Using the eeprom Command를 참조하십시오.


예 4–2 Menu.lst 파일

다음은 menu.lst 파일 예제입니다.


default 0
timeout 10
title Solaris
  root (hd0,0,a)
  kernel /platform/i86pc/multiboot -B console=ttya
  module /platform/i86pc/boot_archive
title Solaris failsafe
  root (hd0,0,a)
  kernel /boot/multiboot -B console=ttya -s
  module /boot/x86.miniroot.safe
#----- second_disk - ADDED BY LIVE UPGRADE - DO NOT EDIT  -----
title second_disk
  root (hd0,1,a)
  kernel /platform/i86pc/multiboot
  module /platform/i86pc/boot_archive
title second_disk failsafe
  root (hd0,1,a)
  kernel /boot/multiboot kernel/unix -s
  module /boot/x86.miniroot-safe
#----- second_disk -------------- END LIVE UPGRADE ------------
title Windows
  root (hd0,0)
  chainloader -1
default

시간 초과 값이 만료된 경우 부트할 항목을 지정합니다. 기본값을 변경하려면 번호를 변경하여 목록의 다른 항목을 지정합니다. 첫 번째 제목은 0(영)에서 시작됩니다. 예를 들어 second_disk 부트 환경에서 자동으로 부트하려면 기본값을 2로 변경합니다.

timeout

기본 항목을 부트하기 전에 사용자 입력을 기다리는 시간(초)을 지정합니다. 시간 초과 값을 지정하지 않은 경우에는 항목을 선택해야 합니다.

title OS name

운영 체제의 이름을 지정합니다.

  • Solaris Live Upgrade 부트 환경에서 OS name은 새 부트 환경을 만들 때 지정한 이름입니다. 이전 예에서 Solaris Live Upgrade 부트 환경의 이름은 second_disk입니다.

  • 이 값이 비상 안전 부트 아카이브이면 이 부트 아카이브는 기본 OS가 손상된 경우에 복구에 사용됩니다. 이전 예에서 Solaris 비상 안전과 second_disk 비상 안전은 Solaris 및 second_disk 운영 체제의 복구 부트 아카이브입니다.

root (hd0,0,a)

파일을 로드할 디스크, 분할 영역 및 슬라이스를 지정합니다. GRUB는 파일 시스템 유형을 자동으로 감지합니다.

kernel /platform/i86pc/multiboot

멀티부트 프로그램을 지정합니다. 멀티부트 프로그램에는 항상 커널 명령을 사용해야 합니다. multiboot 뒤의 문자열은 해석되지 않고 Solaris OS에 전달됩니다.

여러 운영 체제에 대한 자세한 내용은 System Administration Guide: Basic AdministrationHow Multiple Operating Systems Are Supported in the GRUB Boot Environment를 참조하십시오.


menu.lst 파일을 찾아 GRUB 메뉴 변경

항상 bootadm 명령을 사용하여 GRUB 메뉴의 menu.lst 파일을 찾아야 합니다. list-menu 하위 명령은 활성 GRUB 메뉴를 찾습니다. menu.lst 파일은 시스템에 설치된 모든 운영 체제의 목록을 표시합니다. 이 파일의 내용에 따라 GRUB 메뉴에 표시되는 운영 체제의 목록이 결정됩니다. 이 파일을 변경하려면 x86: GRUB 메뉴의 menu.lst 파일 찾기(작업)를 참조하십시오.

x86: GRUB 메뉴의 menu.lst 파일 찾기(작업)

Solaris 10 1/06 릴리스부터 GRUB 메뉴를 업데이트할 수 있습니다. 예를 들어 기본 OS의 부트 속도를 나타내는 기본 시간을 변경할 수 있습니다. 또는 GRUB 메뉴에 다른 OS를 추가할 수 있습니다.

보통 활성 GRUB 메뉴의 menu.lst 파일은 /boot/grub/menu.lst에 있습니다. 경우에 따라 GRUB menu.lst 파일이 다른 위치에 있을 수도 있습니다. 예를 들어 Solaris Live Upgrade를 사용하는 시스템에서는 GRUB menu.lst 파일이 현재 부트 환경을 실행하지 않는 부트 환경에 있을 수 있습니다. 또는 x86 부트 플랫폼으로 시스템을 업그레이드한 경우 menu.lst 파일이 /stubboot 디렉토리에 있을 수도 있습니다. 시스템 부트에는 활성 GRUB menu.lst 파일만 사용됩니다. 시스템을 부트할 때 표시되는 GRUB 메뉴를 수정하려면 활성 GRUB menu.lst 파일을 수정해야 합니다. 다른 GRUB menu.lst 파일을 변경해도 시스템을 부트할 때 표시되는 메뉴에는 영향을 주지 않습니다. 활성 GRUB menu.lst 파일의 위치를 확인하려면 bootadm 명령을 사용합니다. list-menu 하위 명령은 활성 GRUB 메뉴의 위치를 표시합니다. 다음 절차는 GRUB 메뉴의 menu.lst 파일 위치를 결정합니다.

bootadm 명령에 대한 자세한 내용은 bootadm(1M) 매뉴얼 페이지를 참조하십시오.

ProcedureGRUB 메뉴의 menu.lst 파일 찾기

다음 절차의 시스템에는 Solaris 및 Solaris Live Upgrade 부트 환경(second_disk)의 두 운영 체제가 있습니다. Solaris OS는 부트되었으며 GRUB 메뉴를 포함합니다.

단계
  1. 수퍼유저가 되거나 동등한 역할을 맡습니다.

    역할에는 권한 부여 및 권한이 있는 명령이 포함됩니다. 역할에 대한 자세한 내용은 System Administration Guide: Security ServicesConfiguring RBAC (Task Map)를 참조하십시오.

  2. menu.lst 파일을 찾으려면 다음을 입력합니다.


    # /sbin/bootadm list-menu
    

    파일의 위치와 내용이 표시됩니다.


    The location for the active GRUB menu is: /boot/grub/menu.lst
    default 0
    timeout 10
    0 Solaris
    1 Solaris failsafe
    2 second_disk
    3 second_disk failsafe

Procedure활성 menu.lst 파일이 다른 부트 환경에 있는 경우 GRUB 메뉴의 menu.lst 파일 찾기

다음 절차의 시스템에는Solaris 및 Solaris Live Upgrade 부트 환경(second_disk)이라는 두 운영 체제가 있습니다. 이 예에서 menu.lst 파일은 현재 실행 중인 부트 환경에 없습니다. second_disk 부트 환경이 부트되었습니다. Solaris 부트 환경에 GRUB 메뉴가 있습니다. Solaris 부트 환경이 마운트되지 않았습니다.

단계
  1. 수퍼유저가 되거나 동등한 역할을 맡습니다.

    역할에는 권한 부여 및 권한이 있는 명령이 포함됩니다. 역할에 대한 자세한 내용은 System Administration Guide: Security ServicesConfiguring RBAC (Task Map)를 참조하십시오.

  2. menu.lst 파일을 찾으려면 다음을 입력합니다.


    # /sbin/bootadm list-menu
    

    파일의 위치와 내용이 표시됩니다.


    The location for the active GRUB menu is: /dev/dsk/device_name(not mounted)
    The filesystem type of the menu device is <ufs>
    default 0
    timeout 10
    0 Solaris
    1 Solaris failsafe
    2 second_disk
    3 second_disk failsafe
  3. menu.lst 파일이 있는 파일 시스템이 마운트되지 않았기 때문에 파일 시스템을 마운트해야 합니다. UFS 파일 시스템과 장치 이름을 지정합니다.


    # /usr/sbin/mount -F ufs /dev/dsk/device_name /mnt
    

    device_name은 마운트할 부트 환경의 디스트 장치에 있는 루트(/) 파일 시스템의 위치를 지정합니다. 장치 이름은 /dev/dsk/cwtx dysz 형식으로 입력합니다. 예를 들면 다음과 같습니다.


    # /usr/sbin/mount -F ufs /dev/dsk/c0t1d0s0 /mnt
    

    GRUB 메뉴는 /mnt/boot/grub/menu.lst에서 액세스할 수 있습니다.

  4. 파일 시스템 마운트 해제


    # /usr/sbin/umount /mnt
    

    주 –

    부트 환경이나 부트 환경의 파일 시스템을 마운트한 경우, 사용이 끝나면 파일 시스템을 마운트 해제해야 합니다. 파일 시스템이 마운트 해제되지 않은 경우 앞으로 그 부트 환경에서 Solaris Live Upgrade 작업이 실패할 수 있습니다.


ProcedureSolaris Live Upgrade 부트 환경이 마운트된 경우 GRUB 메뉴의 menu.lst 파일 찾기

다음 절차의 시스템에는Solaris 및 Solaris Live Upgrade 부트 환경(second_disk)이라는 두 운영 체제가 있습니다. second_disk 부트 환경이 부트되었습니다. Solaris 부트 환경에 GRUB 메뉴가 있습니다. Solaris 부트 환경이 /.alt.Solaris에 마운트되었습니다.

단계
  1. 수퍼유저가 되거나 동등한 역할을 맡습니다.

    역할에는 권한 부여 및 권한이 있는 명령이 포함됩니다. 역할에 대한 자세한 내용은 System Administration Guide: Security ServicesConfiguring RBAC (Task Map)를 참조하십시오.

  2. menu.lst 파일을 찾으려면 다음을 입력합니다.


    # /sbin/bootadm list-menu
    

    파일의 위치와 내용이 표시됩니다.


    The location for the active GRUB menu is:
    /.alt.Solaris/boot/grub/menu.lst
    default 0
    timeout 10
    0 Solaris
    1 Solaris failsafe
    2 second_disk
    3 second_disk failsafe

    GRUB 메뉴가 있는 부트 환경이 이미 마운트되어 있기 때문에 /.alt.Solaris/boot/grub/menu.lst 위치에서 menu.lst 파일에 액세스할 수 있습니다.

Procedure시스템에 x86 부트 분할 영역이 있는 경우 GRUB 메뉴의 menu.lst 파일 찾기

다음 절차의 시스템에는Solaris 및 Solaris Live Upgrade 부트 환경(second_disk)이라는 두 운영 체제가 있습니다. second_disk 부트 환경이 부트되었습니다. 시스템이 업그레이드되고 x86 부트 분할 영역이 남았습니다. 부트 분할 영역은 /stubboot에 마운트되어 있으며 GRUB 메뉴가 있습니다. x86 부트 분할 영역에 대한 설명은 x86: 분할 권장사항을 참조하십시오.

단계
  1. 수퍼유저가 되거나 동등한 역할을 맡습니다.

    역할에는 권한 부여 및 권한이 있는 명령이 포함됩니다. 역할에 대한 자세한 내용은 System Administration Guide: Security ServicesConfiguring RBAC (Task Map)를 참조하십시오.

  2. menu.lst 파일을 찾으려면 다음을 입력합니다.


    # /sbin/bootadm list-menu
    

    파일의 위치와 내용이 표시됩니다.


    The location for the active GRUB menu is:
    /stubboot/boot/grub/menu.lst
    default 0
    timeout 10
    0 Solaris
    1 Solaris failsafe
    2 second_disk
    3 second_disk failsafe

    /stubboot/boot/grub/menu.lst에서 menu.lst 파일에 액세스할 수 있습니다.