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 ベースシステム上のブートパラメータの変更 (タスク)

x86 ベースシステム上のブートパラメータの変更 (タスクマップ)

x86 ベースシステム上のブートパラメータの変更

eeprom コマンドを使用したブートパラメータの表示および設定

eeprom コマンドを使用してブートパラメータを変更する方法

ブート時のブートパラメータの変更

x86: ブート時にブートパラメータを変更する方法

ビットマップコンソールのサポート

シャットダウンアニメーションの無効化

menu.lst ファイルの編集によるブートエントリとパラメータの変更

Oracle Solaris のインストール後に Linux エントリを GRUB メニューに追加する方法

bootadm コマンドを使用したブートエントリのパラメータの表示および設定

アクティブな GRUB メニューを検出し、現在のメニューエントリを一覧表示する方法

アクティブな GRUB メニューのデフォルトのブートエントリを設定する方法

7.  x86 プラットフォーム上での ZFS ブート環境の作成、管理、およびこのブート環境からのブート (タスク)

8.  x86 ベースシステムのブート可能状態の維持 (タスク)

9.  x86 ベースシステムのブートのトラブルシューティング (タスク)

索引

x86 ベースシステム上のブートパラメータの変更

x86 ベースシステム上のブートパラメータを変更するための主な方法は次のとおりです。

eeprom コマンドを使用したブートパラメータの表示および設定

特定のブートパラメータのデフォルト値を確認するには、次のように eeprom コマンドを使用します。

$ eeprom parameter

たとえば、boot-device パラメータのデフォルト値を表示するには、次のように入力します。

$ eeprom boot-device

注 - ブートパラメータを表示するために root ユーザーである必要はありません。ただし、eeprom コマンドを使用してブートパラメータやその他の任意のパラメータを変更するには、root ユーザーになる必要があります。


eeprom コマンドを使用してブートパラメータを変更する方法

  1. root の役割になります。
  2. 指定されたパラメータを変更します。
    # eeprom parameter=new-value
  3. 新しいパラメータが設定されていることを確認します。
    # eeprom parameter

    この出力には、指定したパラメータの新しい eeprom 値が表示されるはずです。

例 6-1 eeprom コマンドを使用して auto-boot パラメータを設定する

次の例では、auto-boot ブートパラメータを true に設定する方法を示します。

# eeprom auto-boot?=true

eeprom コマンドをユーザーモードで実行するときは、シェルが疑問符を解釈しないようにするために、末尾に疑問符 (?) の付いたすべてのパラメータを二重引用符で囲む必要があります。疑問符の前にエスケープ文字 ( \) を付けても、シェルが疑問符を解釈しなくなります。例:

# eeprom "auto-boot?"=true

ブート時のブートパラメータの変更

ブート時にシステムのブート動作を変更するには (たとえば、システムをシングルユーザー状態にしたり、カーネルデバッガを有効にしたりした状態でブートする場合など)、GRUB メニューが表示されたときに e を入力することによってブートプロセスに割り込み、GRUB メニューでブートエントリを編集します。

次の一覧では、ブート時に GRUB メニューを編集して指定できるブート引数とオプションについて説明します。

unix

ブートするカーネルを指定します。

-a

構成情報の入力を求めるプロンプトを表示します。

-s

システムをシングルユーザー状態にブートします。

-r

再構成ブートを指定します。

接続されているすべてのハードウェアデバイスを検索してから、実際に見つかったデバイスだけに、ファイルシステムのノードを割り当てます。

-v

詳細メッセージを有効にした状態でシステムをブートします。

-x

クラスタモードにあるシステムをブートしません。

-k

カーネルデバッガを有効にした状態でシステムをブートします

-m smf-options

サービス管理機能 (Service Management Facility、SMF) のブート動作を制御します

復元オプションとメッセージオプションという、2 種類のオプションがあります

-i altinit

