目次にジャンプページナビゲーションにジャンプ: 前のページ[アクセスキーp]/次のページ[アクセスキーn]
documentation.suse.com / SUSE Linux Enterprise Serverマニュアル / 管理ガイド / Linuxシステムのブート / ブートローダGRUB 2
適用項目 SUSE Linux Enterprise Server 15 SP6

18 ブートローダGRUB 2

この章では、SUSE® Linux Enterprise Serverで使用されているブートローダGRUB 2の設定方法について説明します。これは、現在GRUB Legacyと呼ばれる従来のGRUBブートローダの後継バージョンです。GRUB 2は、SUSE® Linux Enterprise Serverのバージョン 12以降でデフォルトのブートローダとして使用されています。YaSTモジュールは、最も重要な設定を行うために使用できます。ブート手順は、総じて第16章 「ブートプロセスの概要で説明しています。UEFIマシンでのセキュアブートのサポートの詳細については、第17章 「UEFI (Unified Extensible Firmware Interface)を参照してください。

18.1 GRUB LegacyとGRUB 2の主な相違点

  • 設定が異なるファイルに保存されます。

  • より多くのファイルシステム(Btrfsなど)がサポートされています。

  • LVMまたはRAIDデバイスに保存されたファイルを直接読み込めます。

  • テーマによってユーザインタフェースを翻訳および変更できます。

  • ファイルシステムなどの追加機能をサポートするモジュールをロードするためのメカニズムが組み込まれています。

  • 他のカーネルとオペレーティングシステム(Windowsなど)のブートエントリを自動的に検索して生成します。

  • Bashに似た最小限のコンソールが組み込まれています。

18.2 設定ファイルの構造

GRUB 2の設定は、次のファイルに基づいています。

/boot/grub2/grub.cfg

このファイルには、GRUB 2メニュー項目の設定が含まれます。これは、GRUB Legacyで使用されていたmenu.lstに代わるものです。grub.cfgは編集しないでください。コマンドgrub2-mkconfig -o /boot/grub2/grub.cfgによって自動的に生成されます。

/boot/grub2/custom.cfg

このオプションファイルは、ブート時にgrub.cfgによって直接調達され、ブートメニューにカスタム項目を追加するために使用できます。SUSE Linux Enterprise Server 12 SP2からは、grub-onceを使用する場合も、これらのエントリが解析されます。

/etc/default/grub

このファイルは、GRUB 2のユーザ設定を制御し、通常は背景やテーマなどの追加の環境設定を含みます。

/etc/grub.d/にあるスクリプト

このディレクトリのスクリプトは、コマンドgrub2-mkconfig -o /boot/grub2/grub.cfgの実行中に読み込まれます。スクリプトの命令はメインの設定ファイル/boot/grub/grub.cfgに統合されます。

/etc/sysconfig/bootloader

この設定ファイルは、ブートローダタイプや、UEFIセキュアブートサポートを有効にするかどうかなどの特定の基本的な設定を保持します。

/boot/grub2/x86_64-efi, /boot/grub2/power-ieee1275, /boot/grub2/s390x

これらの設定ファイルにはアーキテクチャ固有のオプションが含まれます。

GRUB 2は、複数の方法で制御できます。グラフィカルメニュー(スプラッシュ画面)を使用して、既存の設定からブートエントリを選択できます。設定は、他の設定ファイルからコンパイルされた/boot/grub2/grub.cfgファイルからロードされます(以下を参照)。GRUB 2設定ファイルはすべてシステムファイルとみなされ、編集するにはroot特権が必要です。

注記
注記: 設定の変更の有効化

GRUB 2設定ファイルを手動で編集した後、grub2-mkconfig -o /boot/grub2/grub.cfgを実行して変更を有効化する必要があります。ただし、YaSTを使用して設定を変更した場合、YaSTはこのコマンドを自動的に実行するため、この作業は必要ありません。

18.2.1 /boot/grub2/grub.cfgファイル

ブートメニューを含むグラフィカルスプラッシュ画面は、GRUB 2の設定ファイル/boot/grub2/grub.cfgに基づいており、このファイルにはメニューを使用してブートできるすべてのパーティションまたはオペレーティングシステムに関する情報が含まれています。

システムをブートするたびに、GRUB 2はファイルシステムから直接メニューファイルをロードします。このため、設定ファイルを変更するたびにGRUB 2を再インストールする必要がありません。grub.cfgは、カーネルをインストールまたは削除すると自動的に再構築されます。

