Oracle Solaris 11 시스템을 부트할 수 없는 경우 복구 부트를 수행해야 할 가능성이 높습니다. 설치 매체에서 부트하거나 백업 BE에서 부트할 수 있습니다.
전체 시스템(베어 메탈) 복구를 수행해야 할 경우 Oracle Solaris 11.2의 시스템 복구 및 복제용 Unified Archive 사용 의 복구 아카이브를 만드는 방법을 참조하십시오.
다음 오류 및 복구 시나리오는 이전 릴리스와 유사합니다.
boot –a 명령을 사용하여 /etc/system 파일에서 문제를 회피할 수 있습니다. 프롬프트가 표시되면 다음과 비슷한 구문을 사용합니다.
Name of system file [/etc/system]: /dev/null
필요에 따라 다른 프롬프트에서 Return 키를 누릅니다.
백업 BE는 대부분의 pkg update 작업 중 자동으로 만들어집니다. 이 기능을 사용하면 이미지 업데이트 프로세스 중 오류가 발생할 경우 이전 BE로 다시 부트할 수 있습니다. 시스템 구성을 변경하기 전에 백업 BE를 만들어 보십시오.
# beadm create solaris-backup # beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- solaris R - 4.01G static 2013-02-08 16:53 solaris-backup N / 47.95M static 2013-02-11 10:48
백업 BE에서 부트하는 단계는 복구 목적으로 백업 BE에서 부트하는 방법을 참조하십시오.
설치 매체 또는 네트워크의 설치 서버에서 부트하여 시스템 부트를 방해하는 문제로부터 복구하거나 잊어버린 root 암호로부터 복구합니다.
/etc/passwd 파일에서 루트 셸 항목을 수정하거나 NIS 서버를 변경하는 것과 같은 사소한 문제는 단일 사용자 모드에서 시스템을 부트하여 해결합니다.
부트 구성 문제를 해결하는 데는 일반적으로 루트 풀 가져오기, BE 마운트 및 문제 수정(예: 손상된 x86 부트 로더 다시 설치)이 필요합니다.
비상 안전 아카이브 부트는 SPARC 및 x86 플랫폼에서 더 이상 지원되지 않습니다. 가능한 경우, 복구 목적으로 최신 백업 BE를 사용하십시오. BE는 Oracle Solaris 이미지와 해당 이미지에 설치된 다른 응용 프로그램 소프트웨어 패키지의 부트 가능한 인스턴스입니다. 백업 BE는 원래 BE를 보존하므로 다중 BE를 사용하면 소프트웨어를 업데이트할 때 위험이 줄어듭니다.
활성 또는 비활성 부트 환경을 기반으로 새 BE를 만들 수 있습니다. 또는 원래 BE의 복제본을 기반으로 새 BE를 만들 수 있습니다. 복제본은 원래 BE의 주 루트 데이터 세트와 그 아래에 있는 모든 항목을 계층적으로 복사합니다. Oracle Solaris 11.2 부트 환경 만들기 및 관리 를 참조하십시오.
시스템이 활성 BE에서 부트되지 않으면 백업 BE에서 부트되도록 선택합니다.
ok boot -L
Boot device: /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a File and args: -L 1 Oracle Solaris 11.2 SPARC 2 solaris-backup Select environment to boot: [ 1 - 2 ]: 2
이전 출력에서 활성 BE는 Oracle Solaris 11.2 SPARC입니다. 실제 BE 이름과 거의 일치하지 않지만 현재 BE를 나타냅니다.
부트할 BE를 선택한 후 화면 부트 경로를 식별하고 프롬프트에 정보를 입력합니다.
To boot the selected entry, invoke: boot [<root-device>] -Z rpool/ROOT/solaris-backup Program terminated {0} ok boot -Z rpool/ROOT/solaris-backup
시스템이 부트되지 않으면 복구를 위한 시스템 부트 방법에서 추가 부트 복구 단계를 검토하십시오.
시스템이 백업 BE에서 부트되지 않으면 복구를 위한 시스템 부트 방법에서 추가 부트 복구 단계를 검토하십시오.
x86: 라이브 매체 – 설치 매체에서 부트한 다음 복구 절차에 GNOME 터미널을 사용합니다.
SPARC: 텍스트 설치 – 설치 매체 또는 네트워크에서 부트한 다음 텍스트 설치 화면에서 3 Shell 옵션을 선택합니다.
x86: 텍스트 설치 – GRUB 메뉴에서 Text Installer command line 부트 항목을 선택한 다음 텍스트 설치 화면에서 3 Shell 옵션을 선택합니다.
SPARC: 자동 설치 – 다음 명령을 사용하여 셸로 종료할 수 있는 설치 메뉴에서 직접 부트합니다.
ok boot net:dhcp
x86: 자동 설치 – 네트워크의 설치 서버에서 부트하려면 PXE 부트가 필요합니다. GRUB 메뉴에서 Text Installer and command line 항목을 선택합니다. 그런 다음 텍스트 설치 화면에서 3 Shell 옵션을 선택합니다.
예를 들어 시스템이 부트되면 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 #
시스템을 단일 사용자 모드로 부트하고 /etc/passwd 파일에서 셸 항목을 수정하여 잘못된 루트 셸을 해결합니다.
x86 기반 시스템에서는 GRUB 메뉴에서 선택한 부트 항목을 편집한 다음 –s 커널 인수를 $kernel 라인의 끝에 추가합니다.
SPARC 기반 시스템에서 시스템을 종료하고 단일 사용자 모드로 부트합니다. root 사용자로 로그인한 후 /etc/passwd 파일을 편집하고 루트 셸 항목을 수정합니다.
# init 0 ok boot -s Boot device: /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a ... SunOS Release 5.11 Version 11.2 64-bit Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved. Booting to milestone "milestone/single-user:default". Hostname: systema.domain Requesting System Maintenance Mode SINGLE USER MODE Enter user name for system maintenance (control-d to bypass): root Enter root password (control-d to bypass): xxxxxxx single-user privilege assigned to root on /dev/console. Entering System Maintenance Mode Aug 3 15:46:21 su: 'su root' succeeded for root on /dev/console Oracle Corporation SunOS 5.11 11.2 July 2013 su: No shell /usr/bin/mybash. Trying fallback shell /sbin/sh. root@systema.domain:~# TERM =vt100; export TERM root@systema.domain:~# vi /etc/passwd root@systema.domian:~# <Press control-d> logout svc.startd: Returning to milestone all.
손상된 부트 로더 문제를 해결합니다.
먼저, 1단계에 나열된 부트 방법 중 하나를 사용하여 매체 또는 네트워크에서 부트합니다. 그런 다음 루트 풀을 가져옵니다.
# zpool import -f rpool
그런 다음, 다음과 같이 부트 로더를 재설치합니다.
# bootadm install-bootloader -f -P rpool
여기서 –f는 부트 로더를 강제로 설치하고 시스템에서 부트 로더의 버전이 다운그레이드되지 않았는지 확인하는 모든 검사를 무시합니다. –P 옵션은 루트 풀을 지정합니다.
시스템을 종료한 후 재부트합니다.
# 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
시스템이 성공적으로 부트되는지 확인합니다.
시스템에 로그인할 수 없게 하는 알 수 없는 root 암호를 해결합니다.
먼저, 단계 1에 나열된 부트 방법 중 하나를 사용하여 매체 또는 네트워크에서 부트해야 합니다. 그런 다음 루트 풀(rpool)을 가져오고 BE를 마운트하여 root 암호 항목을 제거합니다. 이 프로세스는 SPARC 플랫폼과 x86 플랫폼에서 동일합니다.
# zpool import -f rpool # beadm list be_find_current_be: failed to find current BE name be_find_current_be: failed to find current BE name BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- solaris - - 11.45M static 2011-10-22 00:30 solaris-2 R - 12.69G static 2011-10-21 21:04 # mkdir /a # beadm mount solaris-2 /a # TERM=vt100 # export TERM # cd /a/etc # vi shadow <Carefully remove the unknown password> # cd / # beadm umount solaris-2 # halt
이 단계에서는 이전 단계에서 알 수 없는 root 암호를 제거했다고 간주합니다.
ok boot -s Boot device: /pci@780/pci@0/pci@9/scsi@0/disk@0,0:a File and args: -s SunOS Release 5.11 Version 11.2 64-bit Copyright (c) 1983, 2012, Oracle and/or its affiliates. All rights reserved. Booting to milestone "milestone/single-user:default". Hostname: systema.domain Requesting System Maintenance Mode SINGLE USER MODE Enter user name for system maintenance (control-d to bypass): root Enter root password (control-d to bypass): <Press return> single-user privilege assigned to root on /dev/console. Entering System Maintenance Mode . . . root@sysadma.domain:~# passwd -r files root New Password: xxxxxx Re-enter new Password: xxxxxx passwd: password successfully changed for root root@systema.central:~# <Press control-d> logout svc.startd: Returning to milestone all.