BigAdmin System Administration Portal
特集記事: GRUB および Solaris 10 1/06 OS の FAQ: x86 プラットフォーム用の新しいブートローダー
Print-friendly VersionPrint-friendly Version

GRUB および Solaris 10 1/06 OS の FAQ: x86 プラットフォーム用の新しいブートローダー

2005 年 12 月

一般的な質問
  1. GRUB とは
  2. GRUB は、SPARC プラットフォーム上の Solaris OS の新しいブートローダーでもありますか。
  3. GRUB を入手するには、手持ちの x86 コンピュータを Solaris 10 1/06 OS にアップグレードする必要がありますか。
  4. システムの起動時に常に Solaris OS の GRUB メニューが表示されるようにするには、どうすればよいですか。
  5. システムを GRUB メニューで停止させて、自動的にブートされないようにする必要があります。それにはどうすればよいですか。
  6. GRUB を使って古い Solaris リリースをブートできますか。
  7. ある fdisk パーティションに新しい Solaris リリースをインストールしたのですが、その同じパーティションの別のスライス上に古い Solaris リリースが存在しています。どうすればその古いリリースをブートできますか。
  8. /boot/grub/menu.lst を編集したのですが、GRUB 画面にその変更が反映されません。
  9. 複数の Solaris イメージを提供するように netinstall サーバーを設定するには、どうすればよいですか。
  10. pxelinux を使って Solaris OS を読み込むことはできますか。
  11. PXE/DHCP サーバーを使用しないでネットワークからブートすることはできますか。
  12. 新しい Solaris リリースのブート時にドライバ更新を適用するには、どうすればよいですか。
  13. prtconf -pv の出力が以前と異なります。どうすればよいでしょうか。
  14. マシンが古く、ACPI テーブルが含まれていません。それでも Solaris OS をブートできますか。
  15. フェイルセーフアーカイブをカスタマイズし、それをポータブルなレスキューイメージとして USB スティックに格納できますか。
  16. GRUB コンソールをシリアル回線にリダイレクトするには、どうすればよいですか。
  17. フェイルセーフモードに入り、ある設定ファイルを修正したあと、何かのはずみにブートアーカイブを削除してしまいました。フェイルセーフモードへのリブートを何度試みても、アーカイブを生成し直してブートを可能にすることができませんでした。
  18. GRUB は通常、Solaris スライスにインストールされます。これをマスターブートレコード (MBR) にインストールすべき場合がありますか。
  19. Solaris OS をシステムにインストールしたのですが、ブートすることができません。
  20. インストール時に Solaris ブートパーティションを作成すべきでしょうか。
 
 

Q:
GRUB とは
A:
x86 プラットフォーム上の Solaris OS の新しいブートローダーは、人気のあるオープンソースである GNU GRUB (Grand Unified Bootloader) プロジェクトに基づいています。ブートローダーとは、コンピュータの起動直後に実行されるソフトウェアプログラムのことです。その役割は、オペレーティングシステムのカーネルをメモリー内に読み込んだあと、そのカーネルに制御を移すことです。

先頭に戻る


Q:
GRUB は、SPARC プラットフォーム上の Solaris OS の新しいブートローダーでもありますか。
A:
いいえ。GRUB は、Solaris 10 1/06 リリース以降の、x86 システム上の Solaris OS 専用です。(この新しいブートローダーは、Solaris 10 1/06 OS の正式リリース前に OpenSolaris Project または Solaris Express プログラムから入手可能。)

先頭に戻る


Q:
GRUB を入手するには、手持ちの x86 コンピュータを Solaris 10 1/06 OS にアップグレードする必要がありますか。
A:
アップグレードは、新しいブートローダーを入手するメカニズムの 1 つです。別の方法として、カーネルパッチ 118844-21 (またはそれ以上) を含む Solaris 10 セキュリティーパッチをインストールする方法があります。

先頭に戻る


Q:
システムの起動時に常に Solaris OS の GRUB メニューが表示されるようにするには、どうすればよいですか。
A:
Solaris GRUB stage1 をマスターブートセクションにインストールするために、次のコマンドを実行します。