grub.cfgは、ファイル/etc/default/grub、およびコマンドgrub2-mkconfig -o /boot/grub2/grub.cfgの実行中/etc/grub.d/ディレクトリで見つかったスクリプトからコンパイルされます。そのため、このファイルは手動で編集しないでください。代わりに、関連するソースファイルを編集するか、18.3項 「YaSTによるブートローダの設定」で説明されているようにYaSTブートローダモジュールを使用して設定を変更します。

18.2.2 /etc/default/grubファイル

このファイルには、メニューを表示するタイミングやブートするデフォルトのOSなど、GRUB 2のより一般的なオプションが含まれます。すべての使用可能なオプションについては、次のコマンドの出力を参照してください。

> grep "export GRUB_DEFAULT" -A50 /usr/sbin/grub2-mkconfig | grep GRUB_

/etc/grub.dディレクトリにあるスクリプトで、カスタム変数を導入し、あとで使用することができます。

/etc/default/grubを編集した後で、grub2-mkconfig -o /boot/grub2/grub.cfgを使用してメインの設定ファイルをアップデートします。

注記
注記: スコープ

このファイルで指定されるオプションはすべて、全ブートエントリに影響する汎用オプションです。Xenハイパーバイザーに固有のオプションには、_XEN_部分文字列が含まれます。

重要
重要: 内部引用符のエスケープ

スペースを含むより複雑なオプションは、1つのオプションとして処理されるように、引用符で囲む必要があります。このような内部引用符は、次の例のように、正しくエスケープする必要があります。

GRUB_CMDLINE_LINUX_XEN="debug loglevel=9 log_buf_len=5M \"ddebug_query=file drivers/xen/xen-acpi-processor.c +p\""
GRUB_DEFAULT

デフォルトでブートされるブートメニューエントリを設定します。値は、数値、メニューエントリの完全な名前、またはsavedになります。

GRUB_DEFAULT=2は、3番目(0から数える)のブートメニューエントリをブートします。

GRUB_DEFAULT="2>0"は、3番目の最上位レベルのメニューエントリの1番目にあるサブメニューエントリをブートします。

GRUB_DEFAULT="Example boot menu entry"は、Example boot menu entryというタイトルのメニューエントリをブートします。

GRUB_DEFAULT=savedは、grub2-onceコマンドまたはgrub2-set-defaultコマンドによって指定されたエントリをブートします。grub2-rebootは次回の再起動時にのみ有効なデフォルトブートエントリを設定するのに対し、grub2-set-defaultは変更しない限りデフォルトとして使用されるブートエントリを設定します。grub2-editenv listは、次のブートエントリをリストします。

GRUB_HIDDEN_TIMEOUT

ユーザがキーを押すまで、指定された秒数待機します。この間は、ユーザがキーを押さない限りメニューは表示されません。指定された時間内にキーが押されなかった場合、制御はGRUB_TIMEOUTに渡されます。GRUB_HIDDEN_TIMEOUT=0は、まずShiftキーが押されているかどうかを確認し、押されている場合はブートメニューを表示し、押されていない場合は即座にデフォルトのメニューエントリをブートします。これは、GRUB 2によって識別されるブート可能なOSが1つだけの場合のデフォルトです。

GRUB_HIDDEN_TIMEOUT_QUIET

falseが指定されていて、GRUB_HIDDEN_TIMEOUT機能が有効な場合は、空の画面にカウントダウンタイマが表示されます。

GRUB_TIMEOUT

自動的にデフォルトのブートエントリをブートする前に、ブートメニューを表示する時間(秒数)。キーを押すとタイムアウトはキャンセルされ、GRUB 2はユーザが手動で選択するまで待機します。GRUB_TIMEOUT=-1は、ユーザがブートエントリを手動で選択するまでメニューを表示します。

GRUB_CMDLINE_LINUX

この行のエントリは、標準モードおよび回復モード用のブートエントリの最後に追加されます。この行を使用して、カーネルパラメータをブートエントリに追加します。

GRUB_CMDLINE_LINUX_DEFAULT

GRUB_CMDLINE_LINUXと同じですが、標準モードでのみエントリが追加されます。

GRUB_CMDLINE_LINUX_RECOVERY

GRUB_CMDLINE_LINUXと同じですが、回復モードでのみエントリが追加されます。

GRUB_CMDLINE_LINUX_XEN_REPLACE

このエントリは、すべてのXenブートエントリのGRUB_CMDLINE_LINUXパラメータを置き換えます。

GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT

