GNU GRUB

Boot loader package

GNU GRUB
原作者Erich Boleyn
開発者GNUプロジェクト
最初のリリース1995年; 30年前 (1995)
安定版リリース
2.12 [1]  / 2023年12月20日
リポジトリ
  • git.savannah.gnu.org/cgit/grub.git
言語アセンブリ言語C言語[2]
LinuxLinuxGNU/HurdmacOSBSD、(Solaris / illumos(x86ポート))、Windows(チェーンロード経由)
プラットフォームIA-32x86-64IA-64ARMPowerPCPower ISAs390xMIPSRISC-VLoongArchSPARC
対応言語英語およびその他
タイプブートローダー
ライセンス2007年:GPL-3.0以降[a] [4]
1999年:GPL-2.0以降[b]
ウェブサイトwww.gnu.org/software/grub

GNU GRUB ( GNU GRand Unified Bootloaderの略、一般にGRUBと呼ばれる)は、 GNUプロジェクトのブートローダーパッケージです。GRUBは、フリーソフトウェア財団マルチブート仕様リファレンス実装であり、マルチブート用に設定されたコンピュータにインストールされている複数のオペレーティングシステムのいずれかを起動するか、特定のオペレーティングシステムのパーティションで利用可能な 特定のカーネル構成を選択するかをユーザーに提供します。

GNU GRUBは、 Grand Unified Bootloader ( Grand Unified Theory [5]をもじったもの)と呼ばれるパッケージから開発されました。主にUnix系システム で使用されます。

操作

MBRパーティションのハードドライブ上のGRUB2 。ステージ1( )はパーティションのブートセクターboot.imgの1つに書き込むこともできます
GPTパーティションのハードドライブ上のGRUB2 、 BIOSファームウェアでの起動、またはUEFI互換モード(CSM)

ブート

コンピューターの電源を入れると、BIOSは主要な起動可能なデバイス(通常はコンピューターのハードディスク)を見つけ、マスターブートレコード(MBR)から初期ブートストラッププログラムを実行します。MBRはハードディスクの最初のセクターです。このブートストラッププログラムは1つのセクターに収まる必要があるため、小さくなければなりません。長い間、セクターのサイズは512バイトでした。2009年以降、アドバンスドフォーマットディスクと呼ばれる4096バイトのセクターサイズのハードディスクが利用可能になりましたが、2013年10月現在、このようなハードディスクは512eエミュレーションを使用して512バイトセクターでアクセスされています。[6] 従来のMBRパーティションテーブルは最大4つのパーティションをサポートし、合計64バイトを占有しますオプションのディスク署名(4 バイト)とディスク タイムスタンプ(6 バイト)を合わせると、ブートローダのマシン コードに使用できるバイト数は 434 ~ 446 バイトになります。このような小さなスペースは、非常に単純なブートローダには十分ですが、 [7]複雑で複数のファイル システムや、メニュー ベースのブート選択などをサポートするブートローダを格納するには十分ではありません。そのため、フットプリントが大きいブートローダは複数の部分に分割され、最小の部分は MBR に収まり、1 つ以上の大きな部分は MBR と最初のパーティションの間にある空きセクターなど、他の場所に格納されます。MBR のコードは、2 番目の部分を開始する以上のことはほとんど行いません。 [update]

ブートローダーの残りの部分の目的は、オペレーティングシステムを設定し、カーネルを起動することで、実際にオペレーティングシステムを起動することです。カーネルはほとんどの場合、適切なファイルシステム上に存在するファイルとして保存されますが、ファイルシステムの概念はBIOSには認識されていません。したがって、BIOSベースのシステムでは、ブートローダーの役割は、それらのファイルの内容にアクセスし、RAMにロードし実行 できるようにすることです

