GNU GRUB
GNU GRUB
開発元GNUプロジェクト
最新版2.06 (GRUB2) / 2021年6月8日 (2年前) (2021-06-08)[2][3]
最新評価版2.06~rc1[1] / 2021年3月12日 (3年前) (2021-03-12)
リポジトリ
git.savannah.gnu.org/cgit/grub.git
GNU GRUB (GRand Unified Bootloader) はGNUプロジェクトにて開発されている高機能なブートローダである。@media screen{.mw-parser-output .fix-domain{border-bottom:dashed 1px}}グラブと読まれることが多い。[要出典]大きく分けてバージョン0.9x系のGRUB Legacyと、1.9x系のGRUB 2の2種類がある。
GRUBはMultiboot Specification(英語版)のリファレンス実装でもある。Multiboot Specification(マルチブート仕様)とは、コンピュータにインストールされた複数のオペレーティングシステムを個別に起動する際にOSの選択肢をユーザーに提示したり、または、あるOSのパーティション上に存在する特定のカーネルに関する利用可能な設定を有効化する方法を提供するなどといった、マルチブートに関するクロスプラットフォームなシステムを規定する仕様である[注釈 1]。同仕様は現在フリーソフトウェア財団 (FSF) がメンテナンスしている。
もともとGRUBはGrand Unified Bootloader[注釈 2]という名前でGNUプロジェクトとは無関係のプロジェクトにて開発されていたが、GNUオペレーティングシステムは開発中のカーネルであるGNU HurdをブートするためGRUBを利用していた。のちに主要貢献者の助言もあり、公式なGNUプロジェクトとなった。現在ではGNUのカーネルであるGNU Hurdだけではなく、主にLinuxやFreeBSDなどのUnix系OSや、Solaris x86(10 1/06 release以降[7])でも利用されている。 GRUBは当初、エーリヒ・シュテファン・ブーリン(Erich Stefan Boleyn)により開発されており[8]、これはFSFが開発していたGNU Hurdオペレーティングシステムを起動させるための作業の一環であった[9]。1999年、主要貢献者であったゴルドン・マッツィヒカイト(Gordon Matzigkeit)と奥地秀則 GRUBは動的に設定でき、コンピュータのブートタイム中に異なるカーネルや初期RAMディスク (initrd) を選択するといった柔軟な設定変更が可能である。そのような目的を実現するために、GRUBはシンプルかつBashライクなコマンドラインインタフェースを提供しており、ユーザーは通常のブートメニューリストにその場で新たなブートシーケンスを追加することもできる。 GRUBは(起動処理の初期のコードがアセンブリ言語を利用している[10]のを除き、)移植性が極めて高く、複数の実行可能フォーマットをサポートしており、ディスクのジオメトリ変換に依存していない。GRUBはLogical Block Address(LBA)モードのサポートに加え、ほぼ全ての主要なUNIXファイルシステム、並びにVFAT及びNTFSなどMicrosoft Windowsで使用するファイルシステムもサポートしている。GRUBを利用することで、サポートしている任意のファイルシステム上に存在するファイルの中身をユーザーは見ることができる。 GRUBは様々なユーザインタフェースを用いて設定することができる。多くのLinuxディストリビューションではGRUBのブートメニューに表示される背景画像のカスタマイズなどを行うグラフィカルな設定ツールを用意している。またGRUBのテキストインタフェースを利用すると、リモート・ターミナルからシリアルポート経由で接続できる[11]。 GRUBはネットワーク経由でのOSイメージのダウンロードも可能で、従ってディスクレスシステムもサポートしている。
歴史
特徴