ブートローダー「GRUB2」とは?どんな設定変更が、どのように可能か?

ブートローダー「GRUB2」とは?どんな設定変更が、どのように可能か?
このエントリーを含むはてなブックマークはてなブックマーク - ブートローダー「GRUB2」とは?どんな設定変更が、どのように可能か? Googleブックマークに追加 このエントリをつぶやくこのWebページのtweets

000grub2_backgroud

パソコンの起動処理は一般的には以下の手順で行われます。

(1)本体の電源をON。
(2)マザーボードに搭載されているROMに記録されたBIOSが起動。ここでは主に3つの処理が行われます。

  • PCの自己診断
  • 周辺機器を認識
  • ブートローダーを起動

このブートローダーという起動処理を受け持つソフトウェアは、ハードディスクなどの記憶装置の「マスター・ブート・レコード=MBR」という領域に格納されています。

(3)このブートローダーにより、OSが起動されます。

  • 大型の船を引っ張るタグボートのような役割といえばいいでしょうか。
  • このブートローダー、Linuxでは旧くはLILO(=Linux Loader)が搭載されていましたが、その後、多くのディストリビューションが「GRUB」(=Grand Unified Bootloader)を採用するようになりました。

このGRUB、LILOに比べて、高度な管理、豊富なファイルシステムの認識が可能となり、大幅な進歩を遂げたのですが、いくつかの設計上の問題点が浮かび上がってきました。
特に、構成を変更した際に、起動できなくなってしまうことがあるという点です。
OSの入れ替えにより、うっかりと重要な区画を消してしまい、GRUBが機能しなくなるという問題があり、特にマルチブート環境で苦労をした方が多くいらっしゃいました。
この、ほんのわずかな領域の小さなソフトウェアの不具合だけのために、再インストールを余儀なくされてしまった経験が私にもあります。

その他、メモリ管理機能、モジュール化構成に未対応などの、GRUBの問題点に関する技術的な細かい説明は、ここでは行ないませんが、これらを克服すべく開発されたのがGRUB2というわけで、Ubuntuでは9.10から標準で搭載されるようになっています。

このGRUB2が起動時に直接参照するのは、「/boot/grub/grub.cfg」というファイル。
001boot_grub
この設定ファイルは「/etc/grub.d」および「/etc/default/grub」により自動的に生成されるもので、ユーザが直接編集するものではありません。

設定を変更するならば、「/etc/default/grub」を編集します。
また、「/etc/grub.d/40_custom」でカスタム設定の記述ができるようになっています。

■GRUB2の設定変更

003etc_default_grub

「/etc/default/grub」では、下記のような設定の変更が可能です。

端末を開き、次のコマンドにより、テキストエディタ「gedit」で管理者権限により設定ファイルを開きます。

sudo gedit /etc/default/grub

(パスワードの入力を求められるのでログイン時のパスワードを入力します。)

(1)システムの起動時にGRUB2の起動画面を表示させる

標準ではGRUB2の起動画面は表示されない設定になっています。これを表示させたい場合には、下記2行の頭に「#」を付けて、コメントアウトします。

#GRUB_HIDDEN_TIMEOUT=0
#GRUB_HIDDEN_TIMEOUT_QUIET=true

(2)GRUB2起動画面の表示時間を変更する

初期設定では、GRUB2の表示時間は10秒となっています。
以下の値を変更することで、表示時間を変更できます。

GRUB_TIMEOUT=5

5秒に変更しました。

(3)GRUB2の解像度を変更する

GRUB_GFXMODE=1024×768

初期設定は640 x 480 ピクセルとなっていますが、以上のように変更することで、解像度を変更できます。

(4)GRUB2の画面に背景画像を表示させる

トップ画のように、GRUB2の画面に背景画像を表示させるためには、「/etc/grub.d/40_custom」を編集します。

端末を開き、次のコマンドにより、管理者権限により設定ファイルを開きます。

sudo gedit /etc/grub.d/40_custom

004grubd

下記の要領で、記述を追加します。

insmod png
background_image (hd0,1)/usr/share/backgrounds/ubuntu.png

  • 「insmod」の次には、pngまたはjpegなど、画像のファイル形式を指定します。
  • (hd0,1)は、最初のHDDの1番目の領域、すなわち「sda1」を表します。
  • 「sdb2」が起動ディスクとなる場合、(hd1,2)という記述となります。
  • このように、ディスクは「0」から、パーティションは「1」から順番に記載されます。
  • 続いて、表示させたい画像のパスを記載します。

■設定の反映のために

以上の要領で設定を変更しても、以下を実行しない限り設定は反映されませんので注意が必要です。

sudo update-grub

006sudo_update-grub

GUIでの設定は「StartUp-Manager」で

GRUB2にも対応し、設定をGUIで行えるツールが「StartUp-Manager」。

Ubuntuソフトウェアセンターから同名で検索してインストールします。

007startupmanager_install

起動は「システム」>「システム管理」から。

008staruptmanager
先程の「GRUB_TIMEOUT=5」に相当するのが「待ち時間」

デュアルブートや、複数のカーネルが用いられている場合、どのOS/カーネルから自動的に起動させるかを、「デフォルトのオペレーティングシステム」で表示されるリストから選択できます。

先程の「GRUB_GFXMODE=1024×768」に相当するのが「解像度:」の設定。

残念ながら背景画の設定はできませんが、GRUB2の設定を、GUIで簡単に設定変更ができ、便利です。

富士通パソコンFMVの直販サイト富士通 WEB MART

Related posts:

  1. コンソールの解像度を変更したい
  2. 起動時の事なら全部おまかせ!「StartUp-Manager」:*9.04まで利用可能
  3. ブートローダー「GRUB」の役割と設定の変更
  4. 6.10から7.04へのアップグレード、依存関係の修復
  5. 起動時のトラブル、設定変更を可能にする「StartUp-Manager」
Tags:

About the Author