ブートローダーのアプローチの一つとして、基盤となるファイルシステムを理解せずにハードディスクセクターに直接アクセスしてカーネルイメージをロードする方法があります。通常、マップまたはマップファイル(カーネルイメージが占有する物理セクターのリストを含む補助ファイル)という形で、追加の間接レベル が必要になります。このようなマップは、新しいカーネルイメージのインストールやファイルシステムのデフラグなどにより、カーネルイメージがディスク上の物理的な位置を変更するたびに更新する必要があります。また、マップの物理的な位置が変更された場合、セクター間接参照メカニズムが機能し続けるように、ブートローダーのMBRコード内でマップの位置を更新する必要があります。これは面倒なだけでなく、システムアップデート中に何か問題が発生した場合、システムを手動で修復する必要が生じます。[8]

もう1つのアプローチは、ブートローダーに基盤となるファイルシステムを認識させ、カーネルイメージを実際のファイルパスを使用して設定およびアクセスすることです。そのためには、ブートローダーがサポートされているファイルシステムごとにドライバを備え、ブートローダー自体がそれらを理解してアクセスできるようにする必要があります。このアプローチにより、ハードディスクセクターのハードコードされた場所やマップファイルの存在が不要になり、カーネルイメージを追加または移動した後のMBRの更新も不要になります。ブートローダーの設定は通常のファイルに保存され、カーネルイメージを実際に起動する前に、ファイルシステムを認識した方法でブート設定を取得します。したがって、システム更新中に問題が発生する可能性が低くなります。欠点としては、このようなブートローダーはサイズが大きく複雑になります。[8]

GNU GRUBは、基盤となるファイルシステムを理解するという2番目のアプローチを使用します。ブートローダー自体は、MBRブートスキームに適合するように 複数のステージに分割されています

GRUBには2つの主要なバージョンが一般的に使用されています。GRUBバージョン0はGRUBレガシーと呼ばれ、 Linuxディストリビューションの古いリリースでのみ普及しています。GRUB 2はゼロから作成され、前身を置き換えることを目的としており、現在ではほとんどのLinuxディストリビューションで使用されています。

バージョン0(GRUBレガシー)

GRUBレガシーメニュー( Ubuntu 9.04インストールの一部として実行

GRUB 0.x は2段階のアプローチを採用しています。マスターブートレコード (MBR) には通常、GRUBステージ 1 が含まれますが、アクティブパーティションのブートセクタからGRUBステージ 1をチェーンロードする標準的な MBR 実装が含まれる場合もあります。ブートセクタのサイズが小さい (512 バイト) ため、ステージ 1では、ディスクの先頭付近 (最初の 1024 シリンダ内) の固定位置からいくつかのディスクセクタをロードして、GRUB の次のステージをロードする以上のことはほとんどできません。

ステージ1はステージ2を直接ロードできますが、通常はステージ1.5をロードするように設定されています。これは、ハードディスクの最初の30K ​​iBにあるMBRの直後、最初のパーティションの前にあります。このスペースが利用できない場合(通常とは異なるパーティションテーブル、特殊なディスクドライバー、 GPTまたはLVMディスク) 、ステージ1.5のインストールは失敗します。ステージ1.5のイメージにはファイルシステムドライバーが含まれているため、ファイルシステム内の任意の既知の場所(例:)からステージ2を直接ロードできます/boot/grub。その後、ステージ2はデフォルトの設定ファイルとその他の必要なモジュールをロードします。

バージョン2(GRUB 2)

GRUB 2 – MBRとGPTのパーティション分割とブートシーケンスの視覚化(BIOSファームウェアを使用するシステム)。

BIOSBIOSBIOS

  • ファームウェア
  • boot.img右側の最後の画像の図を参照してください。[9]diskboot.imggrub-installdiskboot.imgcore.imgcore.imggrub-install
    • On MBR partitioned disks, core.img (stage 1.5) is stored in the empty sectors (if available) between the MBR and the first partition. Recent operating systems suggest a 1 MiB gap here for alignment (2047 512-byte, or 255 4KiB, sectors). This gap used to be 62 sectors (31 KiB) as a reminder of the sector number limit of Cylinder-Head-Sector (C/H/S) addressing used by BIOS before 1996, therefore core.img is designed to be smaller than 32 KiB.
    • On GPT partitioned disks core.img is written to its own partition which must be flagged "BIOS_grub", must not be formatted and can be as tiny as 1 MiB.
  • stage 2: core.img loads /boot/grub/i386-pc/normal.mod from the partition configured by grub-install. If the partition index has changed, GRUB will be unable to find the normal.mod, and presents the user with the GRUB Rescue prompt.
  • Depending on how GRUB2 was installed, the /boot/grub/ is either in the root partition of the Linux distribution, or in the separate /boot partition.
  • after normal.mod loaded: normal.mod parses /boot/grub/grub.cfg, optionally loads modules (eg. for graphical UI and file system support) and shows the menu.

Startup on systems using UEFI firmware

  • /efi/<distro>/grubx64.efix64 UEFIシステムの場合)はEFIシステムパーティションにファイルとしてインストールされ、 boot.imgMBRセクター0にファイルを置くことなく、ファームウェアによって直接起動されます。このファイルはstage1とstage1.5に似ています。
  • /boot/grub/は、EFIシステムパーティションまたは別の/bootパーティションなどにインストールできます。
  • x64 UEFIシステムの場合、stage2は/boot/grub/x86_64-efi/normal.modファイルとその他の/boot/grub/ファイルです。