installgrub -m <stage1> <stage2> /dev/rdsk/<root slice>

「stage1」および「stage2」引数の詳細は、installgrub(1) コマンドのマニュアルページを参照してください。

先頭に戻る


Q:
システムを GRUB メニューで停止させて、自動的にブートされないようにする必要があります。それにはどうすればよいですか。
A:
/boot/grub/menu.lsttimeout=-1 と設定してください。

先頭に戻る


Q:
GRUB を使って古い Solaris リリースをブートできますか。
A:
直接には不可能です。古い Solaris のカーネルはマルチブートに準拠していないため、GRUB で直接読み込むことはできません。ただし、/boot/grub/menu.lst 内の GRUB メニューに次の行を追加してチェーンロードを行うことは可能です。
        
	title Solaris 3/05
        root (hd0,1)    <== Solaris partition
        chainloader +1
        makeactive

makeactive コマンドを実行しないと、チェーンローダーが正しく動作しません。

先頭に戻る


Q:
ある fdisk パーティションに新しい Solaris リリースをインストールしたのですが、その同じパーティションの別のスライス上に古い Solaris リリースが存在しています。どうすればその古いリリースをブートできますか。
A:
古い Solaris バージョンのルート fs が root タグを持つスライス上に存在していることを確認してください。GRUB ブート Solaris スライスは、root 以外の任意のタグを持っている必要があります。インストール後のデフォルト設定はそのようになっていません。ユーザーが format(1M) を使ってスライスのタグを編集する必要があります。

古い Solaris リリースのブートパーティションが存在する場合は、そのブートパーティションにチェーンロードします。

そうでない場合は、そのスライスの最初のセクターに pboot をインストールします。たとえば、最初のスライスで次のコマンドを使用します。

   dd if=/usr/platform/i86pc/lib/fs/ufs/pboot of=/dev/rdsk/c0d0s0 bs=512 count=1

次に、そのスライスをチェーンロードします。

	title Solaris 03/05
        root (hd0,1,a)
        chainloader +1
        makeactive

先頭に戻る


Q:
/boot/grub/menu.lst を編集したのですが、GRUB 画面にその変更が反映されません。
A:
おそらく、Solaris ブートパーティションからシステムがブートしています。その場合、ブートパーティションは /stubboot にマウントされます。アクティブな GRUB メニューは /stubboot/boot/grub/menu.lst です。

先頭に戻る