代替実行可能ファイルを原始プロセスとして指定します。 altinit は実行可能ファイルへの有効なパスです。

-B prop=value[,prop=value]...

カーネルのブートパラメータを指定します。

-B prop=val オプションを使用して、GRUB メニューでブートパラメータを変更できる各種の方法を次に示します。

-B acpi-enum=off

デバイスの ACPI (Advanced Configuration and Power Interface) 列挙を無効にします。

-B acpi-user-options=0x2

ACPI を完全に使用不可にします。

-B console=force-text

ブートに VGA テキストモードを使用することを指定します。「ビットマップコンソールのサポート」を参照してください。

-B console=graphics

コンソールでブートにグラフィックスモードを使用することを指定します。これにより、高解像度の状態が可能になります。

-B console=text

コンソールでブートにテキストモードを使用することを指定します。これにより、高解像度の状態が可能になります。

-B screen-#columns= value, screen-#rows=
value

フレームバッファーコンソールの行数と列数を指定します。選択した行数または列数にもっとも適したフォントがシステムによって自動的に検出されます。このオプションは、フレームバッファーコンソールのサイズを最適化するために使用されます。「ビットマップコンソールのサポート」を参照してください。

-B console=ttya

出力先をコンソールから ttya に変更します。

-B console=ttya,acpi-enum=off

出力先をコンソールから ttya に変更し、デバイスの ACPI 列挙を使用不可にします。


注 - eeprom コマンドを使用し、かつ GRUB コマンド行でパラメータが指定された場合は、GRUB コマンド行が優先されます。


x86: ブート時にブートパラメータを変更する方法

ブート時に GRUB メニューを編集してデフォルトのカーネル使用法を変更すると、その変更はシステムをリブートするまでしか持続しません。次にシステムをブートすると、デフォルトのブートパラメータが復元されます。

  1. システムをリブートします。

    ブートシーケンスが始まると、GRUB メインメニューが表示されます。

  2. 矢印キーを使用して、編集するブートエントリを選択します。
  3. e と入力して、GRUB 編集メニューにアクセスします。
  4. メニューの kernel$ 行を選択します。
  5. e と入力して、ブート引数をその行に追加します。
  6. 指定する追加のブート引数を入力します。
  7. Return キーを押して変更を保存し、前のメニューに戻ります。

    注 - 変更を保存せずに GRUB メインメニューに戻るには、Escape キーを押します。


  8. システムをブートするために、b と入力します。

    適用した変更は、システムをブートしたあとで有効になります。

ビットマップコンソールのサポート

Oracle Solaris 11 は、x86 ベースシステム上で、以前の VGA (Video Graphics Array) 640×480 16 色コンソールに比べて高い解像度と発色数をサポートしています。このサポートは、従来の BIOS および VESA (Video Electronics Standards Association) オプション読み取り専用メモリー (ROM) を使用するシステムを対象に提供されます。サポートは、物理または仮想コンソールとしてグラフィックカードまたはフレームバッファーが使用されるときに限られることに注意してください。シリアルコンソールの動作への影響はありません。

この機能をサポートするために、次の 2 つのコマンド行 -B option =val パラメータを使用できます。

-B console=force-text

ブートに VGA テキストモードを使用することを指定します。

-B screen-#columns= value, screen-#rows=
value

フレームバッファーコンソールの行数と列数を指定します。選択した行数または列数にもっとも適したフォントがシステムによって自動的に検出されます。このオプションは、フレームバッファーコンソールのサイズを最適化するために使用されます。

GRUB では、デフォルトで、インストールされているビデオカードとモニターで動作する解像度と発色数が検出されます。ただし、別の解像度 (たとえば、より高い解像度) や別の発色数を指定できます。

GRUB は、ビデオモードを指定するための次の 2 つの方法をサポートしています。

vbeset hexmode

目的の VESA モードの 16 進数コードを指定します。カードとモニターでサポートされているすべてのモードの一覧を取得するには、GRUB コマンドプロンプトで vbeprobe コマンドを使用します。これにより、次のような一覧が表示されます。