起動後

GRUBは、grub-installによって検出されたオペレーティングシステム(OS)からユーザーが選択できるメニューを表示します。GRUBは、ユーザー定義のタイムアウト後に指定されたOSを自動的にロードするように設定できます。タイムアウトが0秒に設定されている場合、コンピューターの起動中にを押し続ける⇧ Shiftか、UEFIを使用してロードされた一部の最近のGRUBバージョンでは、すばやく押すことで、ブートメニューにアクセスできます。[10]Esc

オペレーティングシステム選択メニューでは、GRUBはいくつかのコマンドを受け入れます

  • を押すと、オペレーティングシステムを起動する前に、選択したメニュー項目のカーネルパラメータを編集できます。GRUBでこれを行う理由(つまり、すでに起動しているシステムのパラメータを編集しない理由)は、システムが起動に失敗したなどの緊急事態である可能性があります。カーネルパラメータ行を使用すると、カーネルに対して無効化(ブラックリスト化)するモジュールを指定することができます。これは、特定のカーネルモジュールが壊れていて起動できない場合に必要になる可能性があります。たとえば、カーネルモジュールをブラックリストに登録するにはカーネルパラメータの末尾に を追加することができます。envidia-currentmodprobe.blacklist=nvidia-current
  • を押すと、ユーザーはGRUBコマンドラインを入力します。GRUBコマンドラインはGNU Bashに似ていますが、行編集機能のサブセットとGRUB固有のコマンドのみを実装しています。[11]c

ブートオプションが選択されると、GRUBは選択されたカーネルをメモリにロードし、カーネルに制御を渡します。あるいは、GRUBはチェーンロードを使用して、ブートプロセスの制御を別のブートローダーに渡すこともできます。これは、マルチブート仕様をサポートしていない、またはGRUBによって直接サポートされていない オペレーティングシステムをロードするために使用される方法です。

パーティションの識別(UUIDによる回避策)

コンピュータには複数のハードディスクを接続できます。これらのハードディスクはSATAポートで識別できます。コンピュータがPOSTするたびに、特定のマザーボードポートに接続されたハードディスクに同じ識別子(例: )が割り当てられますhd0, hd1, …。しかし、このような一貫性が保証できない場合はどうでしょうか?接続されたハードディスクの配置が起動ごとに変化した場合はどうなるでしょうか?ハードディスクが別のコンピュータに接続された場合はどうなるでしょうか?

GRUBレスキューコンソール( をロードした後に利用可能)またはGRUBコンソール( をロードした後に利用可能)ls入ると、利用可能なすべてのハードディスクとパーティションのリストを取得できます。たとえば、)には、実際のハードディスクとパーティションに割り当てることができる番号が表示されます。 core.imgnormal.modls (hd0,5)/

hd0"デバイス番号によるハードディスクの「 」スタイルの番号付けの一貫性は保証できないため、GNU GRUBはパーティション(実際にはファイルシステムのインスタンス)を識別するために、 Universally Unique Identifier (UUID)を使用できます。