GRUB_CMDLINE_LINUX_XEN_REPLACEと同じですが、GRUB_CMDLINE_LINUX_DEFAULTのパラメータのみを置き換えます。

GRUB_CMDLINE_XEN

これらのエントリは、標準モードと回復モードのXenハイパーバイザーXenメニューエントリに渡されます。次に例を示します。

GRUB_CMDLINE_XEN="loglvl=all guest_loglvl=all"
ヒント
ヒント: Xenハイパーバイザーオプション

Xenハイパーバイザーオプションの完全なリストについては、https://xenbits.xen.org/docs/unstable/misc/xen-command-line.htmlを参照してください。

GRUB_CMDLINE_XEN_DEFAULT

GRUB_CMDLINE_XENと同じですが、標準モードでのみエントリが追加されます。

GRUB_TERMINAL

入出力端末デバイスを有効化および指定します。console (PC BIOSおよびEFIコンソール)、serial (シリアル端末)、ofconsole (Open Firmwareコンソール)、またはデフォルトのgfxterm (グラフィックモード出力)のいずれかになります。また、必要なオプションを引用符で囲むことで、2つ以上のデバイスを有効にすることもできます(たとえば、GRUB_TERMINAL="console serial")。

GRUB_GFXMODE

gfxtermグラフィカル端末で使用される解像度。使用できるモードはグラフィックカード(VBE)でサポートされているモードのみです。デフォルトは「auto」で、優先解像度の選択を試みます。GRUB 2のコマンドラインで「videoinfo」と入力すると、GRUB 2で使用可能な画面解像度が表示されます。コマンドラインにアクセスするには、GRUB 2ブートメニュー画面が表示されているときにCと入力します。

また、色数を解像度設定に追加することで色数も指定できます(たとえば、GRUB_GFXMODE=1280x1024x24)。

GRUB_BACKGROUND

gfxtermグラフィカル端末の背景イメージを設定します。イメージはブート時にGRUB 2によって読み込み可能なファイルでなければならず、拡張子.png.tga.jpg、または.jpegで終わる必要があります。必要であれば、イメージは画面に合わせて拡大されます。

GRUB_DISABLE_OS_PROBER

このオプションをtrueに設定すると、他のオペレーティングシステムの自動検索は無効になります。/boot/内のカーネルイメージと、/etc/grub.d/内にあるユーザ独自のスクリプトのオプションのみが検出されます。

SUSE_BTRFS_SNAPSHOT_BOOTING

このオプションをtrueに設定すると、GRUB 2をSnapperのスナップショットの状態に直接ブートできます。詳細については、10.3項 「スナップショットからのブートによるシステムロールバック」を参照してください。

すべてのオプションのリストについては、 GNU GRUB manualを参照してください。

18.2.3 /etc/grub.d内のスクリプト

このディレクトリのスクリプトは、コマンドgrub2-mkconfig -o /boot/grub2/grub.cfgの実行中に読み込まれます。スクリプトの命令は/boot/grub2/grub.cfgに統合されます。grub.cfg内のメニュー項目の順序は、このディレクトリ内のファイルの実行順序によって決まります。まず、名前が数字で始まるファイルが、最も小さい数字が付いたものから順番に実行されます。00_header10_linuxの前に実行され、10_linuxは40_customの前に実行されます。アルファベットの名前が付いたファイルが存在する場合は、名前が数字で始まるファイルの後に実行されます。grub2-mkconfigの実行中にgrub.cfgへ出力を生成するのは実行可能ファイルのみです。デフォルトでは、/etc/grub.dディレクトリ内のファイルはすべて実行可能ファイルです。

ヒント
ヒント: grub.cfgの永続的なカスタムコンテンツ

grub2-mkconfigを実行するたびに/boot/grub2/grub.cfgが再コンパイルされるため、カスタムコンテンツはすべて失われます。grub2-mkconfigの実行後にカスタムコンテンツを失わずに行を/boot/grub2/grub.cfgに直接挿入するには、次の行の間に挿入します。

### BEGIN /etc/grub.d/90_persistent ###

および

### END /etc/grub.d/90_persistent ###

90_persistentスクリプトにより、このようなコンテンツが確実に保存されます。

最も重要なスクリプトのリストを以下に示します。

00_header

システムファイルの場所、表示設定、テーマ、以前に保存したエントリなどの環境変数を設定します。また、/etc/default/grubに保存されている初期設定をインポートします。通常、このファイルを変更する必要はありません。

10_linux

