Oracle Solaris の高速リブート機能は、SPARC プラットフォームと x86 プラットフォームの両方でサポートされています。高速リブート機能では、カーネルをメモリーにロードしてからそのカーネルに切り替えるインカーネルブートローダーを実装することにより、リブート処理を数秒で実行できます。
高速リブート機能のサポートは、新しい boot-config サービス svc:/system/boot-config:default によって強化されています。このサービスによって、システムのデフォルトのブート構成プロパティーを必要に応じて設定または変更するための手段が提供されます。config/fastreboot_default プロパティーが true に設定されている場合は、システムが自動的に高速リブートを実行します。デフォルトでこのプロパティーは、x86 ベースのシステムでは true に設定され、SPARC ベースのシステムでは false に設定されています。
x86 ベースのシステムで、システムの高速リブートは、システムファームウェア (BIOS または UEFI) とブートローダープロセスをバイパスします。高速リブートとパニック高速リブート (システムパニックのあとのシステムの高速リブート) が x86 プラットフォームではデフォルトで有効になっているため、x86 ベースシステムの高速リブートを開始するために reboot コマンドで –f オプションを使用する必要はありません。
SPARC ベースシステムの高速リブート機能は、x86 ベースシステムとは異なる方法で動作します。SPARC プラットフォームでの高速リブートのサポートに関する次の追加情報に注目してください。
高速リブートは sun4u システムではサポートされていません。
高速リブートは sun4v システムでサポートされています。ただし、SPARC ベースのシステムの高速リブートは、x86 ベースのシステムの高速リブートとは異なります。SPARC sun4v システムでは、高速リブートは、最小限のハイパーバイザによって開始される再起動で、x86 ベースのシステムの高速リブートと同じ基本パフォーマンスを発揮します。
SPARC ベースのシステムの高速リブートの動作はデフォルトでは無効にされています。SPARC ベースのシステムの高速リブートを開始するには、reboot コマンドで –f オプションを使用する必要があります。または、高速リブートをデフォルトの動作にするには、config/fastreboot_default プロパティーを true に設定します。手順については、デフォルトの高速リブートの動作を変更するを参照してください。
SPARC ベースシステムでは、boot-config サービスに、action_authorization および value_authorization として solaris.system.shutdown 権限も必要です。
新しい OS イメージのブート時にファームウェアをバイパスするシステムの機能は、デバイス動作の新しいエントリポイントである quiesce のデバイスドライバの実装に依存しています。サポートされているドライバでは、この実装によってデバイスが休止されるため、関数の完了時にそのドライバによって割り込みが生成されなくなります。この実装ではまた、デバイスがハードウェア状態にリセットされます。この状態からは、システムの電源を切ってすぐに入れ直したり、ファームウェアで構成したりしなくても、ドライバの attach ルーチンによってそのデバイスを正しく構成できます。この機能についての詳細は、quiesce(9E)および dev_ops(9S)のマニュアルページを参照してください。
Oracle Solaris 11.2 でのユーザーとプロセスのセキュリティー保護 の割り当てられている管理権利の使用を参照してください。
# reboot -f
# reboot
# init 6
これらのいずれかのコマンドを実行すると、システムが grub.cfg ファイルのデフォルトのエントリにリブートします。
代替ブート環境への x86 ベースシステムの高速リブートを実行するには、複数の方法を使用できます。次の例は、これらの方法のいくつかを示しています。
使用例 4-21 x86: 新しくアクティブにしたブート環境へのシステムの高速リブートを開始する次の例では、2013-06-10-be という名前のブート環境をアクティブにして、高速リブートされるようにしています。
# beadm activate 2013-06-10-be # reboot使用例 4-22 x86: 代替ブート環境を指定する間のシステムの高速リブート開始
代替ブート環境 (たとえば、zfsbe2) にシステムを高速リブートするには、次のコマンドを入力します。
# reboot -- 'rpool/zfsbe2'
rpool/zfsbe1 という名前のデータセットへのシステムの高速リブートを開始するには、次のコマンドを入力します。
# reboot -- 'rpool/zfsbe1'
たとえば、次のように、代替 ZFS ルートデータセットへのシステムの高速リブートを開始します。
# reboot -- 'rpool/ROOT/zfsroot2'使用例 4-23 x86: カーネルデバッガを有効にした状態での代替ブート環境へのシステムの高速リブートの開始
次のように、zfsbe3 ブート環境へのシステムの高速リブートを開始します。
# reboot -- 'rpool/zfsbe3 /platform/i86pc/kernel/amd64/unix -k'使用例 4-24 x86: 新しいカーネルへのシステムの高速リブートの開始
次のように、my-kernel という名前の新しいカーネルへのシステムの高速リブートを開始します。
# reboot -- '/platform/i86pc/my-kernel/amd64/unix -k'使用例 4-25 x86: マウントされたディスクまたはマウントされたデータセットの高速リブートの開始
次のように、マウントされたディスクまたはマウントされたデータセットの高速リブートを開始します。
# reboot -- '/mnt/platform/i86pc/my-kernel/amd64/unix -k'使用例 4-26 x86: カーネルデバッガを有効にした状態での、シングルユーザー状態へのシステムの高速リブートの開始
次のように、カーネルデバッガを有効にした状態での、シングルユーザー状態へのシステムの高速リブートを開始します。
# reboot -- '-ks'
高速リブート機能は SMF によって制御され、ブート構成サービス svc:/system/boot-config を通して実装されます。boot-config サービスは、デフォルトのブートパラメータを設定または変更するための手段を提供します。
boot-config サービスの fastreboot_default プロパティーを使用すると、reboot コマンドまたは init 6 コマンドのいずれかが使用されている場合にシステムの自動高速リブートが有効になります。config/fastreboot_default プロパティーを true に設定すると、システムは高速リブートを自動的に実行するため、reboot –f コマンドを使用する必要はありません。デフォルトでこのプロパティーの値は、x86 ベースのシステムでは true に設定され、SPARC ベースのシステムでは false に設定されています。
使用例 4-27 x86: boot-config サービスのプロパティーの構成svc:/system/boot-config:default サービスは、次のプロパティーで構成されています。
config/fastreboot_default
config/fastreboot_onpanic
これらのプロパティーは、svccfg および svcadm コマンドを使用して構成できます。
たとえば、x86 ベースシステム上の fastreboot_onpanic プロパティーのデフォルト動作を無効にするには、次に示すように、このプロパティーの値を false に設定します。
# svccfg -s "system/boot-config:default" setprop config/fastreboot_onpanic=false # svcadm refresh svc:/system/boot-config:default
あるプロパティーの値を変更しても、ほかのプロパティーのデフォルト動作には影響を与えません。
SMF を介したブート構成サービスの管理については、svcadm(1M)およびsvccfg(1M)のマニュアルページを参照してください。
使用例 4-28 SPARC: boot-config サービスのプロパティーの構成次の例に、boot-config SMF サービスプロパティーを true に設定して、SPARC ベースのシステムで高速リブートをデフォルトの動作にする方法を示します。
# svccfg -s "system/boot-config:default" setprop config/fastreboot_default=true # svcadm refresh svc:/system/boot-config:default
プロパティーの値を true に設定すると、リブートプロセスが高速化するため、高速リブート機能をサポートするシステムで特定の POST テストをバイパスできます。プロパティーが true に設定されている場合、reboot コマンドで –f オプションを使用しなくてもシステムの高速リブートを実行できます。
高速リブート機能が有効になっているシステムをリブートするには、この機能を無効にするように boot-config サービスを再構成するのではなく、次に示すように reboot コマンドで –p オプションを使用します。
# reboot -p