ファイルシステムext2、ext3、ext4、およびxfsは、インスタンスを一意に識別するためにUUIDを使用します。UUIDは、パーティションがフォーマットされるときに作成されます。UUIDはファイルシステムの一部であり、スーパーブロックに書き込まれます。フォーマット以外のすべての操作では、UUIDは変更されません。UUIDを変更したり、 ddを使用してパーティション全体を複製すること で複製したりすることができます

このファイルgrub.cfgはGRUBの設定に使用されます。起動時に実行されるコマンドが含まれています。有効なファイルが存在しないとgrub.cfg、GRUBはプロンプトを表示します。

最小限のgrub.cfgファイルには、次の2つのコマンドのみが含まれる場合があります(初期RAMディスクを参照)。

linux (hd0,1)/kernel/vmlinuz-3.20.1-4 ro # 最初のハードディスクの最初のパーティションの/kernelディレクトリにある「vmlinuz-…」というファイル名をLinuxカーネルイメージとして使用します。
initrd (hd0,1)/boot/initrd.img-3.20.1-4 # 最初のハードディスクの最初のパーティションの/bootディレクトリにある「initrd.img-…」というファイルを初期RAMディスクとして使用します。

より洗練された方法ではgrub.cfg、表示されるメニューを記述し、複数の色を使用し、背景画像を指定する場合があります。

歴史

GRUBは当初、フリーソフトウェア財団によって開発されたオペレーティングシステム GNU / Hurdの起動作業の一環として、Erich Boleynによって開発されました[12] 1999年、Gordon MatzigkeitとYoshinori K. OkujiはGRUBをGNUプロジェクトの公式ソフトウェアパッケージとし開発プロセスを一般に公開しました。[12] 2014年現在、Linuxディストリビューションの大部分はGNU GRUB 2を採用しています。 [update]

開発

GRUBバージョン0(別名「GRUB Legacy」)は開発が終了しており、段階的に廃止されています。[13] GNU GRUBの開発者はGRUB 2に注力するようになりました。[14] GRUB 2は、GNU GRUBをよりクリーンで、堅牢で、移植性が高く、強力にすることを目標に、完全に書き直されました。GRUB 2はPUPAという名前で始まりました。PUPAは、日本の情報処理推進機構(IPA)によってサポートされていました。PUPAは、GRUBバージョン0.9xがGRUB Legacyに改名された2002年頃にGRUB 2の開発に統合されました。

GRUB 2プロジェクトの目標には、x86以外のプラットフォームのサポート、国際化とローカリゼーション、非ASCII文字、動的モジュール、メモリ管理、スクリプトミニ言語、プラットフォーム固有(x86)コードからプラットフォーム固有モジュールへの移行、オブジェクト指向フレームワークなどがあります。GNU GRUBバージョン2.00は、2012年6月26日に正式にリリースされました。[15] [16]

最も広く使用されているLinuxディストリビューションのうち3つは、GRUB 2を主流のブートローダーとして使用しています。[17] [18] [19] Ubuntuは、2009年10月の9.10バージョンでデフォルトのブートローダーとして採用しました。[20] Fedoraは、2011年11月にリリースされたFedora 16でこれに続きました。[21] OpenSUSEは、2012年9月の12.2リリースでGRUB 2をデフォルトのブートローダーとして採用しました。[22] Solarisも、Solaris 11.1リリースでx86プラットフォームにGRUB 2を採用しました。[23] Buildrootも、 x86およびx86_64ターゲットにGNU GRUBを使用しています

2015年後半、バックスペースキーを28回押してログインパスワードを回避する脆弱性が発見され、すぐに修正されました。[24] [25]

亜種