0x117: Direct Color, 1024x768x16
0x118: Direct Color, 1024x768x32
0x11a: Direct Color, 1280x1024x16
0x11b: Direct Color, 1280x1024x32
[...]

1024×768×32 の構成を指定する vbeset エントリは、次のように示されます。

vbset 0x118

vbeset エントリは、GRUB メニューで kernel$ および module$ エントリのあとに指定する必要があります。

vbematch xres yres depth

指定された構成 (たとえば、1024×768×32) を検索するよう GRUB に指示します。見つかった場合、GRUB は指定された構成を設定します。

vbeset エントリの代わりに使用した場合、1024×768×32 の構成のための vbematch エントリは次のようになります。

vbematch 1024 768 32

vbematch エントリは、GRUB メニューで kernel$ および module$ エントリのあとに指定する必要があります。

例 6-2 x86: コンソールのテキストモードブートパラメータの構成

テキストモードでは、コンソール出力はフレームバッファーに送信され、入力はキーボードから受信されます。テキストモードのバリエーションであるグラフィックスモードでは、キーが押されるか、またはコンソールの loginsulogin、または kmdb コマンドによってコンソールの対話が必要になるまで、アニメーションを含むイメージが表示されます。テキストの新しいプロパティー force-text は、VGA アダプタをビットマップデバイスとして使用しないようシステムに指示し、そのアダプタを VGA テキストモードに設定します。

このプロパティーが存在しない場合、コンソールデバイスは、input-deviceoutput-device のプロパティーペアで指定されたデバイスに戻ります。コンソールのプロパティーと、input-deviceoutput-device のプロパティーペアのどちらも存在しない場合、コンソールはデフォルトでフレームバッファーとキーボードになります。

次の例は、ブート時にカーネルコマンド行で -B console=force-text プロパティーを指定する方法を示しています。

-B console=force-text

例 6-3 x86: グラフィカル表示の有効化およびコンソールテキストモードのパラメータの構成

デフォルトでは、コンソールテキストモードは 80 列× 24 行です。このパラメータを再構成するには、-B オプションと screen-#columns =value および screen-#rows= value パラメータを使用します。

たとえば、グラフィカル表示を有効にして 100 列× 60 行のコンソール端末を割り当てるには、カーネルコマンド行で次のパラメータを指定できます。

-B console=graphics, screen-#columns=100,screen-#rows=60

シャットダウンアニメーションの無効化

システムをブートするために console=graphics オプションが使用され、かつ Xorg サーバーによってシャットダウンがトリガーされた場合は、シャットダウンプロセス中に進捗ステータスインジケータが表示されます。進捗ステータスインジケータが表示されないようにするには、次のように svc:/system/boot-config SMF サービスの新しい splash-shutdown プロパティーを false に設定します。

# svccfg -s svc:/system/boot-config:default setprop config/splash_shutdown = false
# svcadm refresh svc:/system/boot-config:default

menu.lst ファイルの編集によるブートエントリとパラメータの変更

GRUB メニューは、menu.lst 構成ファイル内のエントリに基づいており、カスタマイズ可能です。Solaris は、Oracle Solaris ブート環境 (BE) の GRUB menu.lst エントリを自動的に管理します。ブート環境が (パッケージシステムによって、または beadm コマンドを使用して明示的に) 作成されると、menu.lst ファイルに GRUB エントリが追加されます。beadm destroy コマンドを destroy サブコマンドとともに使用してブート環境を削除すると、対応するエントリが GRUB menu.lst ファイルから削除されます。Oracle Solaris は、システム上にインストールされているほかのオペレーティングシステムの menu.lst エントリを自動的に追加することはしません。これらのオペレーティングシステムのメニューエントリは手動で追加する必要があります。詳細は、「Oracle Solaris のインストール後に Linux エントリを GRUB メニューに追加する方法」を参照してください。

