JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
x86 플랫폼에서 Oracle Solaris 부트 및 종료     Oracle Solaris 11 Information Library (한국어)
search filter icon
search icon

문서 정보

본 문서 정보

1.  x86 기반 시스템 부트 및 종료(개요)

2.  x86 기반 시스템을 지정된 상태로 부트(작업)

3.  시스템 종료(작업)

4.  x86 기반 시스템 재부트(작업)

5.  네트워크에서 x86 기반 시스템 부트(작업)

6.  x86 기반 시스템에서 부트 매개변수 수정(작업)

7.  x86 플랫폼에서 ZFS 부트 환경 만들기, 관리 및 ZFS 부트 환경에서 부트(작업)

8.  x86 기반 시스템을 부트 가능한 상태로 유지(작업)

9.  x86 기반 시스템 부트 문제 해결(작업)

x86 기반 시스템 부트 문제 해결(작업 맵)

복구를 위해 x86 기반 시스템 종료 후 부트

복구 목적으로 시스템 중지 및 부트

복구를 위한 시스템 중지 방법

단일 사용자 모드로 부트하여 잘못된 root 셸 또는 암호 문제를 해결하는 방법

매체에서 부트하여 알 수 없는 root 암호 문제를 해결하는 방법

매체에서 부트하여 시스템 부트를 방해하는 menu.lst 파일의 문제를 해결하는 방법

시스템의 충돌 덤프 및 재부트 강제 수행

시스템의 충돌 덤프 및 재부트를 강제 수행하는 방법

커널 디버거(kmdb)를 사용으로 설정하여 시스템을 부트하는 방법

x86 플랫폼에서 빠른 재부트 관련 문제 해결

발생할 수 있는 초기 패닉 디버깅

x86 플랫폼에서 빠른 재부트 작동을 방해하는 조건 해결

색인

복구를 위해 x86 기반 시스템 종료 후 부트

다음과 같은 경우에는 부트 문제 및 기타 시스템 문제를 분석하거나 해결하기 위해 먼저 시스템을 종료해야 합니다.

다음 절차는 복구를 위해 x86 기반 시스템을 안전하게 종료한 후 부트하는 방법에 대해 설명합니다.

복구 목적으로 시스템 중지 및 부트

복구를 위해서는 시스템을 부트해야 할 수 있습니다.

다음은 몇 가지 일반적인 오류 및 복구 시나리오입니다.

복구를 위한 시스템 중지 방법

  1. 시스템을 중지합니다.
    • 키보드와 마우스가 작동하는 경우 먼저 root 역할로 전환한 다음 init 0을 입력합니다.

    • Press any key to reboot 프롬프트가 표시되는 경우 아무 키나 눌러 시스템을 재부트합니다.

    • 시스템을 재부트하려면 init 6을 입력합니다.

  2. 마우스 입력에 대해 시스템 응답이 없는 경우 다음 중 하나를 수행합니다.
    • Reset 키를 눌러 시스템을 재부트합니다.
    • 전원 스위치를 사용하여 시스템을 재부트합니다.

단일 사용자 모드로 부트하여 잘못된 root 셸 또는 암호 문제를 해결하는 방법

  1. 시스템을 중지합니다.
    # init 0
  2. 시스템을 다시 부트합니다.
    # reboot
  3. GRUB 메뉴가 표시되면 다음을 수행합니다.
    1. 적당한 부트 항목을 선택한 다음 e를 입력하여 해당 항목을 편집합니다.
    2. 화살표 키를 사용하여 kernel$ 라인을 선택합니다.

      화살표 키를 사용할 수 없는 경우 위로 스크롤하려면 캐럿 키(^)를 사용하고, 아래로 스크롤하려면 문자 v 키를 사용합니다.

    3. $kernel 라인 끝에 -s를 입력한 다음 Return 키를 눌러 변경 사항을 저장하고 이전 화면으로 돌아갑니다.
    4. b를 입력하여 시스템을 단일 사용자 모드로 부트합니다.
  4. /etc/passwd 파일에서 셸 항목을 수정합니다.
    # vi /etc/password
  5. control-d를 눌러 시스템을 재부트합니다.

매체에서 부트하여 알 수 없는 root 암호 문제를 해결하는 방법