GNU GRUBはフリーソフトウェアであるため、いくつかの亜種が作成されています。GRUBメインラインにマージされていない注目すべきものをいくつかご紹介します。

  • OpenSolarisには、Solaris VTOCスライス、64ビットカーネルの自動選択、ZFSからのブート(圧縮と複数のブート環境に対応)をサポートする修正版GRUB Legacyが含まれています。 [26] [27]
  • Google Summer of Code 2008では、 ext4形式のパーティションからのブートを可能にするGRUB Legacyをサポートするプロジェクトがありました[28]
  • Syllableプロジェクトは、 AtheOSファイルシステムからシステムをロードするための修正版GRUBを作成しました[29]
  • TrustedGRUBは、トラステッド・プラットフォーム・モジュール(TPM)を使用して、システムの整合性とブートプロセスのセキュリティの検証を実装することで、GRUBを拡張します。 [30]
  • Intel BIOS実装テストスイート(BITS)は、BIOS、特にIntelプロセッサー、ハードウェア、およびテクノロジーの初期化をテストするためのGRUB環境を提供します。BITSはPythonによるスクリプトをサポートし、ACPI、CPUおよびチップセットレジスタ、PCI、PCI Expressなど、ハードウェアプラットフォームのさまざまな低レベル機能にアクセスするためのPython APIが含まれています。[31]
  • GRUB4DOSは、GRLDR設定以外のすべてを1つのイメージファイルにまとめることで、DOSおよびMicrosoft Windowsへのインストールエクスペリエンスを向上させるGRUBレガシーフォークです。DOSから直接ロードすることも、NTLDRまたはWindowsブートマネージャーによってロードすることもできます。[32] [33] GRUB4DOSは現在も開発が進められており、2021年現在UEFIをサポートしています。[34]

ユーティリティ

GRUB設定ツール

StartUp-Manager(GRUBの設定に使用されるプログラム)

様々なディストリビューションで使用されているセットアップツールには、GRUBをセットアップするためのモジュールが含まれていることがよくあります。たとえば、SUSE LinuxおよびopenSUSEディストリビューションYaST2 、 Fedora / RHELディストリビューションのAnacondaなどです。StartUp-ManagerとGRUB Customizerは、Debianベースのディストリビューション用のグラフィカル設定エディタです。StartUp-Managerの開発は、リード開発者が個人的な理由でプログラムを積極的に開発していないため、2011年5月6日に停止しました。[35] GRUB CustomizerはArchベースのディストリビューションでも利用できます。

GRUB 2には、KDEコントロールモジュールがあります。[36] [37]

GRLDR ICEは、GRUB4DOSのgrldrファイルのデフォルト設定を変更するための小さなツールです。[38]

ブート修復ユーティリティ

Boot-Repairは、GRUBおよびMicrosoft Windowsブートローダーで頻繁に発生するブート関連の問題から回復するためのシンプルなグラフィカルツールです。このアプリケーションはGNU GPLライセンスの下で利用可能です。Boot-Repairは、Debian、Ubuntu、 Mint、Fedora、openSUSE、Arch Linuxなど、複数のLinuxディストリビューションでGRUBを修復できます

GRUBカスタマイザー

Windows用インストーラー

Grub2WinはWindows用のオープンソースソフトウェアパッケージです。これにより、GNU GRUBをWindowsディレクトリから起動できるようになります。セットアッププログラムは、GNU GRUBバージョン2.12をNTFSパーティションにインストールします。その後、Windows GUIアプリケーションを使用して、GRUBブートメニュー、テーマ、UEFIブート順序、スクリプトなどをカスタマイズできます。すべてのGNU GRUBスクリプトとコマンドは、UEFIとレガシーシステムの両方でサポートされています。Grub2Winは、Windows、Ubuntu、openSuse、Fedora、その他多くのLinuxディストリビューションのマルチブート用にGRUBを設定できます。SourceForgeGNU GPLライセンスの下で無料で入手できます。

代替ブートマネージャー

GRUBの強みは、サポートされているプラ​​ットフォーム、ファイルシステム、およびオペレーティングシステムの範囲が広いことであり、ディストリビューションや組み込みシステムのデフォルトの選択肢となっています。

