失われたルートパスワードやそれに似た問題から回復するためにシステムをブートする必要がある場合は、次の手順を使用します。
破損したブートローダーの問題やルートパスワードの問題を解決するには、次の手順を使用します。ルートプールのディスクを交換する必要がある場合は、ZFS ルートプールのディスクを交換する方法 (SPARC または x86/VTOC)を参照してください。完全なシステム (ベアメタル) 回復を実行する必要がある場合は、Oracle Solaris 11.2 でのシステム復旧とクローン を参照してください。
x86: Live Media - インストールメディアからブートし、回復手順のために GNOME 端末を使用します。
SPARC: テキストインストール – インストールメディアまたはネットワークからブートし、テキストインストール画面からオプション「3 Shell」を選択します。
x86: テキストインストール – GRUB メニューから「Text Installer and 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 ファイルのシェルエントリを修正することによって、不正な root シェルを解決します。
x86 システムでは、選択したブートエントリを編集して –s オプションを追加します。
たとえば、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: tardis.central 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): xxxx 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@tardis.central:~# TERM =vt100; export TERM root@tardis.central:~# vi /etc/passwd root@tardis.central:~# <Press control-d> logout svc.startd: Returning to milestone all.
破損したブートローダーの問題を解決します。
最初に、手順 1 に示したいずれかのブート方法を使用してメディアまたはネットワークからブートする必要があります。次に、たとえば、ルートプールをインポートして GRUB エントリを修正します。
x86# zpool import -f rpool
ブートローダーを再インストールします。
x86# bootadm install-bootloader -f -P rpool
ここで、–f オプションは、システム上のブートローダーのバージョンをダウングレードしないよう、ブートローダーのインストールを強制し、バージョンチェックをバイパスします。–P オプションは、ルートプールの指定に使用されます。
bootadm list-menu コマンドを使用すると、GRUB2 エントリを一覧表示して変更できます。詳細は、bootadm(1M) を参照してください。
終了してシステムをリブートします。
x86# 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
システムが正常にブートすることを確認します。
システムにログインできない原因となっている不明なルートパスワードを解決します。
最初に、手順 1 に示したいずれかのブート方法を使用してメディアまたはネットワークからブートする必要があります。次に、ルートプール (rpool) をインポートし、BE をマウントしてルートパスワードエントリを削除します。このプロセスは、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 - - 46.95M static 2012-07-20 10:25 solaris-2 R - 3.81G static 2012-07-19 13:44 # 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
次の手順に進んでルートパスワードを設定します。
この手順は、前の手順で不明なルートパスワードが削除されていることを前提としています。
x86 ベースシステムでは、選択したブートエントリを編集して –s オプションを追加します。
SPARC ベースシステムでは、システムをシングルユーザーモードでブートし、root としてログインして、root パスワードを設定します。例:
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". 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 Jul 20 14:09:59 su: 'su root' succeeded for root on /dev/console Oracle Corporation SunOS 5.11 11.2 July 2013 root@tardis.central:~# passwd -r files root New Password: xxxxxx Re-enter new Password: xxxxxx passwd: password successfully changed for root root@tardis.central:~# <Press control-d> logout svc.startd: Returning to milestone all.