알 수 없는 root 암호 문제 또는 유사한 문제를 해결하기 위해 시스템을 부트해야 할 경우 다음 절차를 사용하십시오. 이 절차를 사용하려면 루트 풀을 가져온 후 부트 환경을 마운트해야 합니다. 루트 풀 또는 루트 풀 스냅샷을 복구해야 할 경우 Oracle Solaris 관리: ZFS 파일 시스템의 ZFS 루트 풀의 디스크 교체 방법를 참조하십시오.

  1. Oracle Solaris 매체에서 부트합니다.
    • 라이브 매체 – 설치 매체에서 부트한 다음 복구 절차에 GNOME 터미널을 사용합니다.
    • 텍스트 설치 – GRUB 메뉴에서 Text Installer command line 부트 항목을 선택한 다음 텍스트 설치 화면에서 3 Shell 옵션을 선택합니다.
    • 자동 설치 – 네트워크의 설치 서버에서 부트하려면 PXE 부트가 필요합니다. GRUB 메뉴에서 Text Installer and command line 항목을 선택합니다. 그런 다음 텍스트 설치 화면에서 3 Shell 옵션을 선택합니다.

      예를 들면 다음과 같습니다.

      1  Install Oracle Solaris
              2  Install Additional Drivers
              3  Shell
              4  Terminal type (currently xterm)
              5  Reboot
      
      Please enter a number [1]: 3
      To return to the main menu, exit the shell
  2. 루트 풀을 가져옵니다.
    zpool import -f rpool
  3. 부트 환경의 마운트 지점을 만듭니다.
    # mkdir /a
  4. /a에 부트 환경을 마운트합니다.
    # beadm mount solaris-instance|bename /a

    예를 들면 다음과 같습니다.

    # beadm mount solaris-2 /a
  5. 암호 또는 그림자 항목으로 인해 콘솔 로그인이 되지 않으면 해당 문제를 해결합니다.
    1. TERM 유형을 설정합니다.
      # TERM=vt100
      # export TERM
    2. shadow 파일을 편집합니다.
      # cd /a/etc
      # vi shadow
      # cd /
  6. 부트 아카이브를 업데이트합니다.
    # bootadm update-archive /R /a
  7. 부트 환경을 마운트 해제합니다.
    # beadm umount be-name
  8. 시스템을 중지합니다.
    # halt
  9. 단일 사용자 모드로 부트하여 잘못된 root 셸 또는 암호 문제를 해결하는 방법에 설명된 대로 시스템을 단일 사용자 모드로 재부트한 다음 root 암호에 대한 프롬프트가 나타나면 Return 키를 누릅니다.
  10. root 암호를 재설정합니다.
    root@system:~# passwd -r files root
    New Password: xxxxxx
    Re-enter new Password: xxxxxx
    passwd: password successfully changed for root
  11. control-d를 눌러 시스템을 재부트합니다.

매체에서 부트하여 시스템 부트를 방해하는 menu.lst 파일의 문제를 해결하는 방법

기본 menu.lst 파일의 문제를 해결하기 위해 시스템을 부트해야 할 경우 다음 절차를 사용하십시오. 이 절차에서는 부트 환경을 마운트할 필요가 없습니다. 루트 풀 또는 루트 풀 스냅샷을 복구해야 할 경우 Oracle Solaris 관리: ZFS 파일 시스템의 ZFS 루트 풀의 디스크 교체 방법를 참조하십시오.

  1. Oracle Solaris 매체에서 부트합니다.
    • 라이브 매체 – 설치 매체에서 부트한 다음 복구 절차에 GNOME 터미널을 사용합니다.
    • 텍스트 설치 – GRUB 메뉴에서 Text Installer command line 부트 항목을 선택한 다음 텍스트 설치 화면에서 3 Shell 옵션을 선택합니다.
    • 자동 설치 – 네트워크의 설치 서버에서 부트하려면 PXE 부트가 필요합니다. GRUB 메뉴에서 Text Installer and command line 항목을 선택합니다. 그런 다음 텍스트 설치 화면에서 3 Shell 옵션을 선택합니다.

      예를 들면 다음과 같습니다.

      1  Install Oracle Solaris
              2  Install Additional Drivers
              3  Shell
              4  Terminal type (currently xterm)
              5  Reboot
      
      Please enter a number [1]: 3
      To return to the main menu, exit the shell
  2. 루트 풀을 가져옵니다.
    zpool import -f rpool
  3. menu.lst 파일의 항목을 검사하고 필요에 따라 수정합니다.
    # cd /rpool/boot/grub
    # vi menu.lst
  4. 부트 아카이브를 업데이트합니다.
    # bootadm update-archive -R /a
  5. 셸을 종료하고 시스템을 재부트합니다.
    exit
            1  Install Oracle Solaris
            2  Install Additional Drivers
            3  Shell
            4  Terminal type (currently sun-color)
            5  Reboot
    
    Please enter a number [1]: 5

시스템의 충돌 덤프 및 재부트 강제 수행

문제 해결을 위해 시스템의 충돌 덤프 및 재부트를 강제 수행해야 하는 경우가 있습니다. 기본적으로 savecore 기능은 사용으로 설정되어 있습니다.

시스템 충돌 덤프에 대한 자세한 내용은 Oracle Solaris 관리: 일반 작업의 시스템 충돌 덤프 정보 관리를 참조하십시오.

시스템의 충돌 덤프 및 재부트를 강제 수행하는 방법