ただし、エンドユーザーを対象とした、より使いやすいユーザーエクスペリエンス、グラフィカルなOSセレクター、よりシンプルな設定を提供するブートマネージャーもあります

  • rEFInd – Macintoshスタイルのグラフィカルブートマネージャー。UEFIベースのコンピューター専用(BIOSはサポートされていません)。
  • CloverEFI – BIOSおよびUEFIベースのコンピューター用のMacintoshスタイルのグラフィカルブートマネージャー。TianoCoreプロジェクトの大幅に改良されたDUETを使用してUEFIをエミュレートし、BIOSシステムでもFATでフォーマットされたパーティションが必要です。利点として、パーティションブートセクターに基本的なファイルシステムドライバーがあるため、第2ステージまたは第3ステージの脆弱性や悪名高いGRUB Rescueプロンプトを回避できます。ユーザーインターフェースはrEFIndに似ており、どちらも廃止されたブートマネージャーrEFItから継承されています。

非グラフィカルな代替手段:

  • systemd-boot – テキストベースのOS選択メニューを備えた、軽量のUEFI専用ブートマネージャー。

ハウツーとトラブルシューティング

ディストリビューションのWikiには、一般的な問題やカスタムセットアップに関する多くの解決策が掲載されており、役立つ可能性があります。

ドキュメント

  • GRUBマニュアル – すべてのコマンドを含む、最も詳細なドキュメント
  • 公式ウェブサイト
  • GRUB wiki 2010年にアーカイブ

入門記事

技術的詳細

参照

注記

  1. ^ 2007年7月21日以降はGPL-3.0以降。[3]
  2. ^ 1999年から2007年7月2日まではGPL-2.0以降。