ルートデバイス上のLinuxカーネルを識別し、関連するメニューエントリを作成します。これには、関連する回復モードオプション(有効な場合)が含まれます。最新のカーネルのみがメインメニューページに表示され、その他のカーネルはサブメニューに含まれます。

30_os-prober

このスクリプトは、os-proberを使用してLinuxやその他のオペレーティングシステムを検索し、結果をGRUB 2メニューに示します。他の特定のオペレーティングシステム(WindowsやmacOSなど)を識別するためのセクションがあります。

40_custom

このファイルを使用すると、grub.cfgに簡単にカスタムブートエントリを組み込むことができます。最初のexec tail -n +3 $0の部分は変更しないようにしてください。

処理シーケンスは、名前の先頭の数値によって設定され、最も小さい数値が最初に実行されます。スクリプトの名前が同じ数値で始まる場合は、名前全体のアルファベット順で順序が決まります。

ヒント
ヒント: /boot/grub2/custom.cfg

/boot/grub2/custom.cfgを作成してコンテンツを入力すると、ブート時に40_customの直後に自動的に/boot/grub2/grub.cfgに組み込まれます。

18.2.4 BIOSドライブとLinuxデバイスのマッピング

GRUB Legacyでは、device.map設定ファイルを使用して、BIOSドライブ番号からLinuxデバイス名を派生させていました。BIOSドライブとLinuxデバイスのマッピングは常に正しく推測できるとは限りません。たとえば、BIOS設定でIDEとSCSIのブートシーケンスが入れ替わると、GRUB Legacyは誤った順序を取得します。

GRUB 2では、grub.cfgの生成時にデバイスID文字列(UUID)またはファイルシステムラベルを使用することで、この問題を回避しています。GRUB 2ユーティリティは一時デバイスマップをオンザフライで作成します。通常、特に単一ディスクのシステムでは、この処理で十分です。

ただし、GRUBの自動デバイスマッピングメカニズムを無効にする必要がある場合は、カスタムマッピングファイル/boot/grub2/device.mapを作成します。次の例では、マッピングを変更して、DISK 3をブートディスクにしています。パーティション番号は、GRUB 2 Legacyでは0から始まっていましたが、GRUB 2では1から始まります。

(hd1)  /dev/disk-by-id/DISK3 ID
(hd2)  /dev/disk-by-id/DISK1 ID
(hd3)  /dev/disk-by-id/DISK2 ID

18.2.5 ブート手順実行中のメニューエントリの編集

メニューエントリを直接編集できると、誤設定が原因でシステムがブートしなくなった場合に役立ちます。また、システム設定を変更せずに新しい設定をテストする場合にも使用できます。

  1. グラフィカルブートメニューで、編集するエントリを矢印キーで選択します。

  2. Eを押して、テキストベースのエディタを開きます。

  3. 矢印キーを使用して、編集する行へ移動します。

    GRUB 2ブートエディタ
    図 18.1: GRUB 2ブートエディタ

    ここでは2つのオプションがあります。

    1. スペース区切りのパラメータを、linuxまたはlinuxefiで始まる行の終わりに追加して、カーネルパラメータを編集します。すべてのパラメータのリストはhttps://en.opensuse.org/Linuxrcから入手できます。

    2. または、一般オプションを編集して、カーネルバージョンなどを変更します。<Tab>キーを押すと、考えられる完了結果がすべて提示されます。

  4. F10キーを押して変更内容が反映されたシステムをブートするか、Escキーを押して編集内容は破棄し、GRUB 2メニューに戻ります。

この方法で加えた変更は、現在のブートプロセスだけに適用され、永続的に保存されることはありません。

重要
重要: ブート手順実行中のキーボードレイアウト

ブート時は、USキーボードレイアウトだけが使用可能です。図13.1「USキーボードレイアウト」を参照してください。

注記
注記: インストールメディアのブートローダ

従来のBIOSが搭載されたシステム上にあるインストールメディアのブートローダは、引き続きGRUB Legacyになります。ブートパラメータを追加するには、エントリを選択し、入力を開始します。インストールブートエントリに追加した内容は、インストール済みシステムに永続的に保存されます。

注記
注記: IBM ZでのGRUB 2メニューエントリの編集

IBM Zでのカーソルの移動と編集コマンドは異なります。詳細については、18.4項 「IBM Zにおける端末の使用上の相違点」を参照してください。

18.2.6 ブートパスワードの設定

