ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
x86 プラットフォーム上の Oracle Solaris のブートおよびシャットダウン Oracle Solaris 11 Information Library (日本語) |
1. x86 ベースシステムのブートおよびシャットダウン (概要)
2. 指定された状態への x86 ベースシステムのブート (タスク)
5. x86 ベースシステムのネットワークからのブート (作業)
6. x86 ベースシステム上のブートパラメータの変更 (タスク)
7. x86 プラットフォーム上での ZFS ブート環境の作成、管理、およびこのブート環境からのブート (タスク)
8. x86 ベースシステムのブート可能状態の維持 (タスク)
9. x86 ベースシステムのブートのトラブルシューティング (タスク)
x86 ベースシステムのブートのトラブルシューティング (タスクマップ)
復旧を目的とした x86 ベースシステムのシャットダウンおよびブート
シングルユーザーモードでブートして、不正な root シェルまたはパスワードの問題を解決する方法
メディアからブートして、不明な root パスワードを解決する方法
x86 プラットフォーム上での高速リブートに関する問題のトラブルシューティング
次の場合は、ブートおよびシステムのその他の問題を分析またはトラブルシューティングするために、システムをまずシャットダウンする必要があります。
システムのブート時にエラーメッセージのトラブルシューティングを行います。
システムを停止して復旧を試みます。
復旧を目的としてシステムをブートします。
強制的にクラッシュダンプを実行し、システムをリブートします。
kmdb コマンドを使用してカーネルデバッガでシステムをブートします。
このあとの手順では、復旧の目的で x86 ベースシステムを安全にシャットダウンしてからブートする方法について説明します。
復旧の目的でシステムをブートする必要がある場合があります。
一般的なエラーおよび復旧のシナリオを次に示します。
シングルユーザーモードでシステムをブートして、/etc/passwd ファイルの root シェルエントリの修正や、NIS サーバーの変更などの軽微な問題を解決します。
インストールメディアまたはネットワーク上のインストールサーバーからブートして、システムのブートを妨げている問題から回復したり、紛失した root パスワードを回復したりします。この方法では、ルートプールをインポートしたあとに、ブート環境をマウントする必要があります。
ルートプールをインポートすることにより、ブート構成の問題を解決します。menu.lst ファイルで問題が発生した場合は、ブート環境をマウントする必要はなく、単にルートプールをインポートするだけで、ブート関連のコンポーネントを含む rpool ファイルシステムが自動的にマウントされます。
最初に root の役割になり、次にキーボードとマウスが機能している場合は init 0 を入力します。
Press any key to reboot プロンプトが表示されている場合は、任意のキーを押してシステムをリブートします。
システムをリブートするには、init 6 を入力します。
# init 0
# reboot
矢印キーを使用できない場合は、キャレット (^) キーを使って上方へスクロールしたり、英字キー v を使って下方へスクロールしたりします。
# vi /etc/password
次の手順は、不明な root パスワードの問題や、同様の問題を修正するためにシステムをブートする必要がある場合に使用します。この手順では、ルートプールをインポートしたあとに、ブート環境をマウントする必要があります。ルートプールまたはルートプールのスナップショットを回復する必要がある場合は、『Oracle Solaris の管理: ZFS ファイルシステム』の「ZFS ルートプールのディスクを交換する方法」を参照してください。
例:
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
zpool import -f rpool
# mkdir /a
# beadm mount solaris-instance|bename /a
例:
# beadm mount solaris-2 /a
# TERM=vt100 # export TERM
# cd /a/etc # vi shadow # cd /
# bootadm update-archive /R /a
# beadm umount be-name
# halt
root@system:~# passwd -r files root New Password: xxxxxx Re-enter new Password: xxxxxx passwd: password successfully changed for root
次の手順は、デフォルトの menu.lst ファイルの問題を修正するためにシステムをブートする必要がある場合に使用します。この手順では、ブート環境をマウントする必要はありません。ルートプールまたはルートプールのスナップショットを回復する必要がある場合は、『Oracle Solaris の管理: ZFS ファイルシステム』の「ZFS ルートプールのディスクを交換する方法」を参照してください。
例:
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
zpool import -f rpool
# cd /rpool/boot/grub # vi menu.lst
# bootadm update-archive -R /a
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) にアクセスするにはテキストモードでなければなりません。したがって、まずウィンドウシステムを終了してください。
デバッガにアクセスするための方法は、システムへのアクセスに使用するコンソールのタイプによって異なります。
ローカル接続されているキーボードを使用している場合は、F1–A を押します。
シリアルコンソールを使用している場合は、そのシリアルコンソールタイプに適した方法で ブレークを送信します。
kmdb プロンプトが表示されます。
[0]> $<systemdump
パニックメッセージが表示され、クラッシュダンプが保存され、システムがリブートします。
例 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) を読み込むための基本的な操作を示します。デフォルトでは、savecore 機能を使用できます。
システムがブートすると、GRUB メニューが表示されます。
矢印キーを使用できない場合は、キャレット (^) キーを使って上方へスクロールしたり、英字キー v を使って下方へスクロールしたりします。
ブートエントリメニューが表示されます。このメニューで、kernel$ 行の末尾に追加のブート引数を指定して、ブート動作を変更できます。
grub edit> kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS -s -k
-kmdb または -k を入力すると、デバッガが読み込まれたあと、オペレーティングシステムが直接ブートされます。
デバッガにアクセスするための方法は、システムへのアクセスに使用するコンソールのタイプによって異なります。
ローカル接続されているキーボードを使用している場合は、F1–A を押します。
シリアルコンソールを使用している場合は、そのタイプのシリアルコンソールに適した方法を使用してブレークを送信します。
システムが完全にブートする前にカーネルデバッガにアクセスするには、-kd オプションを使用します。
-kd オプションを使用すると、デバッガが読み込まれたあと、オペレーティングシステムをブートする前にデバッガと対話する機会が与えられます。
カーネルデバッガにはじめてアクセスした場合、ウェルカムメッセージが表示されます。
参照
kmdb と、kmdb によって提供される実行制御機能を使用してシステムと対話する方法についての詳細は、kmdb(1) のマニュアルページを参照してください。