参考文献

  1. ^ Daniel Kiper (2023年12月20日). "GRUB 2.12リリース" . 2023年12月20日閲覧。
  2. ^ "Ohloh Analysis Summary – GNU GRUB". Ohloh . 2009年2月4日時点のオリジナルからアーカイブ。 2010年5月12日閲覧
  3. ^ 「GNU 一般公衆利用許諾書バージョン3への移行」。2007年7月21日。2021年10月27日時点のオリジナルよりアーカイブ。2021年10月27日閲覧
  4. ^ "GNU GRUB license". Archived from the original on September 11, 2013.
  5. ^ EnterpriseLinux.com Definitions Archived December 3, 2010, at the Wayback Machine Definition of GRand Unified Bootloader
  6. ^ Smith, Ryan (December 18, 2009). "Western Digital's Advanced Format: The 4K Sector Transition Begins". AnandTech. Archived from the original on March 12, 2012. Retrieved October 10, 2013.
  7. ^ "mbldr (Master Boot LoaDeR)". mbldr.sourceforge.net. 2009. Archived from the original on March 16, 2013. Retrieved October 10, 2013.
  8. ^ a b "Booting and Boot Managers". SUSE. Archived from the original on September 17, 2013. Retrieved October 10, 2013.
  9. ^ "GNU GRUB Manual 2.04". www.gnu.org. Archived from the original on April 3, 2018. Retrieved November 10, 2020.
  10. ^ Hoffman, Chris (September 22, 2014). "How to Configure the GRUB2 Boot Loader's Settings". HowToGeek.com. Archived from the original on April 28, 2015. Retrieved April 25, 2015.
  11. ^ "GNU GRUB documentation". Archived from the original on April 18, 2014. Retrieved April 16, 2014.
  12. ^ a b GRUB Manual – 1.2 Grub History Archived April 16, 2014, at the Wayback Machine. Gnu.org (2012-06-23). Retrieved on 2012-12-01.
  13. ^ GNU GRUB – GRUB Legacy Archived April 20, 2014, at the Wayback Machine. Gnu.org. Retrieved on 2012-12-01.
  14. ^ 「GNU GRUB – GRUB 2」。2008年6月7日時点のオリジナルよりアーカイブ2014年4月18日閲覧。{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  15. ^ Serbinenko, Vladimir (2012年6月28日). 「GRUB 2.00 リリース」。grub -devel (メーリングリスト). 2013年1月13日時点のオリジナルよりアーカイブ2012年12月1日閲覧。
  16. ^ Larabel, Michael. 「GRUB 2.00 ブートローダーが正式にリリースされました」。Phoronix.com 2016年9月13日時点のオリジナルよりアーカイブ2012年6月28日閲覧
  17. ^ Haddon, Tom (2012年1月26日). 「Ubuntu入門」. WebJunction. 2012年10月28日時点のオリジナルよりアーカイブ。 2012年9月21日閲覧
  18. ^ Janssen, Cory. 「Red Hat Enterprise Linux (RHEL)とは?」. Technopedia. 2012年10月3日時点のオリジナルよりアーカイブ2012年9月21日閲覧。
  19. ^ Varghese, Sam (2012年9月20日). 「SUSEの最高責任者、民営化以降の進捗状況を報告」. 2012年9月22日時点のオリジナルよりアーカイブ2012年9月21日閲覧
  20. ^ 「9.10 Karmic GRUBバージョン」。Distrowatch.com。2012年5月9日時点のオリジナルからアーカイブ2012年7月8日閲覧。
  21. ^ GRUB 2。2012年8月5日、Wayback Machineにアーカイブ。FedoraProject。2012年12月1日閲覧。
  22. ^ openSUSE:今後の機能 – openSUSE。2012年9月20日、Wayback Machineにアーカイブ。En.opensuse.org。2012年12月1日閲覧。
  23. ^ Solaris 11.1。2018年6月19日、 Wayback Machineにアーカイブ。Oracle。2015年3月19日閲覧
  24. ^ Khandelwal, Swati (2015年12月16日). 「Backspaceキーを28回押すだけでLinuxコンピュータにハッキングできる」thehackernews.com . 2017年4月30日時点のオリジナルよりアーカイブ。 2017年3月13日閲覧
  25. ^ Marco and, Hector; Ripoll, Ismael (2015年12月). 「Back to 28: Grub2 Authentication 0-Day」. 2017年5月17日時点のオリジナルよりアーカイブ2017年3月13日閲覧
  26. ^ x86: ブート時にGRUBメニューを編集してブート動作を変更する Archived July 19, 2011, at the Wayback Machine、x86ベースシステムでのSolarisブート動作の変更(タスクマップ) – システム管理ガイド:基本管理
  27. ^ x86:サポートされているGRUB実装 2009年10月21日アーカイブ、Wayback Machine、(システム管理ガイド:基本管理)– Sun Microsystems
  28. ^ Peng, Tao. 「Grub4ext4」。2016年12月31日アーカイブ2017年6月13日閲覧。
  29. ^ 2.3 Syllableが独自のGRUBバージョンを持っているのはなぜですか? 2011年1月7日アーカイブ、Wayback Machine、Syllableドキュメント
  30. ^ 「TrustedGRUBプロジェクト」。sourceforge.net 2013年6月5日。2014年11月29日アーカイブ。 2014年11月18日閲覧
  31. ^ BIOS実装テストスイート 2016年10月19日アーカイブ、Wayback Machine、公式BITSウェブサイト
  32. ^ 「grub4dos」。Googleサイト。2019年4月7日時点のオリジナルからアーカイブ2019年4月7日閲覧。
  33. ^ 「GRUB for DOS Introduction」。grub4dos.sourceforge.net 2007年。2019年4月7日時点のオリジナルからアーカイブ。 2019年4月7日閲覧
  34. ^ GitHub上のgrub4dos
  35. ^ 「StartUp-Manager is dead : StartUp-Manager」。launchpad.net 2011年5月6日。2020年8月1日時点のオリジナルからアーカイブ2017年4月9日閲覧
  36. ^ GRUB2 ブートローダーエディタ 2015年9月7日、Wayback Machineにアーカイブ。Kde-apps.org (2012-06-18)。2012年12月1日閲覧。
  37. ^ "Grub2 KCM". KDE-Apps.org。2015年9月6日時点のオリジナルからのアーカイブ2011年1月27日閲覧。
  38. ^ "Grub4dos チュートリアル". Narod.ru。2015年5月3日時点のオリジナルからのアーカイブ。 2015年4月25日閲覧
Retrieved from "https://en.wikipedia.org/w/index.php?title=GNU_GRUB&oldid=1321980206#Variants"