GRUBとSYSLINUXの違いは何ですか?


13

この質問は、Ubuntuとその派生物がデスクトップリリースのISOイメージでSYSLINUXGRUBの両方のブートローダーを使用しているという私の発見に関連しています。

32ビットISOイメージから起動する場合、SYSLINUXが起動プロセス(美しいスプラッシュ画面を表示する起動、進行状況ドットアニメーション付き)を処理すると言われています。

ただし、64ビットISOイメージから起動する場合は、代わりにGRUBが使用されます(画面のGNU GRUB version...上部にはっきりと表示される白黒の画面)。

したがって、私の質問を言い換えると、UbuntuがそのISOイメージでGRUBとSYSLINUXを使用するようになった違いは何ですか?代わりにどちらかを使用しないのはなぜですか?

明確にするために

私の説明とハードウェアの可用性が不足しているため、この質問はどういうわけか混乱しています。この回答を追加(または下にスクロール)して、64ビットISOイメージの説明を改善しました。

ではない答えは何ですか

以下のコメントスレッドは既にいくつかのアイデアを提供していますが、ここで明確にする必要があります。どちらか一方がEFIを適切にサポートしているからではありません。この質問の目的は、EFIのサポートだけでなく、根本的な理由をより詳しく調べることです。

たとえば、「なぜISOイメージでGRUBとSYSLINUXの両方が使用されているのですか?」である-これは、「GRUBをサポートEFI対応システムに含まれており、SYSLINUXが常に含まれており、BIOSのみのシステム上で動作している」、などの答え与えるかもしれない私の意図を。

EFIのサポートはおそらく回答の一部であることを認めなければなりません。

しかし、それだけで答えるべきはないかと思います。UbuntuがISOイメージに2つのブートローダーを含めるようになったのは、EFIサポートだけではないに違いありません。または、本当にEFIサポートが唯一の違いですか?もしあれば、これに答えてください。


プログレスドットアニメーションは、グラフィックに問題がないことを前提として、どちらの場合でも表示されます。また、64ビットUEFIイメージと他のイメージの違いがあるのに、Live CDとLive USBを太字で表示するのはなぜですか?UEFIイメージをCDで試し、Syslinuxを入手しましたか?
muru 2015

GRUBは64ビットUEFIをサポートするイメージでのみ使用され、他のイメージでは使用されないため、混乱が増大します。反対の方法をお勧めします。「ライブCD / USB」の文言を削除し、使用した画像をそのまま使用します。違いがそこにあるからです。
muru 2015

1
さて、それに応じてキーワードを置き換えてください:Live CD-> 32-bit ISO image; ライブUSB-> 64ビットISOイメージ。
clearkimura 2015

SyslinuxはBIOSブートローダーです。FAT32フォーマットのパーティションの32ビットバージョンと64ビットバージョンの両方に使用されます。BIOS専用のWindowsタイプのブートローダーです。Grub2はUEFIブートでのみ使用されます。彼らはおそらくBIOSでgrub2を使用することができますが、常に大きくなり、歴史的にはsyslinuxを使用してきました。特に理由は不明です。さまざまなブートローダーにいくつかのマイナーな利点があるため、UEFIまたはBIOSのどちらの方法でブートするかがわかります。
oldfred 2015

@oldfred ISOイメージのファイルシステムはISO9660であり、FAT32ではありません。SyslinuxはEFIがサポートされているマシンでも動作するようですが、なぜSyslinuxとGrubの両方を使用するのですか?
clearkimura 2015

回答:


14

これは私の最終的な回答です。これは、Ubuntu Wikiのこのリストの 2000以上のページ内で一致するキーワードによって検出された情報に基づいています。私が見つけたのは、Ubuntuの開発と仕様(日付:単語、単語、単語)の日付が記されたメモでした。

操作、間違った名前

まず、ブートローダーの名前を明確にします。

  • すべて大文字の名前はブートローダーを指します(例:GRUB、SYSLINUX)

  • 先頭が大文字の名前は、プロジェクト名、またはブートローダーファミリのいくつかまたはすべてのバリアント(Syslinuxなど)を指します。

  • 特に、「Syslinux」は「SYSLINUX」、「ISOLINUX」、「EXTLINUX」、「PXELINUX」を含むブートローダーのコレクションです。