Oracle Solaris 11 の標準的な menu.lst ファイルには、次の情報が含まれている可能性があります。

#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Oracle Solaris 11 1
findroot (pool_rpool,0,a) 2
bootfs rpool/ROOT/solaris 3
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS,console=graphics 4
module$ /platform/i86pc/$ISADIR/boot_archive 5
#---------------------END BOOTADM-------------------- 
  1. メニューエントリのオペレーティングシステムのタイトルを指定します。

  2. SIGNATURE ファイル名を見つけるためにすべてのパーティションを検索します。この例では、ファイル名は pool_rpool です。

    GRUB は、/boot/grub/bootsign ディレクトリのみでファイル名を検索し、ファイルの最初のインスタンスが見つかるとすぐに停止します。有効にするために、署名ファイルの名前はすべてのパーティションにわたって一意である必要があります。署名ファイルを見つけたあと、GRUB はそのパーティション上の root コマンドを呼び出します。検索を最適化するために、省略可能なパーティションとスライスを指定できます。

  3. 現在の ZFS ブートファイルシステムを指定された値に設定します。menu.lst ファイルのこの例では、このプロパティーは現在の ZFS ブートファイルシステムを rpool/ROOT/solaris に設定します。

  4. 指定されたパスからプライマリブートイメージを読み込みます。この行の残りは、そのままカーネルコマンド行として渡されます。ドル記号 ($) は、$ISADIR エントリの拡張です。

  5. 指定されたカーネルのブートアーカイブを読み込みます。ドル記号 ($) は、$ISADIR エントリの拡張です。


注 - 特定の GRUB コマンドの詳細情報を表示するには、コマンド行から help コマンドを入力します。


デフォルトのオペレーティングシステムをブートする場合は、構成可能なタイムアウトを使用できます。ブートされるデフォルトのエントリは、default コマンドを使用して構成できます。インストールソフトウェアは通常、いずれかの有効なブートエントリをブートするようにこのコマンドを設定します。別のバージョンの Oracle Solaris (存在する場合) をブートするか、または Oracle Solaris のほかに別のオペレーティングシステムをブートするには、矢印キーを使用してそのブートエントリを選択したあと、Enter キーを押してそのオペレーティングシステムをブートします。default コマンドが設定されていない場合は、GRUB メニューにある最初のブートエントリがブートされることに注意してください。

システムのブートに使用されるのは、アクティブな menu.lst ファイルだけです。システムのブート時に表示される GRUB メニューを変更するには、アクティブな GRUB menu.lst ファイルを編集します。ほかのどの menu.lst ファイルを変更しても、システムをブートしたときに表示されるメニューに影響はありません。アクティブな menu.lst ファイルの場所を確認するには、bootadm コマンドの list-menu サブコマンドを使用します。

Oracle Solaris のインストール後に Linux エントリを GRUB メニューに追加する方法

