目次
本章では、 openSUSE® で使用されるブートローダ GRUB2 (Grand Unified Bootloader) について、その設定方法を説明しています。これは従来の GRUB ブートローダの後継にあたる ソフトウエアです。明示的に区別するため、従来のバージョンは 「GRUB Legacy」 とも呼ばれます (詳しくは 第7章 ブートローダ GRUB をお読みください) 。 GRUB2 は openSUSE® バージョン より既定のブートローダと なりました。主な設定は専用の YaST モジュールを利用して 行なうことができます。 Linux の起動手順について詳しくない場合は、 第7章 ブートローダ GRUB をお読みのうえ、起動に関する背景的な知識を得てください。また、起動処理の概要は 第5章 Linux システムの起動 で説明しています。
設定を複数のファイルに分散して保存するようになりました。また、設定ファイルの 書式も変更されています。
パーティション番号が 1 から始まるようになりました (従来の GRUB Legacy では 0 から始まっていました) 。
さらに多くのファイルシステムに対応しています。
GRUB2 では LVM や RAID デバイス上のファイルを、直接読めるようになりました。
メニュー項目の名称を含め、ユーザインターフェイスを翻訳できるようになりました。
GRUB では、ファイルシステムなどの特定の機能に対応するために、モジュールを 読み込む仕組みが追加されています。
「ステージ」 と呼ばれる仕組みは廃止され、 GRUB2 を構成する イメージの構造が変更されています。
GRUB2 の設定は、下記に示すファイルで行ないます:
/boot/grub2/grub.cfg
このファイルには、 GRUB2 のメニュー項目に関する全ての情報が保存
されています。これは従来の GRUB Legacy で言うところの
menu.lst にあたるものです。
grub.cfg は grub2-mkconfig
コマンドで構築するもので、通常は手作業で編集すべきではないものです。
/etc/default/grub
このファイルは GRUB2 のユーザ設定を制御するためのもので、通常は 背景画像やテーマなど、追加の環境設定が含まれています。
/etc/grub.d/ 内のスクリプト
このディレクトリ内に存在するスクリプトは、 grub2-mkconfig
コマンドの実行中に読み込まれ、メインの設定ファイル
/boot/grub/grub.cfg 内に取り込まれます。
/etc/sysconfig/bootloader
このファイルは perl-bootloader ライブラリから読み込むことができるもので、 YaST からブートローダを設定する際、および新しいカーネルがインストールされた 際に利用されます。このファイルにはカーネルパラメータなどの設定オプションが 含まれていて、これらはブートローダの設定ファイルに対して既定で追加されます。
GRUB2 は様々な方法でコントロールすることができます。既存の設定ファイルにある
起動項目はグラフィカルなメニュー (スプラッシュスクリーン) で選択することが
できます。設定は grub.cfg ファイルから読み込まれますが、
このファイルはさらに他のファイルの内容から生成されます (詳しくは下記をお読みください) 。
GRUB2 では、すべての設定ファイルがシステムファイルという位置づけとなるため、
これらを編集する際は、 root の権限が必要となります。また、 GRUB2 の
設定ファイルを編集した後は、 grub2-mkconfig -o
/boot/grub2/grub.cfg を忘れずに実行してください。
/boot/grub2/grub.cfg ファイル¶
起動メニューでのグラフィカルなスプラッシュスクリーンは、 GRUB2 の設定ファイル
/boot/grub2/grub.cfg を基礎にしています。このファイルには
そのほか、このメニューから起動可能な全てのパーティションとオペレーティングシステムに
関する情報も含まれています。
システムが起動する際、 GRUB2 は常にファイルシステムからメニューファイルを
読み込みます。そのため、 GRUB2 はメニューファイルを変更した場合であっても、
再インストールを行なう必要はありません。また、 grub.cfg は
カーネルのインストールや削除を行なった場合にも、自動的に再構築されます。
grub.cfg は grub2-mkconfig -o
/boot/grub2/grub.cfg コマンドを実行すると構築することができます。
このコマンドは、 /etc/default/grub ファイルと
/etc/grub.d/ ディレクトリ内に存在するスクリプトを、それぞれ
取り込んで設定を構築する仕組みであるため、このファイルを手作業で修正すべきでは
ありません。その代わりに、 /etc/grub.d/ ディレクトリ内の
ソースファイルを編集するか、もしくは YaST ブートローダモジュールを利用して、
GRUB2 の設定ファイルを変更してください。 YaST での設定方法について、詳しくは
8.3項 「YaST を利用したブートローダの設定」 をお読みください。
/etc/default/grub ファイル¶このファイルには、 GRUB2 に対するより一般的な設定が含まれています。たとえばメニューの 表示時間のほか、起動に利用する既定の OS などが含まれています。このファイルは、 root の権限があれば、自由に編集することができます。全てのオプションを一覧表示するには、 下記のコマンドを実行して出力された内容をお読みください:
grep "export GRUB_DEFAULT" -A50 /usr/sbin/grub2-mkconfig | grep GRUB_
既に設定済みの値のほかにも、独自に変数を設定して、 /etc/grub.d
ディレクトリ内のスクリプトから利用することもできます。
/etc/default/grub はシステムファイルであるため、このファイルを
編集するには root 権限が必要となります。また、このファイルを編集した後は、
設定ファイルを更新するために、 grub2-mkconfig -o /boot/grub2/grub.cfg
を実行する必要があります。
本章では、 /etc/default/grub ファイル内で使用する
一般的なオプションを示しています。全てのオプションを参照したい場合は、
GNU GRUB manual (英語) をお読みください。
次回コンピュータが再起動した場合に、起動すべき既定のメニュー項目を 設定します。これは数値で指定できるほか、メニューの項目そのものを 指定したり、 「saved」 を設定したりすることもできます。 たとえば下記のようになります:
GRUB_DEFAULT=2 を指定すると、 3 番目の (数値は
0 から始まります) メニュー項目を起動します。
GRUB_DEFAULT=2>0 を指定すると、 3 番目のサブ
メニュー内にある最初の項目を起動します。
GRUB_DEFAULT="Example boot menu entry" を指定すると、
その名前のメニュー項目を起動します。
GRUB_DEFAULT=saved を指定すると、 grub2-reboot
または grub2-set-default コマンドで設定した項目を
起動します。 grub2-reboot は次回の再起動の際にのみ
適用される項目を、 grub2-set-default は次回以降恒久的に
適用される項目を、それぞれ設定します。
true に設定すると、起動メニュー内で選択した OS を、
次回以降の既定の起動項目として設定します。この設定を動作させるには、
GRUB_DEFAULT=saved もあわせて設定する必要があります。
指定した秒数だけ、ユーザからのキー入力を待ちます。この待機時間の間は、
キー入力が行なわれるまでメニューを表示しません。何もキー入力がないまま、
指定した秒数が経過すると、 GRUB_TIMEOUT に制御が
移ります。また、 GRUB_HIDDEN_TIMEOUT=0 を指定すると、
起動時に が押されているかどうかをチェックし、
押されている場合は起動メニューを表示し、押されていない場合は即時に
既定のメニュー項目を起動します。これは、 GRUB2 で認識できる起動可能な
OS が 1 つしかない場合の既定値です。
false を指定すると、 GRUB_HIDDEN_TIMEOUT
機能が有効な場合、何もない画面上にカウントダウンタイマーだけが表示される
ようになります。
既定の起動項目を自動的に起動するまでの間、起動メニューを表示して待機する
時間を秒単位で設定します。何かキーを押すとカウントダウンは停止し、
GRUB2 はいずれかの項目を選択するまで待機します。なお、
GRUB_TIMEOUT=-1 を指定すると、起動項目を選択するまでの
間、メニューを表示したままずっと待ち続ける意味になります。
通常/復元モードなど、それぞれの起動項目のコマンドラインに対して、ここで 指定された内容が追加されます。ここにはカーネルに対するオプションなどを 設定します。
GRUB_CMDLINE_LINUX とほとんど同じですが、通常モードに
対してだけ、この内容が追加されます。
入出力を行なう端末デバイスを指定します。 console
(PC BIOS/EFI コンソール), serial (シリアルポート端末),
ofconsole (Open Firmware コンソール),
gfxterm (グラフィックモードの出力; 既定値) の中から、
いずれかを指定します。
gfxterm グラフィカル端末で使用する解像度を指定します。
ただし、お使いのグラフィックカード (VBE) 側で対応するモードのみを指定
できます。既定値は auto で、この場合は最適な解像度を
検出して利用します。なお、 GRUB2 のコマンドラインで vbeinfo
と入力することで、利用可能な画面解像度を表示することができます。コマンド
ラインは、 GRUB2 の起動メニュー画面が表示されたタイミングで、
c を押すことで利用することができます。
また、解像度の設定の後ろに、色深 (ビット単位) を指定することもできます。
たとえば下記のようになります:
GRUB_GFXMODE=1280x1024x24
![]() | |
GRUB2 とオペレーティングシステムで同じ解像度を設定すると、 システムの起動時間を少し短縮することができます。 | |
gfxterm グラフィカル端末で使用する、背景画像を設定します。
このファイルは起動時に GRUB2 が読み込むことのできるファイルでなければ
ならないほか、 .png, .tga,
.jpg, .jpeg のいずれかの拡張子で
なければなりません。また必要であれば、画像は画面に適合するようにサイズ調整が
行なわれます。
/etc/grub.d 内のスクリプト¶
このディレクトリ内にあるスクリプトは、 grub2-mkconfig
コマンドの実行時に読み込まれ、書かれた命令は /boot/grub2/grub.cfg
内に組み込まれます。また、 grub.cfg 内のメニュー項目の
順序は、このディレクトリ内での実行順序に従います。実行は数字の小さい順に
行われ、たとえば 00_header, 10_linux
40_custom などの順序で実行されます。また、英字の
ファイル名が存在した場合、これらは数字のファイル名よりも後に実行されます。
さらに、 grub2-mkconfig の実行時には、実行ファイルだけが
参照され、 grub.cfg に出力を生成します。既定では、
/etc/grub.d ディレクトリ内のすべてのファイルが
実行ファイルになっています。
下記に既定のスクリプトを示します。
00_header
システムファイルの場所やビデオの設定、テーマや以前に保存した項目などの、
環境変数が設定されています。また、 /etc/default/grub
内に保管されている設定情報なども、ここで取り込みます。通常は、
このファイルを編集する必要はありません。
10_linux
ルートデバイス上にある Linux カーネルを認識し、関連するメニュー項目を 生成するためのスクリプトです。復元モードのオプションについても、有効化 されていればここで取り込まれます。なお、メインメニューでは最新のカーネル だけが表示され、その他のカーネルはサブメニューとして構成されます。
30_os-prober
このスクリプトは OS-prober を利用して、 Linux やその他のオペレーティング システムを検出し、それらを GRUB2 のメニューとして配置します。 これらは Linux や Windows, Hurd や Mac OS X など、それぞれのオペレーティング システムを識別したセクションを生成します。
40_custom
grub.cfg 内に挿入されるべき独自の項目を設定する
際に利用する、雛形ファイルです。 exec tail -n +3 $0
以下の行の内容と既定のコメントが、 grub.cfg 内に
直接 (何も変更されることなく) 書き込まれます。
90_persistent
これは grub.cfg ファイルの一部をコピーし、それらを
変更することなく出力するための、特殊なスクリプトです。これにより、
grub2-mkconfig が実行されても元に戻ることなく、
grub.cfg 内の修正を実施することができます。
GRUB2 でハードディスクやパーティションに対して使用する名前付けは、通常の
Linux のデバイス名とは異なるものを使用します。 BIOS が使用する単純なディスク
列挙の仕組みにとても似ていて、文法は BSD システムの方式に似たものに
なっています。また、 GRUB2 では最初のパーティション番号は 0 になっています。
つまり、 (hd0,0) は最初のハードディスク内にある
最初のパーティションを意味することになります。一般的なデスクトップマシン
の場合、プライマリマスターに接続されているハードディスクのことを指し、
Linux のデバイス名で言うと、 /dev/sda1 になります。
4 つまで作成できるプライマリパーティションは、それぞれ 0
から 3 までの間に割り当てられています。論理パーティションは
4 以降になります:
(hd0,0) 最初のハードディスクにある最初のプライマリパーティション (hd0,1) 2 つめのプライマリパーティション (hd0,2) 3 つめのプライマリパーティション (hd0,3) 4 つめのプライマリパーティション (一般的には拡張パーティション) (hd0,4) 最初の論理パーティション (hd0,5) 2 つめの論理パーティション
BIOS でのデバイス表記と同じで、 GRUB2 は PATA (IDE), SATA, SCSI, ハードウエア RAID デバイスを区別せずに使用します。 BIOS やその他のコントローラで認識される 全てのハードディスクは、 BIOS 内で設定した起動順序に従って番号が付けられます。
残念ながら、 Linux のデバイス名を正しく BIOS のデバイス名に変換することは
できません。この割り当ては特定のアルゴリズムに従って生成され、
device.map ファイルに保存されます。必要であれば、
このファイルを編集することもできます。 device.map
に関する情報は、 8.2.4項 「device.map ファイル」 をお読みください。
GRUB2 で完全なパスを指定するには、まず括弧内にデバイス名を指定したあと、 パーティション (ファイルシステム) 内でのパスを記述します。 なお、パスはスラッシュから書き始めます。たとえば起動可能なカーネルが 最初の PATA (IDE) ハードディスクにおける最初のパーティションに存在する場合、 下記のように指定することができます:
(hd0,0)/boot/vmlinuz
下記は GRUB2 メニューファイルの構造を示すための例です。下記のインストール例
では起動パーティションが /dev/sda5 に、
ルートパーティションが /dev/sda7 に、
Windows のインストールが /dev/sda1 にそれぞれ
行なわれている場合を想定しています。
gfxmenu (hd0,4)/boot/messagecolor white/blue black/light-gray
default 0
timeout 8
title linux
root (hd0,4) kernel /boot/vmlinuz root=/dev/sda7 vga=791 resume=/dev/sda9 initrd /boot/initrd title windows
rootnoverify (hd0,0) chainloader +1 title floppy
rootnoverify (hd0,0) chainloader (fd0)+1 title failsafe
root (hd0,4) kernel /boot/vmlinuz.shipped root=/dev/sda7 ide=nodma \ apm=off acpi=off vga=normal nosmp maxcpus=0 3 noresume initrd /boot/initrd.shipped
最初のブロックでは、スプラッシュスクリーンの設定を行なっています:
| |
色の設定を行なっています。前景を白、背景を青に設定し、選択しているものを 黒で、選択の背景をライトグレーで表示します。色の設定はスプラッシュスクリーン には影響しません。 Esc でスプラッシュスクリーンを抜けた 場合にのみ意味のある設定です。 | |
最初の ( | |
ユーザ入力が 8 秒間行なわれないと、 GRUB2 は自動的に既定の項目を起動
します。自動起動を無効化するには、 |
2 番目の以降のブロックは、様々なオペレーティングシステムを起動するための
設定です。それぞれのオペレーティングシステムの設定は、
title で始まります。
最初の項目 ( | |
2 つめの項目は Windows を読み込むための項目です。 Windows は最初の
ハードディスク ( | |
3 つめの項目は、単に BIOS 設定を変更せずにフロッピィディスクから起動する ための項目です。 | |
|
メニューファイルは必要な時に変更することができ、 GRUB2 は次の起動時に 変更済みの設定を使用します。設定の変更は、 YaST かエディタなどで編集して ください。また、代替策として GRUB2 の機能を利用して一時的に変更する こともできます。詳しくは 8.2.3.3項 「起動処理時のメニュー項目編集」 を お読みください。
グラフィカルな起動メニューでは、カーソルキーを利用して起動するオペレーティング システムを選択することができます。なお、 Linux システムを選択した場合は、 起動プロンプトを利用して追加のパラメータを設定することもできます。個別の メニュー項目を直接編集したい場合は Esc を押し、スプラッシュ スクリーンを抜けて GRUB2 のテキストベースのメニューを表示させてから、 E を押します。このようにして変更した内容は、その時点の 起動でのみ有効で、恒久的に適用されることはありません。
![]() | 起動処理時のキーボードレイアウト |
|---|---|
起動時には英語 (アメリカ英語) キーボードレイアウトだけを利用できます。 詳しくは 図 「英語キーボードのレイアウト」 (↑スタートアップ) をお読みください。 | |
メニュー項目の編集を行なうと、うまく起動できないシステムに対する修復を 行なうことができます。これは、間違ったブートローダの設定を手作業で修正する ことで、うまく起動するための回避策を入力することができるためです。 起動処理内での手動でのパラメータ入力は、システムの設定を恒久的に変更せず、 一時的に新しい設定をテストしたりしたい場合にも便利です。
編集モードを有効にしたあと、まずはカーソルキーを利用して編集する行を選択 します。ここからさらに E を押すと、選択した行を編集する ことができます。この方法で、起動処理を行なう前に間違ったパーティション指定や パス指定を修正してください。編集モードを抜けてメニューに戻るには、 Enter を押します。メニューから B を 押すと、その設定で起動を行ないます。それ以外の処理は、画面下部のヘルプ テキストに表示されています。
起動オプションを恒久的に変更してそれらの設定をカーネルに渡したい場合は、
root ユーザで
menu.lst ファイルを開き、それぞれ必要なカーネル
パラメータを既存の行に設定してください。複数のパラメータはスペースで区切ります:
title linux
root(hd0,0)
kernel /vmlinuz root=/dev/sda3 additional parameter
initrd /initrdGRUB2 は次回の起動時に自動で設定したパラメータを読み込みます。 YaST ブートローダモジュールからでも同じことを行なうことができます。 上記と同様に、新しいパラメータはスペースで区切って指定します。
device.map ファイルは、 GRUB2 や BIOS のデバイス名を
Linux のデバイス名に変換するためのファイルです。 PATA (IDE) と SCSI のハードディスクが
混在するシステムの場合、 GRUB2 は特殊な手順で起動順序を判断しなければなりません。
これは GRUB2 が起動順序の設定を行なっている BIOS 情報にアクセスできない
可能性があるためです。 GRUB2 はこの分析結果を
/boot/grub/device.map ファイルに保存します。たとえば
BIOS で SCSI よりも PATA を優先して起動するように設定しているシステムでは、
device.map ファイルは下記のようになります:
(fd0) /dev/fd0 (hd0) /dev/sda (hd1) /dev/sdb
もしくは下記のようになる場合もあります:
(fd0) /dev/fd0 (hd0) /dev/disk-by-id/DISK1 の ID(hd1) /dev/disk-by-id/DISK2 の ID
PATA (IDE) や SCSI 、もしくはその他のハードディスクは様々な要素に依存していて、
Linux ではその割り当てを識別することができないことから、
device.map ファイルのある順序を手動で編集することも
できます。起動時に何らかの問題が発生した場合は、このファイル内にある順序が
BIOS の順序とあっているかどうかを確認し、 GRUB2 プロンプトから必要に応じて
一時的に変更してみてください。その設定で Linux システムが問題なく起動する
ようであれば、 YaST ブートローダモジュールやエディタなどを利用して、
device.map ファイルを恒久的に変更してください。
device.map ファイルを手作業で変更した場合は、
下記のコマンドを入力して GRUB2 を再インストールしてください。
このコマンドを実行すると、 device.map ファイルを
読み込み直し、 grub.conf ファイルにあるコマンドを
実行します:
grub --batch < /etc/grub.conf
/etc/sysconfig/bootloader ファイル¶
この設定ファイルは YaST を利用してブートローダを設定した場合、および
新しいカーネルをインストールした場合にのみ使用されるものです。このファイルは、
ブートローダの設定ファイル (たとえば GRUB2 であれば
/boot/grub/menu.lst) を書き換える perl-bootloader
ライブラリが解釈します。なお、 /etc/sysconfig/bootloader
ファイルは GRUB2 固有の設定ファイルではありません。 openSUSE 上に
インストールされたブートローダであれば、どのブートローダにも適用されます。
![]() | カーネル更新後のブートローダ設定 |
|---|---|
新しいカーネルがインストールされると、 perl のブートローダモジュールは毎回、
新しいブートローダの設定ファイル (たとえば GRUB2 であれば
| |
LOADER_TYPE
お使いのシステムにインストールされているブートローダを指定します (たとえば GRUB2 や LILO など)。この項目は手動では変更せず、 手順7.6「ブートローダの種類の設定」 に示されている 手順で YaST を利用し、ブートローダを設定してください。
DEFAULT_VGA / FAILSAFE_VGA / XEN_VGA
起動処理時に利用するフレームバッファについて、画面の解像度と色深度の
設定を行ないます。これらはカーネルパラメータ vga
に渡される値で、それぞれ既定の起動項目のほか、フェイルセーフ (安全設定) や
XEN 設定で使用されます。それぞれ下記の値を設定することができます:
表8.1 画面解像度と色深度の一覧
|
640x480 |
800x600 |
1024x768 |
1280x1024 |
1600x1200 | |
|---|---|---|---|---|---|
|
8 ビット |
0x301 |
0x303 |
0x305 |
0x307 |
0x31C |
|
15 ビット |
0x310 |
0x313 |
0x316 |
0x319 |
0x31D |
|
16 ビット |
0x311 |
0x314 |
0x317 |
0x31A |
0x31E |
|
24 ビット |
0x312 |
0x315 |
0x318 |
0x31B |
0x31F |
DEFAULT_APPEND / FAILSAFE_APPEND / XEN_KERNEL_APPEND
ブートローダの設定ファイル内で、既定の項目やフェイルセーフ設定、および XEN
の起動項目に設定する、カーネルパラメータ (vga 以外)
を指定します。
CYCLE_DETECTION / CYCLE_NEXT_ENTRY
ブートサイクルの検出を使用するかどうかと、使用していて起動がうまく
いかなかった場合に、 /boot/grub/menu.lst 内で
どの代替項目 (たとえば フェイルセーフ など)
を起動するかを指定します。詳しくは
/usr/share/doc/packages/bootcycle/README
をお読みください。
オペレーティングシステムが起動する前であっても、 GRUB2 はファイルシステムに アクセスすることができます。 root 権限のないユーザは、この方法で Linux システム内のファイルにアクセスする可能性があります。このようなアクセス方法を 禁止したり、特定のオペレーティングシステムを起動できないようにしたりしたい 場合は、起動パスワードを設定してください。
![]() | 起動パスワードとスプラッシュスクリーン |
|---|---|
GRUB2 で起動パスワードを使用する場合は、スプラッシュスクリーンは表示 されなくなります。 | |
root ユーザから下記の手順を実施することで、
起動パスワードを設定することができます:
At the root prompt, encrypt the password using grub-md5-crypt:
# grub-md5-crypt Password: **** Retype password: **** Encrypted: $1$lS2dv/$JOYcdxIn7CJk9xShzzJVw/
上記の出力で、 "Encrypted:" 以降の部分を
menu.lst ファイル内のグローバル
セクションに貼り付けます:
gfxmenu (hd0,4)/message color white/blue black/light-gray default 0 timeout 8 password --md5 $1$lS2dv/$JOYcdxIn7CJk9xShzzJVw/
上記のように設定することで、起動プロンプトから P を押し、 正しいパスワードを入力した場合にのみ、 GRUB2 コマンドを実行することが できるようになります。ただし、起動メニュー内に記載されているオペレーティング システムであれば、パスワードの入力なしでも実行できます。
起動メニューから 1 つまたは複数のオペレーティングシステムの起動が
できないようにするには、パスワード無しでは起動できないように設定することが
できます。 menu.lst ファイル内のセクションに対して、
lock という行を追加してください。たとえば下記のように
なります:
title linux kernel (hd0,4)/vmlinuz root=/dev/sda7 vga=791 initrd (hd0,4)/initrd lock
上記の設定でシステムを再起動すると、起動メニューから Linux を選択すると 下記のようなエラーメッセージが表示されます:
Error 32: Must be authenticated
Enter を押すとメニューに入ることができます。 さらに P を押してパスワードプロンプトを表示させ、 パスワードを入力して Enter を押してください。 すると選択したオペレーティングシステム (この場合は Linux) を起動すること ができるようになります。
一般的に、お使いの openSUSE のブートローダを設定するのに最も簡単な方法は、 YaST のモジュールを利用して設定することです。 YaST コントロールセンター から、 + を選択して設定を行ないます。 図7.1「ブートローダの設定」 にあるとおり、ここではお使いの システムでのブートローダ設定が表示され、変更を行なうことができます。
ブートローダの種類やインストール先、または高度なブートローダ設定を閲覧したり変更 したりするには、 を利用します。 なお、 GRUB2 ブートローダを使用するには、利用可能なブートローダの一覧で選択を 行なう必要があります。
既定で起動が行なわれるシステムを変更するには、下記の手順で行ないます:
手順8.1 既定のシステムの設定¶
を押し、 の一覧を開きます。
既定で起動したい項目を一覧から選択します。なお、項目の一覧内に 「>」 が書かれている場合、これはサブセクション内に存在して いることを示します。
最後に を押すと設定を保存することができます。
ブートローダのインストール先を変更するには、下記の手順で行ないます:
手順8.2 ブートローダのインストール先の変更¶
タブを選択し、 に対して以下のいずれかを 選択してください:
これを選択すると、最初のディスク (BIOS で設定された順序で 最初にあたるディスク) の MBR にブートローダをインストールします。
これを選択すると、 / ディレクトリに
割り当てたパーティションに対してブートローダをインストールします
(これが既定値です) 。
これを選択すると、 /boot ディレクトリに
割り当てたパーティションに対してブートローダをインストールします。
これを選択すると、拡張パーティションコンテナに対してブートローダを インストールします。
ブートローダの場所を手作業で指定するには、このオプションを選択してください。
変更を保存するには、 を押します。
ブートローダは既定の項目を、すぐには起動しません。時間切れとして設定した時間が 経過するまでの間、起動するシステムを選択したりカーネルのパラメータを入力したり することができます。ブートローダの時間切れを設定するには、下記の手順で行ないます: The boot loader does not boot the default system immediately. During the time-out, you can select the system to boot or write some kernel parameters. To set the boot loader time-out, proceed as follows:
手順8.3 ブートローダの時間切れ設定¶
タブを選択します。
を押します。
の項目を選択して新しい値を入力するか、 もしくはマウスやキーボードで矢印キーを操作して値を編集します。
を 2 回押して設定を保存します。
![]() | タイムアウトを 0 秒に設定した場合の影響 |
|---|---|
タイムアウトに 0 秒を設定すると、システムの起動時に GRUB2 の操作を 行なうことができなくなります。同時に Linux 以外のオペレーティング システムを既定の起動項目として設定すると、 Linux システムへのアクセス を無効化することができます。 | |
高度な起動オプションは、 + を 選択すると設定できるようになります。通常は既定値から変更を行なう必要は ありません。
ブートローダを含むパーティションをアクティブに設定します。いくつかの 古いオペレーティングシステム (Windows 98 など) では、アクティブな パーティションからでないと起動できないものがあるためです。
現在の MBR に対し、オペレーティングシステムに依存しない汎用のコードを 書き込みます。
ブートメニューを隠し、既定の項目を起動するように設定します。
これを選択すると、ブートメニューはテキストモードではなく、グラフィカルな スプラッシュ画面を表示するようになります。ブートメニューでの解像度は、 の一覧から設定することができるほか、 で、テーマの定義ファイルを選択する こともできます。
お使いのマシンがシリアルコンソールで操作するものである場合は、この項目を 選択して COM ポートと速度を設定してください。詳しくは info grub または http://www.gnu.org/software/grub/manual/grub.html#Serial-terminal (英語) をお読みください。
タブでは、ブートローダの種類を 選択することができます。 openSUSE での既定は GRUB2 ですが、 LILO または ELILO を使用したい場合は下記のような手順で変更します:
![]() | LILO はサポート対象外です |
|---|---|
LILO の使用はお勧めできません—openSUSE では サポート対象外であるためです。特別な場合にのみお使いください。 | |
手順8.4 ブートローダの種類の設定¶
タブを選択します。
まずは の項目で を選択します。
ダイアログボックスが開いたら、下記のいずれかの処理を選択してください:
YaST に対して、新しい設定を提案させます。
YaST に対して、現在の設定を変換するよう指示します。 設定の変換を行なうことで、設定のうちのいくつかが失われる場合があります。
カスタムな設定を書き込みます。この処理は openSUSE のインストール時 には選択できません。
/etc/lilo.conf ファイルに保存された設定を読み込み
ます。この処理は openSUSE のインストール時には選択できません。
を 2 回押して設定を保存します。
変換にあたっては、古い GRUB2 の設定がディスクに保存されます。これを使用し直す 場合は、ブートローダの種類を GRUB2 に戻してから を選択してください。この選択肢は、インストール済みのシステムでのみ利用できます。
![]() | カスタムなブートローダ |
|---|---|
GRUB2 でも LILO でもないその他のブートローダを使用したい場合は、 を選択してください。 このオプションを選択する場合は、事前にお使いのブートローダの文書を良くお読み ください。 | |
YaST では、 Linux でのブートローダをアンインストールし、 Linux がインストール される前に存在していた通常の MBR に戻す機能も提供しています。インストール時に YaST は自動で元の MBR をバックアップしているため、必要に応じてそこから書き戻す ことができるようになっています。
GRUB2 をアンインストールするには、 YaST を起動して + を 選択し、ブートローダモジュールを起動します。そこからさらに + を選択し、確認のため を 押します。
グラフィカルな SUSE スクリーンは、カーネルパラメータに
vga= を指定した場合にのみ、
1 つめのコンソールに表示されるものです。 YaST を利用してインストールした場合、
このオプションは選択した解像度とグラフィックカードにあわせて自動的に有効化
されます。 SUSE スクリーンを無効化したい場合は、下記の 3 種類の方法で
無効化することができます:
値
グラフィカルな画面を無効化するには、 echo 0 >/proc/splash というコマンドを入力します。 再度有効化したい場合は、 echo 1 >/proc/splash と入力します。
お使いのブートローダの設定に、 splash=0 というカーネル
パラメータを記入します。詳しい情報は 第8章 ブートローダ GRUB2 をお読み
ください。なお、テキストモードをお使いになりたい場合 (古いバージョンでの
既定値) は、 vga=normal と記入します。
新しくカーネルをコンパイルし、 内の の オプション選択を外します。カーネル内でのフレームバッファサポートを無効化すると、 スプラッシュスクリーンについても自動的に無効に設定されます。
![]() | サポート対象外です |
|---|---|
SUSE では、独自にコンパイルしたカーネルを利用して起動した場合、いかなる サポートをも提供いたしません。 | |
この章では、 GRUB2 を利用して起動する際に発生しうる問題や、それらの問題に対する 解決方法について概要を述べています。 いくつかの問題は http://ja.opensuse.org/SDB:SDB (日本語) や http://en.opensuse.org/Portal:Support_database/ (英語) にあるサポートデータベースに記載されています。 キーワード検索を行なう場合は、 GRUB2 や 起動 、または ブートローダ などで 検索してください。
XFS にはパーティションの起動ブロック内に 第 1 ステージ
を保存しておくための領域がありません。そのため、ブートローダの配置場所として
は、 XFS パーティションを設定しないでください。この問題は、 XFS 以外の
ファイルシステムでフォーマットする個別の起動パーティションを作成することで、
解決することができます。
GRUB2 はシステムを起動する際、接続されたハードディスクのジオメトリ情報 (配置情報) を確認します。 BIOS は時として矛盾した情報を提供することがあり、 これによって GRUB2 は Geom Error を報告します。この場合は BIOS を更新して 解決してください。
また GRUB2 は、 BIOS で登録されていない追加のハードディスクから Linux を起動しようとした場合にもこのエラーメッセージを表示します。 ブートローダの 第 1 ステージ が見つかって正しく 読み込めたものの、 第 2 ステージ が見つからない 場合に発生します。このような問題が発生した場合は、新しいハードディスクを BIOS に登録することで解決することができます。
YaST はインストール時に、ハードディスクの起動順序を正しく判別しない
場合があります。たとえば、 BIOS での起動順序が SCSI, PATA (IDE) の順であるにも
関わらず、 GRUB2 では PATA (IDE) ディスクを hd0 と認識し、
SCSI ディスクを hd1 と認識することがあります。
この場合は GRUB2 のコマンドラインを利用して、起動処理中にハードディスクの
順序を修正してください。システムを問題なく起動できたら、
device.map ファイルを編集し、恒久的に新しい割り当てを
書き込んでください。その後、 /boot/grub/menu.lst
と /boot/grub/device.map にある GRUB2 のデバイス名を
確認し、下記のコマンドでブートローダを再インストールします:
grub --batch < /etc/grub.conf
Windows のようなオペレーティングシステムでは、 1 台目のハードディスクからのみ 起動することができます。 1 台目以外のハードディスクにそのようなオペレーティング システムをインストールした場合は、関連するメニュー項目を編集することで、論理的な 変更を行なうことができます。
... title windows map (hd0) (hd1) map (hd1) (hd0) chainloader(hd1,0)+1 ...
上記の例では、 Windows が 2 台目のハードディスクから始まっていることを示して
います。ハードディスクの論理的な順序は map コマンドで
変更することができます。この仕組みは、 GRUB2 のメニューファイルには影響
しません。そのため、 2 台目のハードディスクは chainloader
に指定しなければなりません。
GRUB2 に関する広範囲の情報は、 http://www.gnu.org/software/grub/ (英語) に記載されています。 grub の info ページを読むことも できます。 特定の問題について調べるには、 http://ja.opensuse.org/SDB:SDB (日本語) または http://en.opensuse.org/Portal:Support_database/ (英語) にある サポートデータベースから、 「GRUB2」 キーワードを指定することで検索 することもできます。