命名規則に従って質問は実際に「SYSLINUX」ではなく「El Torito no-emulation」ブートローダーの「ISOLINUX」を参照しています。おそらく、後者は昔は前者と同じ意味で使用されています。じゃあ心配しないで。

簡単な歴史

2005:GRUBではなく、ISOLINUXがUbuntu CDブートローダーに選択されました。

代替のブートローダーとしてGRUBが以前に提案されていましたが、このアプローチはWartyライブCDで試され、ISOLINUXを使用したインストールCDと比較して、起動性の大幅な低下が観察されました。ISOLINUXに基づくソリューションに固執することは、長期的にサポートされるリリースにとって最も適切なアプローチであると感じています。

-CdBootloaderから-Ubuntu Wiki

2006:gfxbootが追加されました。これは、2010年に引用された情報をサポートします。

Dapperでは、amd64およびi386 CDイメージにgfxbootを追加し、それらのアーキテクチャでUbuntu CDイメージを起動するときにユーザーが最初に目にするフレンドリーなグラフィカルブートメニューを提供しました[...]

-PortableGfxbootから-Ubuntu Wiki

2009:ISOLINUX(SYSLINUXと表記)は、Ubuntu CDのブートに引き続き使用されます。

UbuntuのライブCDは、SYSLINUXを使用して起動しますが、グラフィックスモードでカーネルを起動するためのサポートは含まれていません。つまり、ライブCDはグラフィカルブートメニューを表示し、テキストモードに戻ってカーネルを起動し、通常は後でグラフィックモードに戻ります。その結果、ライブCDは現在、通常のインストール済みシステムよりも起動時にちらつきが大きくなります。

-BootGraphicsArchitectureから-Ubuntu Wiki

2010:ISOLINUXが使用されましたが、UEFIサポートにはGRUB 2が必要です。

現在のUbuntu CDはISOLINUXを使用し、SuSEのgfxboot拡張機能がグラフィカルメニューを実装しています。

これは維持するのがかなり難しいことが証明されており、Ubuntuに含まれているテーマコードを理解している人は1人だけです[...]

[以来]最近、GRUB 2には上流にグラフィカルメニューサポートが追加されました。これに移行すると、メンテナンスの負荷を軽減できる可能性があります。EFIをサポートするためにとにかくGRUB 2を使用する必要があるようで、CDに2つの異なるブートローダーを構成する必要があるのは望ましくありません。

-FoundationsTeam / Specs / MaverickCDBootから-Ubuntu Wiki

Foundations-m-grub2-boot-framebufferに従って、EFIでグラフィカルブートメニューをサポートする機能を調べる必要があります。GRUBは、UGAおよびGOPグラフィックをある程度サポートしています。

これには、CDの起動にGRUBを使用するか、少なくともそれをサポートするための最小限の構成が必要です[...]

-FoundationsTeam / Specs / MaverickUefiSupportから-Ubuntu Wiki

違いが見つかったかどうか

簡単な歴史に続いて、私たちは今それを理解しています:

  • ISOLINUXが好まれたのは、GRUBが当時(2005年)に後退していたためです。

  • ブート遷移中にちらつきを引き起こすグラフィックモードでカーネルを起動するためのサポートの欠如(2009)にもかかわらず、ISOLINUXは依然として好まれました。

  • ISOLINUXはgfxbootとともに使用されてグラフィカルメニューを提供していましたが、これは実装されていなかったか、GRUBでは不可能でした(2010)

  • GRUBは、Maverick以降(2010年以降)にUEFIサポートでブートするために後で追加されました

その後、UbuntuライブCDに2つのブートローダーを含めたのはGRUBとSYSLINUXの違いではないことに気付きました。

基本的な理由

私の読書から、これらの裏付けとなる事実は実際にそれをほのめかしました:

  1. UbuntuライブCDは特定のブートローダーを使用しており、グラフィカルメニューとテーマの提供、およびブートスプラッシュを表示するためのスムーズな移行を提供するためのサポートが向上しています。この場合、SYSLINUX(正確にはISOLINUX)。

  2. UEFIシステムがますます一般的になると、UEFIサポートで起動するために、UbuntuのみがUbuntuライブCDにGRUB(正確にはGRUB 2)を含めました。