GRUB 2は、オペレーティングシステムのブート前でも、ファイルシステムにアクセスできるようにします。rootパーミッションを持たないユーザは、システムのブート後、アクセス権のないLinuxシステム上のファイルにアクセスできます。この種のアクセスを阻止したり、ユーザによる特定のメニューエントリのブートを防止するために、ブートパスワードを設定できます。

重要
重要: ブート時にパスワードが必要です

設定すると、ブートのたびにブートパスワードが必要になります。つまり、システムは自動的にはブートしません。

ブートパスワードを設定するには、次の手順に従います。または、YaSTを使用してください(パスワードでブートローダを保護する を参照してください)。

  1. grub2-mkpasswd-pbkdf2:を使用してパスワードを暗号化します。

    > sudo grub2-mkpasswd-pbkdf2
    Password: ****
    Reenter password: ****
    PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.9CA4611006FE96BC77A...
  2. set superusersコマンドを使用して、結果の文字列をまとめて/etc/grub.d/40_customファイルに貼り付けます。

    set superusers="root"
    password_pbkdf2 root grub.pbkdf2.sha512.10000.9CA4611006FE96BC77A...
  3. メインの設定ファイルに変更をインポートするには、次を実行します。

    > sudo grub2-mkconfig -o /boot/grub2/grub.cfg

再起動後、メニューエントリのブートを試みると、GRUB 2によりユーザ名とパスワードの入力が求められます。grub2-mkpasswd-pbkdf2コマンドの実行中に入力したrootとパスワードを入力します。資格情報が正しい場合、システムは選択したブートエントリをブートします。

詳細については、https://www.gnu.org/software/grub/manual/grub/grub.html#Securityを参照してください。

18.2.7 ブートメニューエントリへの許可されたアクセス

認可のレベルに応じてブートメニューエントリへのアクセスを許可するようにGRUB 2を設定できます。パスワードで保護された複数のユーザアカウントを設定し、それぞれに異なるメニューエントリへのアクセス権を割り当てることができます。GRUB 2で認可を設定するには、次の手順に従います。

  1. GRUB 2で使用するユーザアカウントごとに1つのパスワードを作成し、暗号化します。18.2.6項 「ブートパスワードの設定」で説明されているように、grub2-mkpasswd-pbkdf2コマンドを使用します。

  2. /etc/grub.d/10_linuxファイルを削除します。これにより、デフォルトのGRUB 2メニューエントリを出力できなくなります。

  3. /boot/grub2/custom.cfgファイルを編集し、カスタムメニューエントリを手動で追加します。次のテンプレートは、使用例に合わせて調整します。

    set superusers=admin
    password admin ADMIN_PASSWORD
    password maintainer MAINTAINER_PASSWORD
    
    menuentry 'Operational mode' {
      insmod ext2
      set root=hd0,1
      echo 'Loading Linux ...'
      linux /boot/vmlinuz root=/dev/vda1 $GRUB_CMDLINE_LINUX_DEFAULT $GRUB_CMDLINE_LINUX mode=operation
      echo 'Loading Initrd ...'
      initrd /boot/initrd
    }
    
    menuentry 'Maintenance mode' --users maintainer {
      insmod ext2
      set root=hd0,1
      echo 'Loading Linux ...'
      linux /boot/vmlinuz root=/dev/vda1 $GRUB_CMDLINE_LINUX_DEFAULT $GRUB_CMDLINE_LINUX mode=maintenance
      echo 'Loading Initrd ...'
      initrd /boot/initrd
    }
  4. メインの設定ファイルに変更をインポートします。

    > sudo grub2-mkconfig -o /boot/grub2/grub.cfg

これまでの例で:

  • GRUB 2メニューには、Operational mode (動作モード)Maintenance mode (メンテナンスモード)の2つのエントリがあります。

  • ユーザを指定しない場合は、両方のブートメニューエントリにアクセスできますが、GRUB 2コマンドラインにアクセスしたり、既存のメニューエントリを編集したりすることはできません。

  • adminユーザは、GRUB 2コマンドラインにアクセスし、既存のメニューエントリを編集できます。

  • maintenanceユーザは、リカバリメニュー項目を選択できます。

18.3 YaSTによるブートローダの設定

SUSE Linux Enterprise Serverシステムでブートローダの汎用オプションを設定する最も簡単な方法は、YaSTモジュールを使用することです。YaSTコントロールセンターで、システム › ブートローダの順に選択します。モジュールにシステムの現在のブートローダ設定が示され、変更を加えられます。

