ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 システムのブートおよびシャットダウン Oracle Solaris 11.1 Information Library (日本語) |
2. x86: GRand Unified Bootloader の管理 (タスク)
SPARC: OpenBoot PROM を使用したブート属性の表示と設定
SPARC: システムの PROM リビジョン番号を確認する方法
SPARC: ブート PROM を使用してデフォルトのブートデバイスを変更する方法
システムがマルチユーザー状態 (実行レベル 3) にブートされたときの処理
システムをマルチユーザー状態 (実行レベル 3) にブートする方法
システムをシングルユーザー状態 (実行レベル S) にブートする方法
SPARC: 代替のオペレーティングシステムまたはブート環境からブートする方法
x86: 代替のオペレーティングシステムまたはブート環境からブートする方法
次に、SPARC および x86 プラットフォームでブート属性を表示し、設定できるさまざまな方法について説明します。x86 ベースのシステムで、ブート時または bootadm コマンドを使用して、ブート属性を設定する特定の情報については、「x86: ブート時に GRUB メニューを編集してカーネル引数を追加する」を参照してください。
このセクションでは次の手順について説明します。
ブート PROM は、SPARC ベースシステムをブートし、ブートパラメータを変更するために使用されます。たとえば、ブート元のデバイスをリセットしたり、デフォルトのブートファイルまたはカーネルを変更したり、ハードウェア診断を実行してからシステムをマルチユーザー状態にしたりすることが必要な場合もあります。
次のいずれかのタスクを行う必要がある場合は、デフォルトのブートデバイスを変更する必要があります。
新しいドライブを永久または一時的にシステムに追加します
ネットワークブート方法を変更します
スタンドアロンシステムを一時的にネットワークからブートします
すべての PROM コマンドについては、monitor(1M) および eeprom(1M) のマニュアルページを参照してください。
システム上のデバイスを確認してブート元となる適切なデバイスを調べることが必要な場合があります。
始める前に
probe コマンドを使用してシステムに接続されているデバイスを安全に確認するためには、次のことを行なっておく必要があります。
PROM の auto-boot? 値を false に変更します。
ok setenv auto-boot? false
reset-all コマンドを発行して、システムのレジスタをクリアします。
ok reset-all
sifting probe コマンドを使用すると、システム上で利用可能な probe コマンドを表示できます。
ok sifting probe
システムのレジスタをクリアしないで probe コマンドを実行すると、次のメッセージが表示されます。
ok probe-scsi This command may hang the system if a Stop-A or halt command has been executed. Please type reset-all to reset the system before executing this command. Do you wish to continue? (y/n) n
ok probe-device
ok setenv auto-boot? true auto-boot? = true
ok reset-all
例 4-1 SPARC: システム上のデバイスを確認する
次の例は、システムに接続されているデバイスの確認方法を示しています。
ok setenv auto-boot? false auto-boot? = false ok reset-all SC Alert: Host System has Reset Sun Fire T200, No Keyboard . . . Ethernet address 0:14:4f:1d:e8:da, Host ID: 841de8da. ok probe-ide Device 0 ( Primary Master ) Removable ATAPI Model: MATSHITACD-RW CW-8124 Device 1 ( Primary Slave ) Not Present Device 2 ( Secondary Master ) Not Present Device 3 ( Secondary Slave ) Not Present ok setenv auto-boot? true auto-boot? = true
別の方法として、devalias コマンドを使うと、システムに接続されている「可能性のある」デバイスの別名と関連パスを確認できます。例:
ok devalias ttya /pci@7c0/pci@0/pci@1/pci@0/isa@2/serial@0,3f8 nvram /virtual-devices/nvram@3 net3 /pci@7c0/pci@0/pci@2/network@0,1 net2 /pci@7c0/pci@0/pci@2/network@0 net1 /pci@780/pci@0/pci@1/network@0,1 net0 /pci@780/pci@0/pci@1/network@0 net /pci@780/pci@0/pci@1/network@0 ide /pci@7c0/pci@0/pci@1/pci@0/ide@8 cdrom /pci@7c0/pci@0/pci@1/pci@0/ide@8/cdrom@0,0:f disk3 /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@3 disk2 /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@2 disk1 /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@1 disk0 /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0 disk /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0 scsi /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2 virtual-console /virtual-devices/console@1 name aliases
# init 0
ok printenv boot-device
ブートするデバイスを設定する値を示します。
詳細は、printenv(1B) のマニュアルページを参照してください。
次のような形式で、デフォルトの boot-device が表示されます。
boot-device = /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a
boot-device 値がネットワークブートデバイスを指定する場合、出力は次のようになります。
boot-device = /sbus@1f,0/SUNW,fas@e,8800000/sd@a,0:a \ /sbus@1f,0/SUNW,fas@e,8800000/sd@0,0:a disk net
始める前に
デフォルトのブートデバイスをほかのデバイスに変更するには、まずシステム上のデバイスを確認しておく必要があります。システム上のデバイスを確認する方法については、「SPARC: システム上のデバイスを確認する方法」を参照してください。
# init 0
ok setenv boot-device device[n]
boot-device の値 (disk または network など) を設定します。n にはディスク番号を指定できます。ディスク番号を確認する必要がある場合は、probe コマンドのいずれかを使用します。
ok printenv boot-device
ok reset-all
新しい boot-device 値が PROM に書き込まれます。
例 4-2 SPARC: ブート PROM を使用してデフォルトのブートデバイスを変更する
この例では、デフォルトのブートデバイスをディスクに設定しています。
# init 0 # INIT: New run level: 0 . . . The system is down. syncing file systems... done Program terminated ok setenv boot-device /pci@1f,4000/scsi@3/disk@1,0 boot-device = /pci@1f,4000/scsi@3/disk@1,0 ok printenv boot-device boot-device /pci@1f,4000/scsi@3/disk@1,0 ok boot Resetting ... screen not found. Can't open input device. Keyboard not present. Using ttya for input and output. . . . Rebooting with command: boot disk1 Boot device: /pci@1f,4000/scsi@3/disk@1,0 File and args:
この例では、デフォルトのブートデバイスをネットワークに設定しています。
# init 0 # INIT: New run level: 0 . . . The system is down. syncing file systems... done Program terminated ok setenv boot-device net boot-device = net ok printenv boot-device boot-device net disk ok reset . . . Boot device: net File and args: pluto console login:
eeprom コマンドを使用して、EEPROM のパラメータの値を表示し、変更できます。EEPROM パラメータを表示するために、特別な権限は必要ありません。ただし、これらのパラメータを変更するには、管理者になるか、root 役割になる必要があります。『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
EEPROM パラメータはプラットフォームによって異なります。たとえば、boot-device は SPARC プラットフォームのパラメータですが、x86 プラットフォームのパラメータではありません。使用しているシステムタイプで使用可能な EEPROM パラメータを表示するには、eeprom コマンドを引数なしで使用します。
たとえば、次は、x86ベースのシステムでの eeprom コマンドの出力です。
$ eeprom keyboard-layout=Unknown ata-dma-enabled=1 atapi-cd-dma-enabled=1 ttyb-rts-dtr-off=false ttyb-ignore-cd=true ttya-rts-dtr-off=false ttya-ignore-cd=true ttyb-mode=9600,8,n,1,- ttya-mode=9600,8,n,1,- lba-access-ok=1 console=ttya
この例では、SPARC ベースのシステムでの eeprom コマンドを示しています。
$ eeprom ttya-rts-dtr-off=false ttya-ignore-cd=true keyboard-layout: data not available. reboot-command: data not available. security-mode=none security-password: data not available. security-#badlogins=0 verbosity=min pci-mem64?=false diag-switch?=false local-mac-address?=true fcode-debug?=false scsi-initiator-id=7 oem-logo: data not available. oem-logo?=false oem-banner: data not available. oem-banner?=false ansi-terminal?=true screen-#columns=80 screen-#rows=34 ttya-mode=9600,8,n,1,- output-device=virtual-console input-device=virtual-console auto-boot-on-error?=false load-base=16384 auto-boot?=true network-boot-arguments: data not available. boot-command=boot boot-file: data not available. boot-device=/pci@780/pci@0/pci@9/scsi@0/disk@0,0:a disk net multipath-boot?=false boot-device-index=0 use-nvramrc?=false nvramrc: data not available. error-reset-recovery=boot
2 つの例を比較すると、SPARC ベースのシステムにはいくつかの追加のパラメータがあり、さらに x86 ベースのシステムで使用できないいくつかの SPARC パラメータがあることがわかります。
次のように、特定のブート属性の値を表示します。
$ eeprom attribute
例:
$ eeprom auto-boot? auto-boot?=true
次のように、eeprom コマンドを使用して、特定の EEPROM を設定します。
# eeprom attribute=new-value
たとえば、auto-boot パラメータを false に設定するには、次のように入力します。
# eeprom auto-boot?=false
次のように、変更された値を表示します。
# eeprom auto-boot? auto-boot?=false
boot-args パラメータに値を指定して、カーネルブート引数を設定できます。たとえば、次のコマンドを入力して、システムがカーネルデバッガをブートすることを指定します。
# eeprom boot-args=-k
次のように、Oracle Solaris コンソール設定をグラフィックモードに切り替えます。
# eeprom console=graphics
x86 プラットフォームで EEPROM プロパティーを設定し、保存する方法についての次の追加情報に注意してください。
x86 プラットフォームで、EEPROM プロパティーの設定は プロパティーを /boot/solaris/bootenv.rc ファイルに保存することによってシミュレートし、さらに、GRUB メニューを操作して、特定の EEPROM プロパティーの設定の影響をシミュレートします。
boot-args または boot-file プロパティーを設定して、特殊な GRUB メニューエントリを作成し、操作します。これは x86 プラットフォームで影響をシミュレートする唯一の方法です。特殊な GRUB メニューエントリのタイトルは、Solaris bootenv rc です。この特殊なエントリは、作成時に、デフォルトのエントリとしてマークされます。
eeprom コマンドを使用して設定されたプロパティーは、たとえば、ブート時に GRUB メニューを編集するなど、カーネルコマンド行でそれらのプロパティー名を別の値に設定することによってオーバーライドできます。1 つの例として、eeprom コマンドを使用し、次にブート時にカーネルコマンド行に B console=text を追加して、コンソールプロパティーを graphics に設定します。この場合、bootenv.rc ファイルで graphics の値を指定していても、コンソールタイプは text に設定されます。
詳細は、eeprom(1M) のマニュアルページを参照してください。
次の手順では、SPARC ベースのシステムでデフォルトのブートデバイスを設定する方法について説明します。X86 プラットフォームでは、UEFI Boot Manager などのファームウェアのタイプに対応するセットアップユーティリティーによってブートデバイスを設定します。
注 - X86 プラットフォームでは、UEFI Boot Manager などのファームウェアのタイプに対応するセットアップユーティリティーによってブートデバイスを設定します。
『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
# eeprom boot-device new-boot-device
# eeprom boot-device
この出力には、boot-device 属性の新しい eeprom 値が表示されます。
システムをブートするために 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