何よりも、これは私が1年以上にわたって抱いていた疑問に答えるものであり、この答えがついに私の好奇心を静めました。

TL; DR GRUBとISOLINUXは両方とも、UbuntuライブCDで排他的な理由で使用されています。どちらもライブCDに含まれており、ブートエクスペリエンスとハードウェアサポートが向上しています。


良い研究。Ubuntuでの2009/10年以前のgrubに関する情報は、grubのレガシーでした。その後、Ubuntuはデフォルトとしてgrub2に切り替えました。grubのレガシーがUEFIで動作したとは思いませんが、grubのレガシーを新しいシステムで動作させるための多くの機能は、多くの場合ディストリビューションによって行われていました。
-oldfred

6

これは私の予備的な回答です。これにより、私の質問の一部がよりよく理解されますが、それでも質問自体には回答しません。

以下の説明:

  • 32ビットISOイメージとは異なり、64ビットISOイメージには実際にはGRUBとSYSLINUXの両方が含まれています(これは確認済みで/boot/grubあり、/isolinuxディレクトリは両方ともISOイメージにあります)。
  • EFI対応マシンでISOイメージを起動すると、GRUBが表示されます。
  • SYSLINUXは、BIOSのみのマシンでISOイメージを起動すると表示されます。
  • プリマスは、GRUBまたはSYSLINUXが表示されているかどうかに関係なく、進行状況のドットアニメーションを処理します(これは、最初のコメントで@muruによって正しく示唆されていました)

ブートエクスペリエンス:私のマシンでもEFIが実装されているため、「EFI対応」と書きましたが、ライブUSBからUbuntu(私の場合はXubuntu 14.04)をブートするために「セキュアブート」機能(1、2)をオフにしていました。

  1. Xubuntu 14.04 64ビットリリースは、ローカルディスク(Live USBではない)にインストールされた、セキュアブートがオンになっているときにブートできます。

  2. Xubuntu 16.04 64ビットリリースは、セキュアブートがオンになっているときにブートできます。

試した方法:物理DVDメディアを使って外付け光学ドライブから起動する代わりに、仮想化ソフトウェア(私の場合はVirtualBox 4.3)を使用して、上記のケースを証明しました。

  • VirtualBox 4.3にはすでにEFIとBIOSシステムを切り替えるオプションがあり、[ マシン]> [設定]> [システム]> [マザーボード]-[拡張機能:EFIを有効にする(特別なOSのみ)]にあります。デフォルトでは、このオプションはオフになっています(3)。

  • 仮想マシンは、64ビットホストシステムで実行される64ビットバージョンのVirtualBoxを使用して作成する必要があります。Xubuntu 14.04 64ビットISOイメージが私の次の試みで使用されています。

  • 最初の試み:私はISOイメージをデフォルト設定で実行しました(これはBIOSシステムを想定しています)。仮想マシンの背景が紫色になり、下部にアイコンが表示されます。これはSYSLINUXです。

  • 2回目の試行:マシンを閉じて設定に移動し、オプション(3)をチェックしてEFIを有効にしました。同じISOイメージを使用して、仮想マシンを再起動しました。今回はGNU GRUB version...、モノクロのテキストで表示されるまで少し時間がかかりました。これがGRUBです。

  • どちらの試行でも、起動プロセスを続行すると、起動中に進行状況のドットアニメーションが表示されます。

  • Ubuntu Wiki のページのこのセクションには、上記の2つのケースを説明するスクリーンショットが含まれています。

免責事項:この回答は、ブートエクスペリエンスと試行された方法を明確にすることを目的としています。しかし、これは私の質問に対する最終的な回答ではありません。質問に自己回答できた場合、最終的な回答は別途投稿されます。


この情報をありがとう!ブート時にsyslinuxを作成した.isoイメージをrufosを使用する場合にのみ、USBからブートを開始できましたが、「dd <iso>」コマンドではできません-syslinuxが作成されないことに気付きました。問題は、hddのubuntuに問題があることです。だから私は理解しません、なぜgrubがhddで動作するのか、しかしusbでは動作しないのですか?
2017

@ransh「どのメソッドがどのブートローダーをインストールするか」を理解したいと思うかもしれませんが、このQAはそれに対処していません。コメントは議論のためではないので、あなたは新しい質問としてあなたに尋ねるべきです。
clearkimura 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.