ブートコードオプションタブで、タイプ、場所、および高度なローダ設定に関する設定を表示および変更できます。GRUB 2を標準モードとEFIモードのどちらで使用するかを選択することができます。

重要
重要: EFIシステムではGRUB2-EFIが必須

EFIシステムがある場合は、GRUB2-EFIのみをインストールできます。それ以外をインストールすると、システムはブート不能になります。

重要
重要: ブートローダの再インストール

ブートローダを再インストールするには、必ずYaSTで設定を変更して、その後で元に戻すという操作を実行します。たとえば、GRUB2-EFIを再インストールするには、一度GRUB2を選択して、すぐにGRUB2-EFIに戻します。

元に戻さない場合、ブートローダが完全には再インストールされない可能性があります。

注記
注記: カスタムのブートローダ

リストにないブートローダを使用する場合は、ブートローダはインストールしないでくださいを選択します。このオプションを選択する場合には、あらかじめ、ブートローダのドキュメントをよくお読みください。

18.3.1 ブートローダの場所とブートコードオプション

ブートローダのデフォルトの場所はパーティション設定によって異なり、マスタブートレコード(MBR)か、/パーティションのブートセクタです。ブートローダの場所を変更するには、次の手順に従います。

手順 18.1: ブートローダの場所の変更
  1. ブートコードオプションタブを選択し、ブートローダの場所で、次のいずれかのオプションを選択します。

    マスタブートレコードからブート

    ディレクトリ/bootが含まれるディスクのMBRにブートローダをインストールします。通常は/にマウントされるディスクになりますが、/bootが異なるディスクの別個のパーティションにマウントされる場合は、そのディスクのMBRが使用されます。

    ルートパーティションからブート

    /パーティションのブートセクタにブートローダがインストールされます。

    Custom Root Partition (カスタムルートパーティション)

    このオプションを選択すると、手動でブートローダの場所を指定できます。

  2. OKをクリックして、変更内容を適用します。

ブートコードオプション
図 18.2: ブートコードオプション

ブートコードオプションタブには、以下の追加のオプションがあります。

ブートパーティション用パーティションテーブルにアクティブフラグを設定

/bootディレクトリを含むパーティションをアクティブにします。POWERシステムの場合、PRePパーティションをアクティブにします。古いBIOSおよび/またはレガシーオペレーティングシステムを使用しているシステムでは、非アクティブなパーティションからのブートに失敗する可能性があるため、このオプションを使用してください。このオプションをアクティブのままにしておくのが安全です。

MBRに汎用ブートコードを書き込む

MBRにカスタムの「非GRUB」コードが含まれている場合、このコードは、このオプションにより、汎用の、オペレーティングシステムに依存しないコードに置き換えられます。このオプションを無効にすると、システムが起動できなくなる可能性があります。

Enable Trusted Boot Support

信頼されたコンピューティング機能(TPM(Trusted Platform Module))をサポートするTrustedGRUB2を開始します。詳細については、https://github.com/Sirrix-AG/TrustedGRUB2を参照してください。

プロテクティブMBRフラグセクションには、次のオプションが含まれています。

set

これは、従来のレガシーBIOSブートに適しています。

remove

これは、UEFIブートに適しています。

変更禁止

これは通常、すでに機能しているシステムがある場合の最適な選択肢です。

多くの場合、YaSTがデフォルトで最適な選択肢となります。

18.3.2 ディスクの順序の変更

コンピュータに複数のハードディスクがある場合、ディスクのブートシーケンスを指定できます。リストの最初のディスクは、MBRからブートする場合にGRUB 2がインストールされる場所です。これは、デフォルトでSUSE Linux Enterprise Serverがインストールされるディスクです。リストの残りは、GRUB 2のデバイスマッパのヒントです(18.2.4項 「BIOSドライブとLinuxデバイスのマッピング」を参照)。

警告
警告: ブートできないシステム

デフォルト値は、通常、ほぼすべての展開で有効です。ディスクのブート順序を正しく変更しないと、次回の再起動時にシステムをブートできなくなる可能性があります。たとえば、リスト内の最初のディスクがBIOSのブート順序の一部ではなく、リスト内の他のディスクに空のMBRがある場合などです。

手順 18.2: ディスクの順序の設定
  1. ブートコードオプションタブを開きます。

  2. ディスク順序の編集をクリックします。

  3. 複数のディスクが表示されている場合には、ディスクを選択してから上へまたは下へをクリックして、ディスクの表示順を変更します。

  4. OKを2回クリックして、変更内容を保存します。

18.3.3 詳細オプションの設定