reboot -d 또는 halt -d 명령을 사용할 수 없을 경우 커널 디버거(kmdb)를 사용하여 충돌 덤프를 강제 수행할 수 있습니다. 다음 절차를 사용하려면 부트 시 또는 mdb -k 명령을 통해 커널 디버거가 로드되어 있어야 합니다.


주 - 커널 디버거(kmdb)에 액세스하려면 텍스트 모드여야 합니다. 따라서 먼저 윈도우 시스템을 종료하십시오.


  1. 커널 디버거에 액세스합니다.

    디버거 액세스에 사용되는 방법은 시스템에 액세스할 때 사용하는 콘솔의 유형에 따라 다릅니다.

    • 로컬로 연결된 키보드를 사용 중인 경우 F1–A를 누릅니다.

    • 직렬 콘솔을 사용 중인 경우 직렬 콘솔의 유형에 적합한 방법을 사용하여 중단 명령을 보냅니다.

    kmdb 프롬프트가 표시됩니다.

  2. 충돌을 강제로 일으키려면 systemdump 매크로를 사용합니다.
    [0]> $<systemdump

    패닉 메시지가 표시되고 충돌 덤프가 저장된 후 시스템이 재부트됩니다.

  3. 콘솔 로그인 프롬프트에서 로그인하여 시스템이 재부트되었는지 확인합니다.

예 9-1 x86: halt -d를 사용하여 시스템의 충돌 덤프 및 재부트 강제 수행

이 예에서는 halt -dboot 명령을 사용하여 x86 기반 시스템의 충돌 덤프 및 재부트를 강제 수행하는 방법을 보여 줍니다.

# halt -d
4ay 30 15:35:15 wacked.<domain>.COM halt: halted by user

panic[cpu0]/thread=ffffffff83246ec0: forced crash dump initiated at user request

fffffe80006bbd60 genunix:kadmin+4c1 ()
fffffe80006bbec0 genunix:uadmin+93 ()
fffffe80006bbf10 unix:sys_syscall32+101 ()

syncing file systems... done
dumping to /dev/dsk/c1t0d0s1, offset 107675648, content: kernel
NOTICE: adpu320: bus reset
100% done: 38438 pages dumped, compression ratio 4.29, dump succeeded

Welcome to kmdb
Loaded modules: [ audiosup crypto ufs unix krtld s1394 sppp nca uhci lofs 
genunix ip usba specfs nfs md random sctp ]
[0]> 
kmdb: Do you really want to reboot? (y/n) y

커널 디버거(kmdb)를 사용으로 설정하여 시스템을 부트하는 방법

이 절차에서는 커널 디버거(kmdb) 로드를 위한 기본 사항을 제공합니다. 기본적으로 savecore 기능은 사용으로 설정되어 있습니다.

  1. 시스템을 부트합니다.

    시스템이 부트되면 GRUB 메뉴가 표시됩니다.

  2. GRUB 메뉴가 표시되면 e를 입력하여 GRUB 편집 메뉴에 액세스합니다.
  3. 화살표 키를 사용하여 kernel$ 라인을 선택합니다.

    화살표 키를 사용할 수 없는 경우 위로 스크롤하려면 캐럿 키(^)를 사용하고, 아래로 스크롤하려면 문자 v 키를 사용합니다.

  4. e를 입력하여 라인을 편집합니다.

    부트 항목 메뉴가 표시됩니다. 이 메뉴에서 kernel$ 라인 끝에 부트 인수를 더 추가하여 부트 동작을 수정할 수 있습니다.

  5. GRUB 편집 메뉴에서 kernel$ 라인 끝에 -kmdb 또는 -k를 입력합니다.
    grub edit> kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS -s -k
  6. Enter 키를 눌러 이전 화면으로 돌아간 다음 b를 입력하여 커널 디버거를 사용으로 설정한 상태로 시스템을 부트합니다.

    -kmdb 또는 -k를 입력하면 디버거가 로드된 다음 운영 체제가 직접 부트됩니다.

  7. 커널 디버거에 액세스합니다.

    디버거 액세스에 사용되는 방법은 시스템에 액세스할 때 사용하는 콘솔의 유형에 따라 다릅니다.

    • 로컬로 연결된 키보드를 사용 중인 경우 F1–A를 누릅니다.

    • 직렬 콘솔을 사용 중인 경우 직렬 콘솔의 유형에 적합한 방법을 사용하여 중단 명령을 보냅니다.

    시스템이 완전히 부트되기 전에 커널 디버거에 액세스하려면 -kd 옵션을 사용합니다.

    -kd 옵션을 사용하면 디버거가 로드되어 운영 체제를 부트하기 전에 사용자가 디버거와 상호 작용할 수 있습니다.

    커널 디버거에 처음 액세스하면 시작 메시지가 표시됩니다.

참조

kmdbkmdb가 제공하는 실행 제어 기능을 사용하여 시스템과 상호 작용하는 방법은 kmdb(1) 매뉴얼 페이지를 참조하십시오.