Q:
複数の Solaris イメージを提供するように netinstall サーバーを設定するには、どうすればよいですか。
A:
記事「GRUB と Solaris 10 1/06 OS: x86 プラットフォーム用の新しいブートローダー」(http://www.sun.com/bigadmin/hubs/multilingual/japanese/content/grub_boot_solaris.jsp) の付録 B を参照してください。

先頭に戻る


Q:
pxelinux を使って Solaris OS を読み込むことはできますか。
A:
pxelinux を使って pxegrub を読み込み、それから Solaris OS を読み込むことができます。

先頭に戻る


Q:
PXE/DHCP サーバーを使用しないでネットワークからブートすることはできますか。
A:
はい。ただし、何らかのローカルメディア (フロッピーディスクまたは CD-ROM) が必要になります。GRUB フロッピーディスクを作成し、GRUB コマンド rarp または ifconfig 経由でネットワークを設定し、tftp 経由で multibootboot_archive をダウンロードします。

先頭に戻る


Q:
新しい Solaris リリースのブート時にドライバ更新を適用するには、どうすればよいですか。
A:
miniroot のブート時に、インストールメニューから 5 を選択します。ソフトウェアが収録されたフロッピーディスクまたは CD-ROM を挿入するように求めるプロンプトが表示されたら、それを挿入します。CD-ROM 上のソフトウェアレイアウトは、ITU フロッピー向けに定義されたものと同じディレクトリ階層に従っている必要があります。

先頭に戻る


Q:
prtconf -pv の出力が以前と異なります。どうすればよいでしょうか。
A:
デバイスを列挙する役割は、カーネルが担うようになりました。prtconf -v 経由ですべてのデバイス情報を取得できるはずです。

先頭に戻る


Q:
マシンが古く、ACPI テーブルが含まれていません。それでも Solaris OS をブートできますか。
A:
はい。ACPI テーブルが見つからない場合、ブートコードは自動的に、標準の PS/2 キーボード/マウスおよびシリアル/パラレルポートを構成する一連のデフォルトを使用します。ACPI を手動で無効にするには、ブートオプション -B acpi-user-options=2 を追加します (eeprom(1M) のマニュアルページも参照)。

先頭に戻る


Q:
フェイルセーフアーカイブをカスタマイズし、それをポータブルなレスキューイメージとして USB スティックに格納できますか。
A:
現在のフェイルセーフアーカイブは、gzip 圧縮された UFS 形式の miniroot です。これは、lofi デバイスとしてマウントし、ファイルシステム操作コマンドを使って操作できます。このアーカイブにドライバを追加すれば、ハードウェアサポートを拡張できます。miniroot は OS のインストールおよびアップグレード操作専用の最小環境であるため、アプリケーションパッケージの追加は一般にサポートされません。

先頭に戻る


Q:
GRUB コンソールをシリアル回線にリダイレクトするには、どうすればよいですか。
A:
Solaris OS では、eeprom console=ttya (または ttyb) を使って OS コンソールをリダイレクトします。BIOS コンソールのリダイレクトが使用可能な場合は、それを設定します。BIOS コンソールのリダイレクトが使用できない場合は、次の行を /boot/grub/menu.lst に追加することで GRUB 出力を ttya にリダイレクトできます。
        serial --unit=0 --speed=9600
        terminal serial

BIOS コンソールのリダイレクトと GRUB コンソールのリダイレクトをどちらも設定することは、お勧めできません。互いに干渉し合う可能性があります。

先頭に戻る


Q:
フェイルセーフモードに入り、ある設定ファイルを修正したあと、何かのはずみにブートアーカイブを削除してしまいました。フェイルセーフモードへのリブートを何度試みても、アーカイブを生成し直してブートを可能にすることができませんでした。
A:
ブートしてフェイルセーフモードに入り、「updated archives」の質問に「yes」と答えると、ディスクベースの実際のルートファイルシステムが /a にマウントされるはずです。次のコマンドを実行してください。bootadm update-archive -f -R /a

先頭に戻る


Q:
GRUB は通常、Solaris スライスにインストールされます。これをマスターブートレコード (MBR) にインストールすべき場合がありますか。
A:
GRUB をマスターブートレコードにインストール (installgrub -m <stage1> <stage2> /dev/rdsk/<slice>) すると、Solaris パーティションがアクティブかどうかにかかわらず、システム起動時に GRUB が表示されます。

ただし、MBR を上書きする 2 つ目の OS をインストールした場合、インストール DVD からブートして installgrub コマンドを再度実行しないかぎり、Solaris 版の GRUB を復旧することはできません。

したがって、復旧の視点からはおそらく、Solaris 10 1/06 版の GRUB を Solaris パーティションに残すほうが賢明です。

先頭に戻る


Q:
Solaris OS をシステムにインストールしたのですが、ブートすることができません。
A:
BIOS のブートディスクが Solaris OS のインストール先に設定されていることと、Solaris パーティションがアクティブになっていることを確認してください。

先頭に戻る


Q:
インストール時に Solaris ブートパーティションを作成すべきでしょうか。
A:
いいえ。Solaris 10 1/06 以降は、新規インストール時にブートパーティションが作成されたり、既存のブートパーティションが再利用されたりすることはありません。以前の Solaris リリースからのアップグレード時には、ブートパーティションが保持され、それが /stubboot にマウントされます。

先頭に戻る


ここで取り上げたすべてのテクニカルマニュアル内のコード (記事、FAQ、サンプルを含む) は、特にほかのライセンス供与がない限り、このライセンスのもとに提供されています。


BigAdmin