x86: GRUB 2 と GRUB Legacy のタスクの比較
GRUB 2 は GRUB Legacy といくつかの特性を共有していますが、GRUB 2 は menu.lst ファイルを使用しないため、多くのブート管理タスクが GRUB 2 をサポートするシステムでは異なって実行されます。たとえば、bootadm コマンドの新しいサブコマンドを使用して、GRUB メニューを管理し、各種ブートローダー管理タスクを実行します。
ほとんどの bootadm サブコマンドで、新しい –P pool 引数を使用できます。このオプションにより、GRUB メニューや特定のルートプールのブートエントリを表示したり、変更したりすることができます。GRUB Legacy をサポートするオペレーティングシステムを実行している場合、これらの bootadm サブコマンドで、–P オプションを使用できない可能性があります。
たとえば、次のように、特定のルートプールの GRUB メニューを表示します。
# bootadm list-menu -P pool-name
次の表は、いくつかの一般的な GRUB 2 タスクおよびコマンドを GRUB Legacy の同等のものと比較しています。詳細な手順については、bootadm(1M) のマニュアルページおよび bootadm コマンドを使用して GRUB 構成を管理するを参照してください。
表 2-2 GRUB Legacy タスクと比較した GRUB 2 タスク | | |
GRUB メニューの現在のブートエントリを一覧表示します。
| bootadm list-menu エントリ番号ごとまたはタイトルごとに個々のエントリを表示することもできます。タイトルごとにエントリを表示するには: bootadm list-menu entry-title タイトルにスペースが含まれる場合、タイトルが複数の引数として解釈されないように、引用符を使用する必要があります。例: bootadm list-menu `This is a menu entry with a title' エントリ番号ごとにエントリを表示するには: bootadm list-menu –i entry-number
| bootadm list-menu
|
デフォルトのブートローダー設定と、システム上の各ルートプールの Oracle Solaris ブート環境ごとに 1 つのメニューエントリを格納する新しい GRUB 構成ファイル (grub.cfg) を生成します。
| bootadm generate-menu システムに既存の grub.cfg ファイルがある場合、generate-menu サブコマンドに –f オプションを付けて使用します。この構文は既存の GRUB 2 構成を破棄し、新しい構成で置き換えます。 –P オプションを使用して、システム上の特定のルートプールの新しい GRUB 2 構成ファイルを生成する場合、生成された grub.cfg ファイルがそのルートプールの最上位 ZFS データセットに格納されることに注意してください。
| menu.lst ファイルを手動で編集して、新しい情報を追加します。
|
GRUB メニューに新しいエントリを追加します。
| エントリ番号を指定してエントリを追加するには: bootadm add-entry –i entry-number タイトルを指定してエントリを追加するには: bootadm add-entry entry-title
| menu.lst ファイルに手動でエントリを追加します。
|
GRUB メニューのエントリを変更します。
| エントリ番号を指定してエントリを変更するには: bootadm change-entry –i entry-numberkey=value タイトルを指定してエントリを変更するには: bootadm change-entry entry-title key=value タイトルにスペースが含まれる場合、タイトルが複数の引数として解釈されないように、引用符を使用する必要があります。 このサブコマンドは、Oracle Solaris コンソールデバイスをカーネル引数として指定するなど、個々のブートエントリを変更するために使用します。エントリのタイトルが複数のメニューエントリと一致する場合、最初のエントリのみが変更されます。 ブートエントリの変更は、以前のリリースで、GRUB Legacy エントリで実行していたように、ブート時に GRUB メニューを編集することによって実行することもできます。
| 持続的な変更をするには、menu.lst ファイルを手動で編集します。 または、ブート時に GRUB メニューを編集して、システムが次回にブートするときまでにだけ持続するブートエントリの変更を行ないます。
|
GRUB メニューからエントリを削除します。
| エントリ番号を指定してエントリを削除するには: bootadm remove-entry –i entry-number タイトルを指定してエントリを削除するには: bootadm remove-entry entry-title タイトルを指定すると、そのタイトルのすべてのエントリが削除されます。
| menu.lst ファイルから手動でエントリを削除します。
|
GRUB メニューを管理します。たとえば、ブート元となるデフォルトの GRUB メニューエントリを設定します。
| bootadm set-menu key=value
| bootadm set-menu
|
Linux エントリなどのカスタムメニューエントリを GRUB メニューに追加します。
| custom.cfg ファイルにエントリを追加し、正しい GRUB 2 構成ファイル構文を使用していることを確認してください。 GRUB 構成のカスタマイズを参照してください。 注 - まずこのファイルを作成する必要があります。
| Oracle Solaris のインストール後に menu.lst ファイルに情報を追加します。
|
ブート引数を追加するには、ブート時に GRUB メニューを編集します。
| 1. ブートプロセスに割り込むには、矢印キーを使用して、目的のメニューエントリを選択してから、e と入力します。 2. 指定したブートエントリの $multiboot 行の末尾にブート引数を追加します。 3. Control-X を押して、変更したエントリからブートします。システムコンソールがシリアルデバイス上にある場合、UEFI システムで、F10 キーが正しく認識されないことがあります。その場合、Ctrl-X を使用します。 注 - メニューエントリの編集中に Escape キーを押すとメニューエントリリストに戻り、すべての編集内容が廃棄されます。
| 1. ブートプロセスに割り込むには、e と入力します。 2. 指定したブートエントリの kernel$ 行の末尾にブート引数を追加します。 3. Return キーを押してから b を入力してシステムをブートします。
|
ブートローダープログラムをインストールします。
| bootadm install-bootloader このコマンドは、ミラー化ルートプールのすべてのデバイスに自動的にブートローダーをインストールします。
| x86 ベースのシステムの場合 installgrub、および SPARC ベースのシステムの場合 installboot。
|
UEFI または BIOS ファームウェアのブートパーティションを作成します。
| zpool create コマンドの新しい –B オプションを使用して、ファームウェアに適切なブートパーティションと新しい ZFS プールが格納される ZFS データパーティションを同時に自動的に作成します。
| GRUB Legacy は BIOS ファームウェアを搭載するシステムのみをサポートするため、個別のブートパーティションは必要ありません。
|
|