詳細なブートパラメータを設定するには、Boot Loader Options (ブートローダオプション)タブを使用します。

18.3.3.1 ブートローダオプションタブ

ブートローダオプション
図 18.3: ブートローダオプション
ブートローダのタイムアウト

新しい値を入力するか、マウスで適切な矢印キーをクリックして、タイムアウト(秒)の値を変更します。

その他のOSの検知

選択すると、ブートローダはWindowsや他のLinuxインストールなど、インストール済みの他のシステムを検索します。

ブート時にメニューを隠す

ブートメニューを隠し、デフォルトエントリをブートします。

デフォルトブートエントリの調整

デフォルトのブートセクションリストから目的のエントリを選択します。ブートエントリ名内の>記号は、ブートセクションとそのサブセクションを区切っている点に注意してください。

パスワードでブートローダを保護する

ブートローダとシステムを追加のパスワードで保護します。手動による環境設定の詳細は、18.2.6項 「ブートパスワードの設定」を参照してください。このオプションを有効にすると、ブートのたびにブートパスワードが必要になります。つまり、システムは自動的にはブートしません。ただし、GRUB 1の動作を希望する場合は、さらに項目の修正のみを保護するを有効にします。この設定では、誰でもブートエントリを選択してシステムをブートできますが、GRUB 2 rootユーザのパスワードは、ブートエントリを変更する場合にのみ必要です。

18.3.3.2 カーネルパラメータタブ

カーネルパラメータ
図 18.4: カーネルパラメータ
オプションのカーネルコマンドラインパラメータ

システム機能の有効化/無効化、ドライブの追加などを実行するには、ここでオプションのカーネルパラメータを指定します。

CPU緩和策

SUSEでは、CPUサイドチャネル攻撃を防ぐために導入されているすべてのソフトウェア緩和策に対する1つ以上のカーネルブートコマンドラインパラメータをリリースしました。これらの一部により、性能の低下を招く場合があります。設定に応じて、セキュリティと性能とのバランスをとるために次のオプションのいずれかを選択してください。

自動 お使いのCPUモデルで必要なすべての緩和策を有効化しますが、CPUスレッドを跨いだ攻撃は保護できません。この設定による性能面への影響は、負荷内容によって異なります。

自動 + SMT無し 利用可能なセキュリティ面の緩和策をすべて実施することになります。お使いのCPUモデルで必要なすべての緩和策を有効化します。さらに、複数のCPUスレッドを跨いだサイドチャネル攻撃を防ぐため、同時マルチスレッディング(SMT)の機能も無効化します。これにより、負荷内容にもよりますが、[自動]よりも性能面への影響が増すことになります。

オフ 全ての緩和策を無効化します。CPUのモデルによってさまざまなサイドチャネル攻撃の可能性が高まることになります。この設定により性能面への影響はなくなります。

手動 緩和レベルを設定しません。カーネルのコマンドラインオプションを使用してCPU緩和策を手動で指定します。

グラフィカルコンソールを使用する

オンにすると、テキストモードではなくグラフィカルなスプラッシュスクリーンにブートメニューが表示されます。ブート画面の解像度はデフォルトで自動的に設定されますが、コンソールの解像度を介して手動で設定することもできます。グラフィカルテーマ定義ファイルはコンソールのテーマファイルチューザーで指定できます。これを変更するだけで、独自のカスタムメイドのテーマを適用できます。

シリアルコンソールの使用

コンピュータがシリアルコンソールで制御されている場合は、このオプションを有効にして、どのCOMポートをどの速度で使用するか指定します。info grubまたはhttps://www.gnu.org/software/grub/manual/grub.html#Serial-terminalを参照してください。

18.4 IBM Zにおける端末の使用上の相違点

3215および3270端末では、カーソルの移動方法と、GRUB 2内での編集コマンドの実行方法には一定の相違点と制限事項があります。

18.4.1 制限

対話処理

対話処理は大幅に制限されています。多くの場合、入力しても結果は視覚的なフィードバックとして表示されません。カーソルの位置を確認するには、下線(_)を入力します。

注記
注記: 3270の3215との比較

3270端末では、画面の表示と更新は3215端末より優れています。

カーソルの移動

従来の方法でカーソルを移動することはできません。AltMetaCtrl、およびカーソルキーは動作しません。カーソルを移動するには、18.4.2項 「キーの組み合わせ」に一覧にされたキーの組み合わせを使用します。

キャレット

