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 ブート環境の作成、管理、およびこのブート環境からのブート (タスク)

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. Ctrl-d を押してシステムをリブートします。

メディアからブートして、不明な root パスワードを解決する方法

次の手順は、不明な root パスワードの問題や、同様の問題を修正するためにシステムをブートする必要がある場合に使用します。この手順では、ルートプールをインポートしたあとに、ブート環境をマウントする必要があります。ルートプールまたはルートプールのスナップショットを回復する必要がある場合は、『Oracle Solaris の管理: ZFS ファイルシステム』の「ZFS ルートプールのディスクを交換する方法」を参照してください。

  1. Oracle Solaris のメディアからブートします。
    • Live Media - インストールメディアからブートし、回復手順のために GNOME 端末を使用します。
    • テキストインストール – GRUB メニューから「Text Installer and 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. Ctrl-d を押してシステムをリブートします。

メディアからブートして、システムのブートを妨げている menu.lst ファイルの問題を解決する方法

次の手順は、デフォルトの menu.lst ファイルの問題を修正するためにシステムをブートする必要がある場合に使用します。この手順では、ブート環境をマウントする必要はありません。ルートプールまたはルートプールのスナップショットを回復する必要がある場合は、『Oracle Solaris の管理: ZFS ファイルシステム』の「ZFS ルートプールのディスクを交換する方法」を参照してください。

  1. Oracle Solaris のメディアからブートします。
    • Live Media - インストールメディアからブートし、回復手順のために GNOME 端末を使用します。
    • テキストインストール – GRUB メニューから「Text Installer and 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 -d および boot コマンドを使用して、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 キーを押して 1 つ前の画面に戻ってから、b を入力して、カーネルデバッガを有効にした状態でシステムをブートします。

    -kmdb または -k を入力すると、デバッガが読み込まれたあと、オペレーティングシステムが直接ブートされます。

  7. カーネルデバッガにアクセスします。

    デバッガにアクセスするための方法は、システムへのアクセスに使用するコンソールのタイプによって異なります。

    • ローカル接続されているキーボードを使用している場合は、F1–A を押します。

    • シリアルコンソールを使用している場合は、そのタイプのシリアルコンソールに適した方法を使用してブレークを送信します。

    システムが完全にブートする前にカーネルデバッガにアクセスするには、-kd オプションを使用します。

    -kd オプションを使用すると、デバッガが読み込まれたあと、オペレーティングシステムをブートする前にデバッガと対話する機会が与えられます。

    カーネルデバッガにはじめてアクセスした場合、ウェルカムメッセージが表示されます。

参照

kmdb と、kmdb によって提供される実行制御機能を使用してシステムと対話する方法についての詳細は、kmdb(1) のマニュアルページを参照してください。