あるパーティションに Linux を先にインストールしてから別のパーティションに Oracle Solaris をインストールするといった方法でブート環境を設定する場合、新規インストールの GRUB メニュー情報によって以前のインストールの GRUB メニュー情報が消去されないようにするには、次に示す特別な手順に従う必要があります。次の手順に、すでにインストールされている Linux のエントリを含めるように menu.lst ファイルを手動で更新する方法を示します。この手順では、システムに Linux がすでにインストールされていて、そのあとに Oracle Solaris がインストールされたことを前提にしています。

  1. Linux のインストールの完了時に、アクティブな menu.lst ファイルを USB ドライブにコピーして、Oracle Solaris のインストールを完了したあとにそれらの情報を再利用できるようにします。

    通常、このファイルは /boot/grub/menu.lst です。

    • アクティブな menu.lst ファイルの場所がわからない場合は、bootadm コマンドを使用してファイルを見つけます。
      # bootadm list-menu
    • USB ドライブの場所がわからない場合は、オプションを指定せずに mount コマンドを使用し、USB ドライブがマウントされている場所を特定します。次に、その場所に menu.list ファイルをコピーします。
  2. インストールの完了後に、次の方法でアクティブな menu.lst ファイルを編集します。
    1. 端末ウィンドウを開き、root の役割になります。
      $ su root
      Password:
    2. テキストエディタを使用して、menu.lst ファイルを編集します。

      例:

      # vi /pool-name/boot/grub/menu.lst

      ここで、pool-name は ZFS ストレージプールの名前です。

    3. 手順 1 で menu.lst ファイルをコピーした USB ドライブを使用して、元の Linux インストールの Linux menu.lst 情報を新しい menu.lst ファイルの末尾にコピーします。

      たとえば、Ubuntu インストールの menu.lst ファイルは次のようになります。

      title        Ubuntu 8.04, kernel 2.6.24-18-generic
          root        (hd0,4)
          kernel        /vmlinuz-2.6.24-18-generic \
      root=UUID=1ed7fa17-6d77-4b49-be1a-22481310fd1b ro quiet splash
          initrd        /initrd.img-2.6.24-18-generic
          quiet
      
          title        Ubuntu 8.04, kernel 2.6.24-18-generic (recovery mode)
          root        (hd0,4)
          kernel        /vmlinuz-2.6.24-18-generic \
      root=UUID=1ed7fa17-6d77-4b49-be1a-22481310fd1b ro single
          initrd        /initrd.img-2.6.24-18-generic

      注意

      注意 - menu.lst ファイルの元の内容を直接編集しないでください。 新しい情報は必ずファイルの末尾に追加します。また、ファイルの内容を変更する場合には、既存の内容を複製してから変更するようにしてください。


    4. ファイルを保存して終了します。
  3. システムをリブートします。

    システムがリブートすると、Linux と Oracle Solaris の両方のオペレーティングシステムのエントリが GRUB メニューに含まれているはずです。

bootadm コマンドを使用したブートエントリのパラメータの表示および設定

アクティブな GRUB メニューを検出し、現在のメニューエントリを一覧表示する方法

次の手順に従って、アクティブな GRUB メニューの場所を調べ、現在の GRUB メニューエントリを一覧表示します。

  1. root の役割になります。
  2. アクティブな GRUB メニューの場所と現在の GRUB メニューエントリを一覧表示するには、次のように入力します。
    # bootadm list-menu
    list-menu

    アクティブな GRUB メニューの場所と現在の GRUB メニューエントリを一覧表示します。この出力には、autoboot-timeout デフォルトエントリ番号に関する情報と、各エントリのタイトルが含まれます。

例 6-4 アクティブな GRUB メニューの場所と現在の GRUB メニューエントリを一覧表示する

# bootadm list-menu
The location for the active GRUB menu is: /stubboot/boot/grub/menu.lst
default=0
timeout=30
0 2010-12-10-be
1 Oracle Solaris 11
2 Linux

アクティブな GRUB メニューのデフォルトのブートエントリを設定する方法

  1. root の役割になります。
  2. アクティブな GRUB メニューのデフォルトのブートエントリを設定するには、次のように入力します。
    # bootadm set-menu menu-entry
    set-menu

    GRUB メニューを保守します。アクティブな GRUB メニューの場所は boot/grub/menu.lst です。

    menu-entry

    デフォルトとして設定する GRUB メニューエントリを指定します。

  3. デフォルトのメニューエントリが変更されたことを確認するには、次のように入力します。
    # bootadm list-menu

    新しいデフォルトのメニューエントリが表示されるはずです。

例 6-5 GRUB のデフォルトのメニューエントリを切り替える

次の例は、デフォルトの GRUB メニューを、前の例に表示されているメニューエントリのいずれかに切り替える方法を示しています。選択されたメニューエントリは、Linux (メニューエントリ 2) です。

# bootadm set-menu default=2