キャレット(^)は制御文字として使用されます。文字として^を入力し他の文字を続けるには、^^、「LETTER」と入力します。

以下を入力してください。

Enterキーは機能しません。代わりに、^Jを使用します。

18.4.2 キーの組み合わせ

共通の代用キー:

^J

決定する(Enter)

^L

キャンセルして、直前の状態に戻る

^I

タブ補完機能(編集およびシェルモード)

メニューモードで使用可能なキー:

^A

最初のエントリ

^E

最後のエントリ

^P

前のエントリ

^N

次のエントリ

^G

前のページ

^C

次のページ

^F

選択したエントリをブートする、またはサブメニューに切り替える(^Jと同じ)

E

選択したエントリを編集する

C

GRUBシェルを起動する

編集モードで使用可能なキー:

^P

前の行に戻る

^N

次の行に進む

^B

1文字戻る

^F

1文字進む

^A

行の先頭に移動する

^E

行の末尾

^H

バックスペース

^D

delete

^K

行を削除する

^Y

ヤンク(コピー)

^O

行を開く

^L

画面を更新する

^X

エントリをブートする

^C

GRUBシェルを起動する

コマンドラインモードで使用可能なキー:

^P

前のコマンド

^N

履歴の次のコマンド

^A

行の先頭に移動する

^E

行の末尾

^B

1文字戻る

^F

1文字進む

^H

バックスペース

^D

delete

^K

行を削除する

^U

行を破棄する

^Y

ヤンク(コピー)

18.5 役立つGRUB 2コマンド

grub2-mkconfig

/etc/default/grubおよび/etc/grub.d/のスクリプトに基づいて、新しい/boot/grub2/grub.cfgを生成します。

例 18.1: grub2-mkconfigの使用法
grub2-mkconfig -o /boot/grub2/grub.cfg
ヒント
ヒント: 構文チェック

パラメータを付けずにgrub2-mkconfigを実行すると、設定がSTDOUTに出力され、そこで設定を確認できます。構文をチェックするには、/boot/grub2/grub.cfgが書き込まれた後にgrub2-script-checkを使用します。

重要
重要: grub2-mkconfigはUEFIセキュアブートテーブルを修復できません

UEFIセキュアブートを使用していて、システムがGRUB 2に正常にアクセスできなくなった場合、Shimを再インストールして、UEFIブートテーブルを再生成する必要がある場合があります。次のようにします。

# shim-install --config-file=/boot/grub2/grub.cfg
grub2-mkrescue

インストールされたGRUB 2設定の、ブート可能なレスキューイメージを作成します。

例 18.2: grub2-mkrescueの使用法
grub2-mkrescue -o save_path/name.iso iso
grub2-script-check

指定したファイルの構文エラーをチェックします。

例 18.3: grub2-script-checkの使用
grub2-script-check /boot/grub2/grub.cfg
grub2-once

次のブート時にのみ使用されるデフォルトブートエントリを設定します。使用可能なブートエントリのリストを取得するには、--listオプションを使用します。

例 18.4: grub2-onceの使用法
grub2-once number_of_the_boot_entry
ヒント
ヒント: grub2-once help

オプションを付けずにプログラムを呼び出すと、使用可能なすべてのオプションのリストを取得できます。

18.6 レスキューモード

「レスキューモード」は、ブートプロセスが失敗したシステムをトラブルシューティングし、修復するための固有のrootユーザセッションです。このモードでは、ローカルファイルシステムとコアシステムサービスがアクティブな単一ユーザ環境を提供します。ネットワークインタフェースは有効化されません。レスキューモードに入るには、次の手順に従います。

手順 18.3: レスキューモードに入る
  1. システムを再起動します。ブート画面が表示され、GRUB 2ブートメニューが表示されます。

  2. ブートするメニューエントリを選択し、eを押してブート行を編集します。

  3. カーネルパラメータを含む行に次のパラメータを追加します。

    systemd.unit=rescue.target
  4. CtrlXを押して、これらの設定でブートします。

  5. rootのパスワードを入力します。

  6. 必要な変更をすべて加えます。

  7. コマンドラインで、systemctl isolate multi-user.targetまたはsystemctl isolate graphical.targetを入力して、通常の動作ターゲットを再度入力します。

18.7 詳細情報

GRUB 2の詳細情報は、https://www.gnu.org/software/grub/で入手できます。また、grub情報ページも参照してください。にあるTechnical Information Search(技術情報検索)で、キーワードGRUB 2https://www.suse.com/supportを検索して、特別な事項に関する情報を入手することもできます。