syslinuxでGRUBをチェーンロードする方法は?

syslinuxでGRUBをチェーンロードする方法は?

現在の設定状態のため、SyslinuxにGRUB2をデフォルトのブートローダにリンクロードさせるようにしたいと思います。 GoogleはGRUB2リンクからSyslinuxをロードする方法について多くの情報を提供していますが、私が探している反対のシナリオについては実際に役立つ情報を提供しません。

答え1

私は自分で試したことがありませんが、ArchLinux Wikiでこれらの詳細を見つけました。適切なタイトルの記事から:システムLinux。次のセクションがあります。他のLinuxシステムをチェーンロード

抜粋

他のブートローダ(Windowsなど)をロードするために接続することは、接続する明示的なブートローダがあるため非常に明白です。ただし、Syslinuxの場合、構成ファイルと同じパーティションにあるファイルのみをロードできます。したがって、別のパーティションに異なるバージョンのLinuxがあるが共有/ブートがない場合は、Extlinuxを使用する必要があります。デフォルトでは、Extlinuxはパーティションスーパーブロックにインストールでき、Syslinuxとは無関係にインストールされたMBRのブートローダとして呼び出すことができます。 ExtlinuxはSyslinuxプロジェクトの一部であり、syslinuxパッケージに含まれています。

次のようにGrub2を使用するシステムがあるとします。

  • /dev/sda3( /)
  • /dev/sda2( /boot)

次のようにインストールできます。

$ mount /dev/sda3 /mnt
$ mount /dev/sda2 /mnt/boot (only necessary for separate /boot)

その後、extlinuxインストール後に以下を実行します。

$ extlinux -i /mnt/boot/syslinux
$ cp /usr/lib/syslinux/{chain,menu}.c32 /mnt/boot/syslinux

そして、このファイルを作成してください/mnt/boot/syslinux/syslinux.cfg::

timeout 10

ui menu.c32

label Other Linux
    linux /boot/vmlinuz-linux
    initrd /boot/initramfs-linux.img
    append root=/dev/sda3 ro quiet


label MAIN
    com32 chain.c32
    append hd0 0

答え2

GRUBのファイルが/boot/grubsyslinuxと同じパーティションにあると仮定すると、boot.img次のように最初のGRUBイメージをチェーンロードできます。

LABEL GRUB
  MENU LABEL Grub2 chainload
  COM32 CHAIN.C32
  APPEND file=/boot/grub/boot.img

答え3

これを行う方法はいくつかあります。ブートローダのパブリックソースコードを持たないチェーンロードWindowsとは異なり、grubはさまざまな形式で提供されており、追加するのは難しくありません。 CostinStroieの方法はブートセクタをロードするバリアントを使用し、grubがインストールされており、レガシーBIOSがあり、ネットワークブートではないと仮定すると正常に動作します。他の grub イメージを使用することもできます。かつてsyslinuxカーネルキーワードを使用してロードできるLinuxイメージヘッダーを持つGrubレガシーイメージがありました。 (私はこれをしている人がわかりませんが)、grubをsyslinux固有のc32イメージにコンパイルできます。もう1つ興味深いのは、pxelinuxからpxe grubイメージをロードすることと、memdiskを使用してgrubフロッピーイメージをロードすることです。

答え4

GRUB2をPBR(MBRではない)、Syslinuxと同じディスク(sdaなど)の他のパーティション(sda3など)にインストールしたとすると、次のコマンドリンクからGRUB2をロードできます。

LABEL Other Linux (Linux installed on sda3 & Syslinux installed on sda)
  MENU LABEL Grub2 chainload
  COM32 chain.c32
  APPEND boot 3 

問題なくYUMIでテストされました。

関連情報